(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{1006:function(e,t,a){a(1007),a(1017)},1007:function(e,t,a){var n=a(1008);"string"===typeof n&&(n=[[e.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};a(1015)(n,r);n.locals&&(e.exports=n.locals)},1008:function(e,t,a){var n=a(1009);(e.exports=a(1010)(!1)).push([e.i,'/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type="button"],\ninput[type="reset"],\ninput[type="submit"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type="checkbox"],\ninput[type="radio"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type="number"]::-webkit-inner-spin-button,\ninput[type="number"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type="search"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333333;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role="button"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: 400;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: 700;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: "\\2014   \\A0";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: "";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: "\\A0   \\2014";\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\n.container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.row {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.row-no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n.row-no-gutters [class*="col-"] {\n  padding-right: 0;\n  padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1,\n  .col-sm-2,\n  .col-sm-3,\n  .col-sm-4,\n  .col-sm-5,\n  .col-sm-6,\n  .col-sm-7,\n  .col-sm-8,\n  .col-sm-9,\n  .col-sm-10,\n  .col-sm-11,\n  .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1,\n  .col-md-2,\n  .col-md-3,\n  .col-md-4,\n  .col-md-5,\n  .col-md-6,\n  .col-md-7,\n  .col-md-8,\n  .col-md-9,\n  .col-md-10,\n  .col-md-11,\n  .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1,\n  .col-lg-2,\n  .col-lg-3,\n  .col-lg-4,\n  .col-lg-5,\n  .col-lg-6,\n  .col-lg-7,\n  .col-lg-8,\n  .col-lg-9,\n  .col-lg-10,\n  .col-lg-11,\n  .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ntable col[class*="col-"] {\n  position: static;\n  display: table-column;\n  float: none;\n}\ntable td[class*="col-"],\ntable th[class*="col-"] {\n  position: static;\n  display: table-cell;\n  float: none;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  min-height: 0.01%;\n  overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: 700;\n}\ninput[type="search"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-appearance: none;\n  appearance: none;\n}\ninput[type="radio"],\ninput[type="checkbox"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type="radio"][disabled],\ninput[type="checkbox"][disabled],\ninput[type="radio"].disabled,\ninput[type="checkbox"].disabled,\nfieldset[disabled] input[type="radio"],\nfieldset[disabled] input[type="checkbox"] {\n  cursor: not-allowed;\n}\ninput[type="file"] {\n  display: block;\n}\ninput[type="range"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type="file"]:focus,\ninput[type="radio"]:focus,\ninput[type="checkbox"]:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type="date"].form-control,\n  input[type="time"].form-control,\n  input[type="datetime-local"].form-control,\n  input[type="month"].form-control {\n    line-height: 34px;\n  }\n  input[type="date"].input-sm,\n  input[type="time"].input-sm,\n  input[type="datetime-local"].input-sm,\n  input[type="month"].input-sm,\n  .input-group-sm input[type="date"],\n  .input-group-sm input[type="time"],\n  .input-group-sm input[type="datetime-local"],\n  .input-group-sm input[type="month"] {\n    line-height: 30px;\n  }\n  input[type="date"].input-lg,\n  input[type="time"].input-lg,\n  input[type="datetime-local"].input-lg,\n  input[type="month"].input-lg,\n  .input-group-lg input[type="date"],\n  .input-group-lg input[type="time"],\n  .input-group-lg input[type="datetime-local"],\n  .input-group-lg input[type="month"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  cursor: pointer;\n}\n.radio input[type="radio"],\n.radio-inline input[type="radio"],\n.checkbox input[type="checkbox"],\n.checkbox-inline input[type="checkbox"] {\n  position: absolute;\n  margin-top: 4px \\9;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: 400;\n  vertical-align: middle;\n  cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\n.form-control-static {\n  min-height: 34px;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #a94442;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type="radio"],\n  .form-inline .checkbox input[type="checkbox"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  padding-top: 7px;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    padding-top: 7px;\n    margin-bottom: 0;\n    text-align: right;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  filter: alpha(opacity=65);\n  opacity: 0.65;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  background-image: none;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  background-image: none;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  background-image: none;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  background-image: none;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  background-image: none;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  background-image: none;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  font-weight: 400;\n  color: #337ab7;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type="submit"].btn-block,\ninput[type="reset"].btn-block,\ninput[type="button"].btn-block {\n  width: 100%;\n}\n@font-face {\n  font-family: "Glyphicons Halflings";\n  src: url('+n(a(459))+");\n  src: url("+n(a(459))+'?#iefix) format("embedded-opentype"), url('+n(a(1011))+') format("woff2"), url('+n(a(1012))+') format("woff"), url('+n(a(1013))+') format("truetype"), url('+n(a(1014))+'#glyphicons_halflingsregular) format("svg");\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: "Glyphicons Halflings";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: "*";\n}\n.glyphicon-plus:before {\n  content: "+";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: "\\20AC";\n}\n.glyphicon-minus:before {\n  content: "\\2212";\n}\n.glyphicon-cloud:before {\n  content: "\\2601";\n}\n.glyphicon-envelope:before {\n  content: "\\2709";\n}\n.glyphicon-pencil:before {\n  content: "\\270F";\n}\n.glyphicon-glass:before {\n  content: "\\E001";\n}\n.glyphicon-music:before {\n  content: "\\E002";\n}\n.glyphicon-search:before {\n  content: "\\E003";\n}\n.glyphicon-heart:before {\n  content: "\\E005";\n}\n.glyphicon-star:before {\n  content: "\\E006";\n}\n.glyphicon-star-empty:before {\n  content: "\\E007";\n}\n.glyphicon-user:before {\n  content: "\\E008";\n}\n.glyphicon-film:before {\n  content: "\\E009";\n}\n.glyphicon-th-large:before {\n  content: "\\E010";\n}\n.glyphicon-th:before {\n  content: "\\E011";\n}\n.glyphicon-th-list:before {\n  content: "\\E012";\n}\n.glyphicon-ok:before {\n  content: "\\E013";\n}\n.glyphicon-remove:before {\n  content: "\\E014";\n}\n.glyphicon-zoom-in:before {\n  content: "\\E015";\n}\n.glyphicon-zoom-out:before {\n  content: "\\E016";\n}\n.glyphicon-off:before {\n  content: "\\E017";\n}\n.glyphicon-signal:before {\n  content: "\\E018";\n}\n.glyphicon-cog:before {\n  content: "\\E019";\n}\n.glyphicon-trash:before {\n  content: "\\E020";\n}\n.glyphicon-home:before {\n  content: "\\E021";\n}\n.glyphicon-file:before {\n  content: "\\E022";\n}\n.glyphicon-time:before {\n  content: "\\E023";\n}\n.glyphicon-road:before {\n  content: "\\E024";\n}\n.glyphicon-download-alt:before {\n  content: "\\E025";\n}\n.glyphicon-download:before {\n  content: "\\E026";\n}\n.glyphicon-upload:before {\n  content: "\\E027";\n}\n.glyphicon-inbox:before {\n  content: "\\E028";\n}\n.glyphicon-play-circle:before {\n  content: "\\E029";\n}\n.glyphicon-repeat:before {\n  content: "\\E030";\n}\n.glyphicon-refresh:before {\n  content: "\\E031";\n}\n.glyphicon-list-alt:before {\n  content: "\\E032";\n}\n.glyphicon-lock:before {\n  content: "\\E033";\n}\n.glyphicon-flag:before {\n  content: "\\E034";\n}\n.glyphicon-headphones:before {\n  content: "\\E035";\n}\n.glyphicon-volume-off:before {\n  content: "\\E036";\n}\n.glyphicon-volume-down:before {\n  content: "\\E037";\n}\n.glyphicon-volume-up:before {\n  content: "\\E038";\n}\n.glyphicon-qrcode:before {\n  content: "\\E039";\n}\n.glyphicon-barcode:before {\n  content: "\\E040";\n}\n.glyphicon-tag:before {\n  content: "\\E041";\n}\n.glyphicon-tags:before {\n  content: "\\E042";\n}\n.glyphicon-book:before {\n  content: "\\E043";\n}\n.glyphicon-bookmark:before {\n  content: "\\E044";\n}\n.glyphicon-print:before {\n  content: "\\E045";\n}\n.glyphicon-camera:before {\n  content: "\\E046";\n}\n.glyphicon-font:before {\n  content: "\\E047";\n}\n.glyphicon-bold:before {\n  content: "\\E048";\n}\n.glyphicon-italic:before {\n  content: "\\E049";\n}\n.glyphicon-text-height:before {\n  content: "\\E050";\n}\n.glyphicon-text-width:before {\n  content: "\\E051";\n}\n.glyphicon-align-left:before {\n  content: "\\E052";\n}\n.glyphicon-align-center:before {\n  content: "\\E053";\n}\n.glyphicon-align-right:before {\n  content: "\\E054";\n}\n.glyphicon-align-justify:before {\n  content: "\\E055";\n}\n.glyphicon-list:before {\n  content: "\\E056";\n}\n.glyphicon-indent-left:before {\n  content: "\\E057";\n}\n.glyphicon-indent-right:before {\n  content: "\\E058";\n}\n.glyphicon-facetime-video:before {\n  content: "\\E059";\n}\n.glyphicon-picture:before {\n  content: "\\E060";\n}\n.glyphicon-map-marker:before {\n  content: "\\E062";\n}\n.glyphicon-adjust:before {\n  content: "\\E063";\n}\n.glyphicon-tint:before {\n  content: "\\E064";\n}\n.glyphicon-edit:before {\n  content: "\\E065";\n}\n.glyphicon-share:before {\n  content: "\\E066";\n}\n.glyphicon-check:before {\n  content: "\\E067";\n}\n.glyphicon-move:before {\n  content: "\\E068";\n}\n.glyphicon-step-backward:before {\n  content: "\\E069";\n}\n.glyphicon-fast-backward:before {\n  content: "\\E070";\n}\n.glyphicon-backward:before {\n  content: "\\E071";\n}\n.glyphicon-play:before {\n  content: "\\E072";\n}\n.glyphicon-pause:before {\n  content: "\\E073";\n}\n.glyphicon-stop:before {\n  content: "\\E074";\n}\n.glyphicon-forward:before {\n  content: "\\E075";\n}\n.glyphicon-fast-forward:before {\n  content: "\\E076";\n}\n.glyphicon-step-forward:before {\n  content: "\\E077";\n}\n.glyphicon-eject:before {\n  content: "\\E078";\n}\n.glyphicon-chevron-left:before {\n  content: "\\E079";\n}\n.glyphicon-chevron-right:before {\n  content: "\\E080";\n}\n.glyphicon-plus-sign:before {\n  content: "\\E081";\n}\n.glyphicon-minus-sign:before {\n  content: "\\E082";\n}\n.glyphicon-remove-sign:before {\n  content: "\\E083";\n}\n.glyphicon-ok-sign:before {\n  content: "\\E084";\n}\n.glyphicon-question-sign:before {\n  content: "\\E085";\n}\n.glyphicon-info-sign:before {\n  content: "\\E086";\n}\n.glyphicon-screenshot:before {\n  content: "\\E087";\n}\n.glyphicon-remove-circle:before {\n  content: "\\E088";\n}\n.glyphicon-ok-circle:before {\n  content: "\\E089";\n}\n.glyphicon-ban-circle:before {\n  content: "\\E090";\n}\n.glyphicon-arrow-left:before {\n  content: "\\E091";\n}\n.glyphicon-arrow-right:before {\n  content: "\\E092";\n}\n.glyphicon-arrow-up:before {\n  content: "\\E093";\n}\n.glyphicon-arrow-down:before {\n  content: "\\E094";\n}\n.glyphicon-share-alt:before {\n  content: "\\E095";\n}\n.glyphicon-resize-full:before {\n  content: "\\E096";\n}\n.glyphicon-resize-small:before {\n  content: "\\E097";\n}\n.glyphicon-exclamation-sign:before {\n  content: "\\E101";\n}\n.glyphicon-gift:before {\n  content: "\\E102";\n}\n.glyphicon-leaf:before {\n  content: "\\E103";\n}\n.glyphicon-fire:before {\n  content: "\\E104";\n}\n.glyphicon-eye-open:before {\n  content: "\\E105";\n}\n.glyphicon-eye-close:before {\n  content: "\\E106";\n}\n.glyphicon-warning-sign:before {\n  content: "\\E107";\n}\n.glyphicon-plane:before {\n  content: "\\E108";\n}\n.glyphicon-calendar:before {\n  content: "\\E109";\n}\n.glyphicon-random:before {\n  content: "\\E110";\n}\n.glyphicon-comment:before {\n  content: "\\E111";\n}\n.glyphicon-magnet:before {\n  content: "\\E112";\n}\n.glyphicon-chevron-up:before {\n  content: "\\E113";\n}\n.glyphicon-chevron-down:before {\n  content: "\\E114";\n}\n.glyphicon-retweet:before {\n  content: "\\E115";\n}\n.glyphicon-shopping-cart:before {\n  content: "\\E116";\n}\n.glyphicon-folder-close:before {\n  content: "\\E117";\n}\n.glyphicon-folder-open:before {\n  content: "\\E118";\n}\n.glyphicon-resize-vertical:before {\n  content: "\\E119";\n}\n.glyphicon-resize-horizontal:before {\n  content: "\\E120";\n}\n.glyphicon-hdd:before {\n  content: "\\E121";\n}\n.glyphicon-bullhorn:before {\n  content: "\\E122";\n}\n.glyphicon-bell:before {\n  content: "\\E123";\n}\n.glyphicon-certificate:before {\n  content: "\\E124";\n}\n.glyphicon-thumbs-up:before {\n  content: "\\E125";\n}\n.glyphicon-thumbs-down:before {\n  content: "\\E126";\n}\n.glyphicon-hand-right:before {\n  content: "\\E127";\n}\n.glyphicon-hand-left:before {\n  content: "\\E128";\n}\n.glyphicon-hand-up:before {\n  content: "\\E129";\n}\n.glyphicon-hand-down:before {\n  content: "\\E130";\n}\n.glyphicon-circle-arrow-right:before {\n  content: "\\E131";\n}\n.glyphicon-circle-arrow-left:before {\n  content: "\\E132";\n}\n.glyphicon-circle-arrow-up:before {\n  content: "\\E133";\n}\n.glyphicon-circle-arrow-down:before {\n  content: "\\E134";\n}\n.glyphicon-globe:before {\n  content: "\\E135";\n}\n.glyphicon-wrench:before {\n  content: "\\E136";\n}\n.glyphicon-tasks:before {\n  content: "\\E137";\n}\n.glyphicon-filter:before {\n  content: "\\E138";\n}\n.glyphicon-briefcase:before {\n  content: "\\E139";\n}\n.glyphicon-fullscreen:before {\n  content: "\\E140";\n}\n.glyphicon-dashboard:before {\n  content: "\\E141";\n}\n.glyphicon-paperclip:before {\n  content: "\\E142";\n}\n.glyphicon-heart-empty:before {\n  content: "\\E143";\n}\n.glyphicon-link:before {\n  content: "\\E144";\n}\n.glyphicon-phone:before {\n  content: "\\E145";\n}\n.glyphicon-pushpin:before {\n  content: "\\E146";\n}\n.glyphicon-usd:before {\n  content: "\\E148";\n}\n.glyphicon-gbp:before {\n  content: "\\E149";\n}\n.glyphicon-sort:before {\n  content: "\\E150";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: "\\E151";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: "\\E152";\n}\n.glyphicon-sort-by-order:before {\n  content: "\\E153";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: "\\E154";\n}\n.glyphicon-sort-by-attributes:before {\n  content: "\\E155";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: "\\E156";\n}\n.glyphicon-unchecked:before {\n  content: "\\E157";\n}\n.glyphicon-expand:before {\n  content: "\\E158";\n}\n.glyphicon-collapse-down:before {\n  content: "\\E159";\n}\n.glyphicon-collapse-up:before {\n  content: "\\E160";\n}\n.glyphicon-log-in:before {\n  content: "\\E161";\n}\n.glyphicon-flash:before {\n  content: "\\E162";\n}\n.glyphicon-log-out:before {\n  content: "\\E163";\n}\n.glyphicon-new-window:before {\n  content: "\\E164";\n}\n.glyphicon-record:before {\n  content: "\\E165";\n}\n.glyphicon-save:before {\n  content: "\\E166";\n}\n.glyphicon-open:before {\n  content: "\\E167";\n}\n.glyphicon-saved:before {\n  content: "\\E168";\n}\n.glyphicon-import:before {\n  content: "\\E169";\n}\n.glyphicon-export:before {\n  content: "\\E170";\n}\n.glyphicon-send:before {\n  content: "\\E171";\n}\n.glyphicon-floppy-disk:before {\n  content: "\\E172";\n}\n.glyphicon-floppy-saved:before {\n  content: "\\E173";\n}\n.glyphicon-floppy-remove:before {\n  content: "\\E174";\n}\n.glyphicon-floppy-save:before {\n  content: "\\E175";\n}\n.glyphicon-floppy-open:before {\n  content: "\\E176";\n}\n.glyphicon-credit-card:before {\n  content: "\\E177";\n}\n.glyphicon-transfer:before {\n  content: "\\E178";\n}\n.glyphicon-cutlery:before {\n  content: "\\E179";\n}\n.glyphicon-header:before {\n  content: "\\E180";\n}\n.glyphicon-compressed:before {\n  content: "\\E181";\n}\n.glyphicon-earphone:before {\n  content: "\\E182";\n}\n.glyphicon-phone-alt:before {\n  content: "\\E183";\n}\n.glyphicon-tower:before {\n  content: "\\E184";\n}\n.glyphicon-stats:before {\n  content: "\\E185";\n}\n.glyphicon-sd-video:before {\n  content: "\\E186";\n}\n.glyphicon-hd-video:before {\n  content: "\\E187";\n}\n.glyphicon-subtitles:before {\n  content: "\\E188";\n}\n.glyphicon-sound-stereo:before {\n  content: "\\E189";\n}\n.glyphicon-sound-dolby:before {\n  content: "\\E190";\n}\n.glyphicon-sound-5-1:before {\n  content: "\\E191";\n}\n.glyphicon-sound-6-1:before {\n  content: "\\E192";\n}\n.glyphicon-sound-7-1:before {\n  content: "\\E193";\n}\n.glyphicon-copyright-mark:before {\n  content: "\\E194";\n}\n.glyphicon-registration-mark:before {\n  content: "\\E195";\n}\n.glyphicon-cloud-download:before {\n  content: "\\E197";\n}\n.glyphicon-cloud-upload:before {\n  content: "\\E198";\n}\n.glyphicon-tree-conifer:before {\n  content: "\\E199";\n}\n.glyphicon-tree-deciduous:before {\n  content: "\\E200";\n}\n.glyphicon-cd:before {\n  content: "\\E201";\n}\n.glyphicon-save-file:before {\n  content: "\\E202";\n}\n.glyphicon-open-file:before {\n  content: "\\E203";\n}\n.glyphicon-level-up:before {\n  content: "\\E204";\n}\n.glyphicon-copy:before {\n  content: "\\E205";\n}\n.glyphicon-paste:before {\n  content: "\\E206";\n}\n.glyphicon-alert:before {\n  content: "\\E209";\n}\n.glyphicon-equalizer:before {\n  content: "\\E210";\n}\n.glyphicon-king:before {\n  content: "\\E211";\n}\n.glyphicon-queen:before {\n  content: "\\E212";\n}\n.glyphicon-pawn:before {\n  content: "\\E213";\n}\n.glyphicon-bishop:before {\n  content: "\\E214";\n}\n.glyphicon-knight:before {\n  content: "\\E215";\n}\n.glyphicon-baby-formula:before {\n  content: "\\E216";\n}\n.glyphicon-tent:before {\n  content: "\\26FA";\n}\n.glyphicon-blackboard:before {\n  content: "\\E218";\n}\n.glyphicon-bed:before {\n  content: "\\E219";\n}\n.glyphicon-apple:before {\n  content: "\\F8FF";\n}\n.glyphicon-erase:before {\n  content: "\\E221";\n}\n.glyphicon-hourglass:before {\n  content: "\\231B";\n}\n.glyphicon-lamp:before {\n  content: "\\E223";\n}\n.glyphicon-duplicate:before {\n  content: "\\E224";\n}\n.glyphicon-piggy-bank:before {\n  content: "\\E225";\n}\n.glyphicon-scissors:before {\n  content: "\\E226";\n}\n.glyphicon-bitcoin:before {\n  content: "\\E227";\n}\n.glyphicon-btc:before {\n  content: "\\E227";\n}\n.glyphicon-xbt:before {\n  content: "\\E227";\n}\n.glyphicon-yen:before {\n  content: "\\A5";\n}\n.glyphicon-jpy:before {\n  content: "\\A5";\n}\n.glyphicon-ruble:before {\n  content: "\\20BD";\n}\n.glyphicon-rub:before {\n  content: "\\20BD";\n}\n.glyphicon-scale:before {\n  content: "\\E230";\n}\n.glyphicon-ice-lolly:before {\n  content: "\\E231";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: "\\E232";\n}\n.glyphicon-education:before {\n  content: "\\E233";\n}\n.glyphicon-option-horizontal:before {\n  content: "\\E234";\n}\n.glyphicon-option-vertical:before {\n  content: "\\E235";\n}\n.glyphicon-menu-hamburger:before {\n  content: "\\E236";\n}\n.glyphicon-modal-window:before {\n  content: "\\E237";\n}\n.glyphicon-oil:before {\n  content: "\\E238";\n}\n.glyphicon-grain:before {\n  content: "\\E239";\n}\n.glyphicon-sunglasses:before {\n  content: "\\E240";\n}\n.glyphicon-text-size:before {\n  content: "\\E241";\n}\n.glyphicon-text-color:before {\n  content: "\\E242";\n}\n.glyphicon-text-background:before {\n  content: "\\E243";\n}\n.glyphicon-object-align-top:before {\n  content: "\\E244";\n}\n.glyphicon-object-align-bottom:before {\n  content: "\\E245";\n}\n.glyphicon-object-align-horizontal:before {\n  content: "\\E246";\n}\n.glyphicon-object-align-left:before {\n  content: "\\E247";\n}\n.glyphicon-object-align-vertical:before {\n  content: "\\E248";\n}\n.glyphicon-object-align-right:before {\n  content: "\\E249";\n}\n.glyphicon-triangle-right:before {\n  content: "\\E250";\n}\n.glyphicon-triangle-left:before {\n  content: "\\E251";\n}\n.glyphicon-triangle-bottom:before {\n  content: "\\E252";\n}\n.glyphicon-triangle-top:before {\n  content: "\\E253";\n}\n.glyphicon-console:before {\n  content: "\\E254";\n}\n.glyphicon-superscript:before {\n  content: "\\E255";\n}\n.glyphicon-subscript:before {\n  content: "\\E256";\n}\n.glyphicon-menu-left:before {\n  content: "\\E257";\n}\n.glyphicon-menu-right:before {\n  content: "\\E258";\n}\n.glyphicon-menu-down:before {\n  content: "\\E259";\n}\n.glyphicon-menu-up:before {\n  content: "\\E260";\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  font-size: 14px;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: 400;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  color: #262626;\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #337ab7;\n  outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  content: "";\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n  .navbar-right .dropdown-menu-left {\n    right: auto;\n    left: 0;\n  }\n}\n.nav {\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  cursor: default;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  padding-right: 15px;\n  padding-left: 15px;\n  overflow-x: visible;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-brand {\n  float: left;\n  height: 50px;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-right: 15px;\n  margin-top: 8px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n}\n.navbar-form {\n  padding: 10px 15px;\n  margin-right: -15px;\n  margin-left: -15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type="radio"],\n  .navbar-form .checkbox input[type="checkbox"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-right: 15px;\n    margin-left: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  margin-left: -1px;\n  line-height: 1.42857143;\n  color: #337ab7;\n  text-decoration: none;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  cursor: default;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  cursor: not-allowed;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-top-left-radius: 6px;\n  border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-top-right-radius: 6px;\n  border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-top-left-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-top-right-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  padding-right: 15px;\n  padding-left: 15px;\n  border-radius: 6px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-right: 60px;\n    padding-left: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after {\n  display: table;\n  content: " ";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n',""])},1017:function(e,t){},1019:function(e,t,a){},1025:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(42),o=a.n(i),c=a(460),s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(e,t){navigator.serviceWorker.register(e).then(function(e){e.onupdatefound=function(){var a=e.installing;null!=a&&(a.onstatechange=function(){"installed"===a.state&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See http://bit.ly/CRA-PWA."),t&&t.onUpdate&&t.onUpdate(e)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(e)))})}}).catch(function(e){console.error("Error during service worker registration:",e)})}a(1019);var u=a(490),d=a.n(u),m=a(3);d()(),Object(m.isDev)()||"http:"!==window.location.protocol||Object(m.isCordova)()||(window.location.protocol="https:"),"serviceWorker"in navigator&&!Object(m.isCordova)()&&!Object(m.isDev)()&&function(e){if("serviceWorker"in navigator){if(new URL("",window.location.href).origin!==window.location.origin)return;window.addEventListener("load",function(){var t="".concat("","/service-worker.js");s?(function(e,t){fetch(e).then(function(a){var n=a.headers.get("content-type");404===a.status||null!=n&&-1===n.indexOf("javascript")?navigator.serviceWorker.ready.then(function(e){e.unregister().then(function(){window.location.reload()})}):l(e,t)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})}(t,e),navigator.serviceWorker.ready.then(function(){console.log("This web app is being served cache-first by a service worker. To learn more, visit http://bit.ly/CRA-PWA")})):l(t,e)})}}(),Object(m.isAndroid)()&&document.addEventListener("backbutton",function(){var e=window.location.href,t=window.history;"file:///"===e||"file:///signin"===e||3===t.length&&"file:///dashboard"===e?navigator.app.exitApp():t.back()}),o.a.render(r.a.createElement(c.a,null),document.getElementById("root"))},104:function(e,t,a){"use strict";a.d(t,"b",function(){return s}),a.d(t,"a",function(){return l}),a.d(t,"c",function(){return u});var n=a(10),r=a(14),i=a(97),o=a(16),c=a(3);function s(e){return function(e){return e({type:r.F}),o.a.ambientLogout().then(function(){e({type:r.I,data:{user:{}}}),e({type:"RESET_DEVICE"}),i.a.push("/"),Object(c.reloadApp)()}).catch(function(t){Object(c.reloadApp)(),e({type:r.H,data:{error:t}})})}}function l(){return{type:r.G}}function u(e,t){switch(t.type){case r.F:return Object(n.a)({},e,{logoutUserPending:!0,logoutUserError:null});case r.I:return Object(n.a)({},e,{info:!1,logoutUserPending:!1,logoutUserError:null});case r.H:return Object(n.a)({},e,{logoutUserPending:!1,logoutUserError:t.data.error});case r.G:return Object(n.a)({},e,{logoutUserError:null});default:return e}}},105:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(17),i=a(16),o=(a(2),Object(i.d)("userActions",{begin:r.m,success:r.p,fail:r.o}));function c(){return{type:r.n}}function s(e,t){var a;switch(t.type){case r.m:return a=Object(n.a)({},e,{fetchUserActionsPending:!0,fetchUserActionsError:null}),t.dataKey&&a.fetchUserActionsPendingDataKeys.push(t.dataKey),a;case r.p:return a=Object(n.a)({},e,{fetchUserActionsPending:!1,fetchUserActionsError:null,fetchUserActionsPendingDataKeys:t.dataKey?e.fetchUserActionsPendingDataKeys.filter(function(e){return e!==t.dataKey}):e.fetchUserActionsPendingDataKeys}),t.dataKey&&(a[t.dataKey]=t.data),a;case r.o:return Object(n.a)({},e,{fetchUserActionsPending:!1,fetchUserActionsError:t.data.error,fetchUserActionsPendingDataKeys:t.dataKey?e.fetchUserActionsPendingDataKeys.filter(function(e){return e!==t.dataKey}):e.fetchUserPendingActionsDataKeys});case r.n:return Object(n.a)({},e,{fetchUserActionsError:null});default:return e}}},106:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(27),i=a(16),o=Object(i.d)("alerts",{begin:r.f,success:r.i,fail:r.h});function c(){return{type:r.g}}function s(e,t){switch(t.type){case r.f:return Object(n.a)({},e,{fetchAlertsPending:!0,fetchAlertsError:null,alerts:[]});case r.i:return Object(n.a)({},e,{fetchAlertsPending:!1,fetchAlertsError:null,alerts:t.data});case r.h:return Object(n.a)({},e,{fetchAlertsPending:!1,fetchAlertsError:t.data.error});case r.g:return Object(n.a)({},e,{fetchAlertsError:null});default:return e}}},111:function(e,t,a){"use strict";a.r(t);var n=a(128);a.d(t,"setMapLocation",function(){return n.b});var r=a(129);a.d(t,"toggleAppClass",function(){return r.b});var i=a(96);a.d(t,"setOnline",function(){return i.b});var o=a(130);a.d(t,"setForecastOpen",function(){return o.b})},12:function(e,t,a){"use strict";a.d(t,"f",function(){return n}),a.d(t,"hb",function(){return r}),a.d(t,"X",function(){return i}),a.d(t,"ab",function(){return o}),a.d(t,"Z",function(){return c}),a.d(t,"Y",function(){return s}),a.d(t,"l",function(){return l}),a.d(t,"o",function(){return u}),a.d(t,"n",function(){return d}),a.d(t,"m",function(){return m}),a.d(t,"P",function(){return p}),a.d(t,"W",function(){return h}),a.d(t,"V",function(){return f}),a.d(t,"U",function(){return b}),a.d(t,"a",function(){return v}),a.d(t,"d",function(){return g}),a.d(t,"c",function(){return y}),a.d(t,"b",function(){return E}),a.d(t,"q",function(){return O}),a.d(t,"v",function(){return w}),a.d(t,"u",function(){return k}),a.d(t,"t",function(){return j}),a.d(t,"s",function(){return N}),a.d(t,"r",function(){return D}),a.d(t,"Q",function(){return S}),a.d(t,"T",function(){return A}),a.d(t,"S",function(){return _}),a.d(t,"R",function(){return C}),a.d(t,"L",function(){return x}),a.d(t,"O",function(){return I}),a.d(t,"N",function(){return T}),a.d(t,"M",function(){return P}),a.d(t,"cb",function(){return M}),a.d(t,"e",function(){return R}),a.d(t,"h",function(){return L}),a.d(t,"k",function(){return F}),a.d(t,"j",function(){return U}),a.d(t,"i",function(){return W}),a.d(t,"ib",function(){return H}),a.d(t,"lb",function(){return B}),a.d(t,"kb",function(){return Y}),a.d(t,"jb",function(){return G}),a.d(t,"p",function(){return z}),a.d(t,"y",function(){return K}),a.d(t,"x",function(){return q}),a.d(t,"w",function(){return V}),a.d(t,"gb",function(){return $}),a.d(t,"K",function(){return Q}),a.d(t,"g",function(){return X}),a.d(t,"F",function(){return J}),a.d(t,"I",function(){return Z}),a.d(t,"H",function(){return ee}),a.d(t,"G",function(){return te}),a.d(t,"bb",function(){return ae}),a.d(t,"z",function(){return ne}),a.d(t,"A",function(){return re}),a.d(t,"D",function(){return ie}),a.d(t,"C",function(){return oe}),a.d(t,"B",function(){return ce}),a.d(t,"db",function(){return se}),a.d(t,"eb",function(){return le}),a.d(t,"E",function(){return ue}),a.d(t,"J",function(){return de}),a.d(t,"fb",function(){return me});var n="DEVICE_TEST_ACTION",r="UPDATE_CURRENT",i="SAVE_CURRENT_BEGIN",o="SAVE_CURRENT_SUCCESS",c="SAVE_CURRENT_FAILURE",s="SAVE_CURRENT_DISMISS_ERROR",l="FETCH_DEVICES_BEGIN",u="FETCH_DEVICES_SUCCESS",d="FETCH_DEVICES_FAILURE",m="FETCH_DEVICES_DISMISS_ERROR",p="REMOVE_DEVICE_BEGIN",h="REMOVE_DEVICE_SUCCESS",f="REMOVE_DEVICE_FAILURE",b="REMOVE_DEVICE_DISMISS_ERROR",v="CHECK_MAC_ADDRESS_BEGIN",g="CHECK_MAC_ADDRESS_SUCCESS",y="CHECK_MAC_ADDRESS_FAILURE",E="CHECK_MAC_ADDRESS_DISMISS_ERROR",O="FETCH_DEVICE_DATA_BEGIN",w="FETCH_DEVICE_DATA_SUCCESS",k="FETCH_DEVICE_DATA_FAILURE",j="FETCH_DEVICE_DATA_DISMISS_ERROR",N="FETCH_DEVICE_DATA_CLEAR_HIRES",D="FETCH_DEVICE_DATA_CLEAR_DATA_KEY",S="REMOVE_DEVICE_DATA_BEGIN",A="REMOVE_DEVICE_DATA_SUCCESS",_="REMOVE_DEVICE_DATA_FAILURE",C="REMOVE_DEVICE_DATA_DISMISS_ERROR",x="PATCH_BEGIN",I="PATCH_SUCCESS",T="PATCH_FAILURE",P="PATCH_DISMISS_ERROR",M="SET_DEVICE_I",R="CLEAR_CURRENT",L="FETCH_ALL_DEVICES_BEGIN",F="FETCH_ALL_DEVICES_SUCCESS",U="FETCH_ALL_DEVICES_FAILURE",W="FETCH_ALL_DEVICES_DISMISS_ERROR",H="UPDATE_DEVICE_DATA_BEGIN",B="UPDATE_DEVICE_DATA_SUCCESS",Y="UPDATE_DEVICE_DATA_FAILURE",G="UPDATE_DEVICE_DATA_DISMISS_ERROR",z="FETCH_DEVICE_BEGIN",K="FETCH_DEVICE_SUCCESS",q="FETCH_DEVICE_FAILURE",V="FETCH_DEVICE_DISMISS_ERROR",$="SHARE_DEVICE",Q="MANUAL_REFRESH",X="EDIT_SUMMARY_CELL",J="GET_DEVICE_BEGIN",Z="GET_DEVICE_SUCCESS",ee="GET_DEVICE_FAILURE",te="GET_DEVICE_DISMISS_ERROR",ae="SET_DASHBOARD_DEVICE",ne="FETCH_FORECAST_BEGIN",re="FETCH_FORECAST_CLEAR",ie="FETCH_FORECAST_SUCCESS",oe="FETCH_FORECAST_FAILURE",ce="FETCH_FORECAST_DISMISS_ERROR",se="SET_MAP_VISIBLE_DEVICES",le="SET_SIDEBAR",ue="FOCUS_DEVICE",de="HOVER_DEVICE",me="SET_THING"},124:function(e,t,a){"use strict";a.d(t,"b",function(){return s}),a.d(t,"a",function(){return l}),a.d(t,"c",function(){return u});var n=a(10),r=a(12),i=a(16),o=a(3),c=i.a.service("devices");function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var a=e.userId||i.a.get("user")&&i.a.get("user")._id;if(!a)return new Promise(function(e,t){e(!1)});t({type:r.l,userId:a}),t({type:"CLEAR_USER_DEVICES",userId:a});return function(){return c.find({query:{userId:a,$limit:100}})}().then(function(a){var n=a.data.sort(function(e,t){return Object(o.dateVal)(t.createdAt)-Object(o.dateVal)(e.createdAt)});e.userId?(t({type:"ADD_DEVICES_TO_USER",data:n}),t({type:r.o})):(t({type:r.o,data:n}),n.forEach(function(e){return t({type:r.I,data:e})}))}).catch(function(e){return t({type:r.n,data:{error:e}}),/Authentication token missing/.test(e)&&Object(o.isCordova)(),{data:[]}})}}function l(){return{type:r.m}}function u(e,t){switch(t.type){case r.l:return Object(n.a)({},e,{fetchDevicesPending:!0,fetchDevicesError:null});case r.o:var a=Object(n.a)({},e,{fetchDevicesPending:!1,fetchDevicesError:null,fetchDevicesFetched:!0});return t.data&&(a.devices=t.data),a;case r.n:return Object(n.a)({},e,{fetchDevicesPending:!1,fetchDevicesFetched:!0,fetchDevicesError:t.data.error});case r.m:return Object(n.a)({},e,{fetchDevicesError:null});default:return e}}},125:function(e,t,a){"use strict";a.d(t,"c",function(){return s}),a.d(t,"a",function(){return l}),a.d(t,"b",function(){return u});var n=a(10),r=a(12),i=a(16),o=a(2),c=i.a.service("device-data");function s(e){return function(t){return t({type:r.Q}),(Object(o.isArrayLike)(e)?c.remove("bulk",{query:{docs:e.map(Object(o.pick)(["_id","loc","PASSKEY","type","dateutc"]))}}):c.remove(e._id)).then(function(a){t({type:r.T,data:e})}).catch(function(e){t({type:r.S,data:{error:e}})})}}function l(){return{type:r.R}}function u(e,t){switch(t.type){case r.Q:return Object(n.a)({},e,{removeDeviceDataPending:!0,removeDeviceDataError:null});case r.T:var a=Object(o.isArrayLike)(t.data)?Object(o.pipe)(Object(o.prop)("_id"),Object(o.flip)(o.contains)(Object(o.pluck)("_id",t.data))):Object(o.propEq)("_id",t.data._id),i=Object(o.filter)(Object(o.pipe)(a,o.not)),c=["graphDataRefined","dataTableData","hiresData","deviceSummaries"],s=Object(n.a)({},e,{removeDeviceDataPending:!1,removeDeviceDataError:null});for(var l in s)/DayData$/.test(l)&&Array.isArray(s[l])&&c.push(l);return c.forEach(function(e){s[e]&&(s[e]=i(s[e]))}),s;case r.S:return Object(n.a)({},e,{removeDeviceDataPending:!1,removeDeviceDataError:t.data.error});case r.R:return Object(n.a)({},e,{removeDeviceDataError:null});default:return e}}},126:function(e,t,a){"use strict";a.d(t,"c",function(){return s}),a.d(t,"a",function(){return l}),a.d(t,"b",function(){return u});var n=a(10),r=a(12),i=a(16),o=["deviceSummaries"],c=function(e,t,a){return o.forEach(function(n){e[n]&&Array.isArray(e[n])&&(e[n]=e[n].map(function(e){return e.dateutc===t?a(e):e}))}),e},s=Object(i.h)("device-data",{begin:r.ib,success:r.lb,fail:r.kb});function l(){return{type:r.jb}}function u(e,t){switch(t.type){case r.ib:return c(Object(n.a)({},e,{updateDeviceDataPending:!0,updateDeviceDataError:null}),t.data.dateutc,function(){return t.data});case r.lb:return c(Object(n.a)({},e,{updateDeviceDataPending:!1,updateDeviceDataError:null}),t.data.dateutc,function(e){return e._rev=t.data.rev,e});case r.kb:return Object(n.a)({},e,{updateDeviceDataPending:!1,updateDeviceDataError:t.data.error});case r.jb:return Object(n.a)({},e,{updateDeviceDataError:null});default:return e}}},127:function(e,t,a){"use strict";a.d(t,"c",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l}),a.d(t,"d",function(){return u});var n=a(10),r=a(12),i=a(3),o=a(2);function c(e){return function(t,a){var n=e.lat,c=e.lon,s=e.force,l={lat:n,lon:c},u=a().device.forecastCache[Object(i.coordString)(n,c)];if(u&&!s&&u.lat===n&&u.lon===c){var d=Object(o.path)(["currently","time"],u);if(d&&Date.now()-1e3*d<9e5)return Promise.resolve(u)}return t({type:r.z,data:l}),fetch("".concat(Object(i.getUrl)(),"/forecast/").concat(n,"/").concat(c).concat(Object(i.isIos)()||Object(i.isDev)()?"?ios=K6NGQaZTI3d6JabLcSGX25Y41BuBQPkVcJmeNHibVNhJ4k":"")).then(function(e){return e.json()}).then(function(e){return e.lat=n,e.lon=c,t({type:r.D,data:e}),e}).catch(function(e){t({type:r.C,data:{error:e}})})}}function s(){return{type:r.A}}function l(){return{type:r.B}}function u(e,t){switch(t.type){case r.z:return Object(n.a)({},e,{fetchForecastPending:!0,fetchForecastError:null});case r.A:return Object(n.a)({},e,{forecastCache:{}});case r.D:var a=e.forecastCache;return a[Object(i.coordString)(t.data.lat,t.data.lon)]=t.data,Object(n.a)({},e,{fetchForecastPending:!1,fetchForecastError:null,forecastCache:a});case r.C:return Object(n.a)({},e,{fetchForecastPending:!1,fetchForecastError:t.data.error});case r.B:return Object(n.a)({},e,{fetchForecastError:null});default:return e}}},128:function(e,t,a){"use strict";a.d(t,"b",function(){return s}),a.d(t,"c",function(){return l}),a.d(t,"a",function(){return u});var n=a(10),r=a(0),i=a(26),o=a(3),c=a(71);function s(e){return e=Object(o.makeSureObjHasGeo)(e),Object(o.setStorage)("lastLocationSearch",e),{type:c.b,data:e}}function l(){var e=Object(i.e)(),t=Object(r.useCallback)(function(){return e(s.apply(void 0,arguments))},[e]),a=Object(i.f)(function(e){return{mapLocation:e.common.mapLocation}},i.d);return Object.assign({setMapLocation:t},a)}function u(e,t){switch(t.type){case c.b:return Object(n.a)({},e,{mapLocation:t.data});default:return e}}},129:function(e,t,a){"use strict";a.d(t,"b",function(){return s}),a.d(t,"c",function(){return l}),a.d(t,"a",function(){return u});var n=a(33),r=a(10),i=a(0),o=a(26),c=a(71);function s(e,t){return{type:c.d,data:{clss:e,add:t}}}function l(){var e=Object(o.e)(),t=Object(i.useCallback)(function(){return e(s.apply(void 0,arguments))},[e]),a=Object(o.f)(function(e){return{appClass:e.common.appClass}},o.d);return Object.assign({toggleAppClass:t},a)}function u(e,t){switch(t.type){case c.d:var a=Object(r.a)({},e);return t.data.add&&!a.appClass.includes(t.data.clss)?a.appClass=[].concat(Object(n.a)(a.appClass),[t.data.clss]):!1===t.data.add&&a.appClass.includes(t.data.clss)&&(a.appClass=a.appClass.filter(function(e){return e!==t.data.clss})),a;default:return e}}},130:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"c",function(){return s}),a.d(t,"a",function(){return l});var n=a(10),r=a(0),i=a(26),o=a(71);function c(e){return{type:o.a,data:e}}function s(){var e=Object(i.e)(),t=Object(r.useCallback)(function(){return e(c.apply(void 0,arguments))},[e]),a=Object(i.f)(function(e){return{forecastOpen:e.common.forecastOpen}},i.d);return Object.assign({setForecastOpen:t},a)}function l(e,t){switch(t.type){case o.a:return Object(n.a)({},e,{forecastOpen:t.data});default:return e}}},132:function(e,t,a){"use strict";a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s}),a.d(t,"b",function(){return l});var n=a(10),r=a(0),i=a(26),o=a(14);function c(e){return{type:o.o,data:e}}function s(){var e=Object(i.e)();return{doModal:Object(r.useCallback)(function(){return e(c.apply(void 0,arguments))},[e])}}function l(e,t){switch(t.type){case o.o:return Object(n.a)({},e,{modal:t.data});default:return e}}},14:function(e,t,a){"use strict";a.d(t,"X",function(){return n}),a.d(t,"B",function(){return r}),a.d(t,"E",function(){return i}),a.d(t,"D",function(){return o}),a.d(t,"C",function(){return c}),a.d(t,"k",function(){return s}),a.d(t,"n",function(){return l}),a.d(t,"m",function(){return u}),a.d(t,"l",function(){return d}),a.d(t,"F",function(){return m}),a.d(t,"I",function(){return p}),a.d(t,"H",function(){return h}),a.d(t,"G",function(){return f}),a.d(t,"c",function(){return b}),a.d(t,"f",function(){return v}),a.d(t,"e",function(){return g}),a.d(t,"d",function(){return y}),a.d(t,"S",function(){return E}),a.d(t,"N",function(){return O}),a.d(t,"Q",function(){return w}),a.d(t,"P",function(){return k}),a.d(t,"O",function(){return j}),a.d(t,"J",function(){return N}),a.d(t,"M",function(){return D}),a.d(t,"L",function(){return S}),a.d(t,"K",function(){return A}),a.d(t,"x",function(){return _}),a.d(t,"A",function(){return C}),a.d(t,"z",function(){return x}),a.d(t,"y",function(){return I}),a.d(t,"a",function(){return T}),a.d(t,"p",function(){return P}),a.d(t,"s",function(){return M}),a.d(t,"r",function(){return R}),a.d(t,"q",function(){return L}),a.d(t,"b",function(){return F}),a.d(t,"t",function(){return U}),a.d(t,"w",function(){return W}),a.d(t,"v",function(){return H}),a.d(t,"u",function(){return B}),a.d(t,"o",function(){return Y}),a.d(t,"R",function(){return G}),a.d(t,"g",function(){return z}),a.d(t,"j",function(){return K}),a.d(t,"i",function(){return q}),a.d(t,"h",function(){return V}),a.d(t,"T",function(){return $}),a.d(t,"W",function(){return Q}),a.d(t,"V",function(){return X}),a.d(t,"U",function(){return J});var n="USER_TEST_ACTION",r="FETCH_USER_BEGIN",i="FETCH_USER_SUCCESS",o="FETCH_USER_FAILURE",c="FETCH_USER_DISMISS_ERROR",s="CREATE_USER_BEGIN",l="CREATE_USER_SUCCESS",u="CREATE_USER_FAILURE",d="CREATE_USER_DISMISS_ERROR",m="LOGOUT_USER_BEGIN",p="LOGOUT_USER_SUCCESS",h="LOGOUT_USER_FAILURE",f="LOGOUT_USER_DISMISS_ERROR",b="CONFIRM_USER_BEGIN",v="CONFIRM_USER_SUCCESS",g="CONFIRM_USER_FAILURE",y="CONFIRM_USER_DISMISS_ERROR",E="UPDATE_SETTING",O="SEND_CONFIRMATION_BEGIN",w="SEND_CONFIRMATION_SUCCESS",k="SEND_CONFIRMATION_FAILURE",j="SEND_CONFIRMATION_DISMISS_ERROR",N="USER_PATCH_BEGIN",D="USER_PATCH_SUCCESS",S="USER_PATCH_FAILURE",A="USER_PATCH_DISMISS_ERROR",_="FETCH_USERS_BEGIN",C="FETCH_USERS_SUCCESS",x="FETCH_USERS_FAILURE",I="FETCH_USERS_DISMISS_ERROR",T="BECOME_USER",P="FETCH_ALEXA_DATA_BEGIN",M="FETCH_ALEXA_DATA_SUCCESS",R="FETCH_ALEXA_DATA_FAILURE",L="FETCH_ALEXA_DATA_DISMISS_ERROR",F="CLEAR_USERS",U="FETCH_INFO_BEGIN",W="FETCH_INFO_SUCCESS",H="FETCH_INFO_FAILURE",B="FETCH_INFO_DISMISS_ERROR",Y="DO_MODAL",G="SET_UNITS",z="CREATE_SHORT_URL_BEGIN",K="CREATE_SHORT_URL_SUCCESS",q="CREATE_SHORT_URL_FAILURE",V="CREATE_SHORT_URL_DISMISS_ERROR",$="USER_REFRESH_USER_BEGIN",Q="USER_REFRESH_USER_SUCCESS",X="USER_REFRESH_USER_FAILURE",J="USER_REFRESH_USER_DISMISS_ERROR"},157:function(e,t,a){"use strict";a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l});var n=a(22),r=a(28),i=a(494),o=a(311),c=a.n(o),s=function(e){return e?"Point"===e.type?e:"Polygon"===e.type?Object(i.a)(r.polygon(e.coordinates)).geometry:void 0:e},l=function(e,t){return{type:"Polygon",coordinates:[c()(e,1609*t,{numberOfEdges:12}).coordinates[0].map(function(e){var t=Object(n.a)(e,2),a=t[0],r=t[1];return a>180&&(a=180),a<-180&&(a=-180),r>90&&(r=90),r<-90&&(r=-90),[a,r]})]}}},158:function(e,t,a){"use strict";a.d(t,"b",function(){return l}),a.d(t,"a",function(){return u}),a.d(t,"c",function(){return d});var n=a(10),r=a(14),i=a(16),o=a(2),c=a(104),s=a(105);function l(e){return function(t){return t({type:r.B}),e&&(e.type="local"),i.a.ambientLogin(e).then(function(e){var a=Object(o.path)(["data","email"],e);if(!/^ghost_user/.test(a)||!/ambientweather\.net/.test(a))return t({type:r.E,data:e.data}),e.data._id&&Object(s.b)({userId:e.data._id,"to.type":"device",dataKey:"favs",$select:["to"],$limit:1e3,$sort:{createdAt:-1}})(t),e;Object(c.b)()(t)}).catch(function(e){t({type:r.D,data:{error:e}})})}}function u(){return{type:r.C}}function d(e,t){switch(t.type){case r.B:return Object(n.a)({},e,{fetchUserPending:!0,fetchUserError:null});case r.E:return t.data.settings=t.data.settings||{},Object(n.a)({},e,{info:t.data,userChecked:!0,fetchUserPending:!1,fetchUserError:null});case r.D:return Object(n.a)({},e,{fetchUserPending:!1,userChecked:!0,fetchUserError:t.data.error});case r.C:return Object(n.a)({},e,{fetchUserError:null});default:return e}}},16:function(e,t,a){"use strict";var n=a(463),r=a.n(n),i=a(4),o=a(5),c=a(580),s=a(359).Unavailable,l=a(360)._,u=a(360).stripSlashes,d=a(359).convert;function m(e){if("ECONNREFUSED"===e.code)throw new s(e.message,l.pick(e,"address","port","config"));throw d(e)}var p=function(){function e(t){Object(i.a)(this,e),this.name=u(t.name),this.options=t.options,this.connection=t.connection,this.base="".concat(t.base,"/").concat(this.name)}return Object(o.a)(e,[{key:"makeUrl",value:function(e,t){e=e||{};var a=this.base;if("undefined"!==typeof t&&null!==t&&(a+="/".concat(encodeURIComponent(t))),0!==Object.keys(e).length){var n=c.stringify(e);a+="?".concat(n)}return a}},{key:"find",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.request({url:this.makeUrl(e.query),method:"GET",headers:Object.assign({},e.headers)},e).catch(m)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"undefined"===typeof e?Promise.reject(new Error("id for 'get' can not be undefined")):this.request({url:this.makeUrl(t.query,e),method:"GET",headers:Object.assign({},t.headers)},t).catch(m)}},{key:"create",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request({url:this.makeUrl(t.query),body:e,method:"POST",headers:Object.assign({"Content-Type":"application/json"},t.headers)},t).catch(m)}},{key:"update",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return"undefined"===typeof e?Promise.reject(new Error("id for 'update' can not be undefined, only 'null' when updating multiple entries")):this.request({url:this.makeUrl(a.query,e),body:t,method:"PUT",headers:Object.assign({"Content-Type":"application/json"},a.headers)},a).catch(m)}},{key:"patch",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return"undefined"===typeof e?Promise.reject(new Error("id for 'patch' can not be undefined, only 'null' when updating multiple entries")):this.request({url:this.makeUrl(a.query,e),body:t,method:"PATCH",headers:Object.assign({"Content-Type":"application/json"},a.headers)},a).catch(m)}},{key:"remove",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"undefined"===typeof e?Promise.reject(new Error("id for 'remove' can not be undefined, only 'null' when removing multiple entries")):this.request({url:this.makeUrl(t.query,e),method:"DELETE",headers:Object.assign({},t.headers)},t).catch(m)}}]),e}(),h=a(7),f=a(6),b=a(8),v=function(e){function t(){return Object(i.a)(this,t),Object(h.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(b.a)(t,e),Object(o.a)(t,[{key:"request",value:function(e,t){var a=this,n=t.connection,r=void 0===n?{}:n,i=Object.assign({},e.headers,this.options.headers,r.headers),o=Object.assign({dataType:e.type||"json"},r,e,{headers:i});return e.body&&(o.data=JSON.stringify(e.body),o.contentType="application/json"),delete o.type,delete o.body,new Promise(function(e,t){a.connection.ajax(o).then(e,function(e){var a=e.responseText;try{a=JSON.parse(a)}catch(n){a=new Error(e.responseText)}a.xhr=a.response=e,t(a)})})}}]),t}(p),g=function(e){function t(){return Object(i.a)(this,t),Object(h.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(b.a)(t,e),Object(o.a)(t,[{key:"request",value:function(e,t){var a=this.connection(e.method,e.url).set(this.options.headers||{}).set("Accept","application/json").set(t.connection||{}).set(e.headers||{}).type(e.type||"json");return new Promise(function(t,n){a.set(e.headers),e.body&&a.send(e.body),a.end(function(e,a){if(e){try{var r=e.response;(e=JSON.parse(e.response.text)).response=r}catch(i){}return n(e)}t(a&&a.body)})})}}]),t}(p),y=function(e){function t(){return Object(i.a)(this,t),Object(h.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(b.a)(t,e),Object(o.a)(t,[{key:"request",value:function(e,t){var a=Object.assign({},e,t.connection);return a.headers=Object.assign({Accept:"application/json"},this.options.headers,a.headers),t.token&&(a.headers.Authorization=t.token),e.body&&(a.body=JSON.stringify(e.body)),(0,this.connection)(e.url,a).then(this.checkStatus).then(function(e){return 204===e.status?null:e.json()})}},{key:"checkStatus",value:function(e){return e.ok?e:e.json().then(function(t){throw t.response=e,t})}}]),t}(p),E={jquery:v,superagent:g,request:function(e){function t(){return Object(i.a)(this,t),Object(h.a)(this,Object(f.a)(t).apply(this,arguments))}return Object(b.a)(t,e),Object(o.a)(t,[{key:"request",value:function(e,t){var a=this;return new Promise(function(n,r){var i=t.connection,o=void 0===i?{}:i,c=Object.assign({},e.headers,o.headers);a.connection(Object.assign({json:!0},e,t.connection,{headers:c}),function(e,t,a){return e?r(e):!e&&t.statusCode>=400?"string"===typeof a?r(new Error(a)):(a.response=t,r(Object.assign(new Error(a.message),a))):void n(a)})})}}]),t}(p),fetch:y};var O=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t={Base:p};return Object.keys(E).forEach(function(a){var n=E[a];t[a]=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)throw new Error("".concat(a," has to be provided to feathers-rest"));var i=function(a){return new n({base:e,name:a,connection:t,options:r})},o=function(){if("function"===typeof this.defaultService)throw new Error("Only one default client provider can be configured");this.rest=t,this.defaultService=i};return o.Service=n,o.service=i,o}}),t},w=a(464),k=a.n(w),j=a(465),N=a.n(j),D=a(466),S=a.n(D),A=a(2),_=a(29);a.d(t,"a",function(){return T}),a.d(t,"b",function(){return P}),a.d(t,"f",function(){return R}),a.d(t,"d",function(){return L}),a.d(t,"c",function(){return F}),a.d(t,"e",function(){return U}),a.d(t,"h",function(){return W}),a.d(t,"g",function(){return H});var C,x=Object(_.s)();try{C=window.localStorage}catch(B){}var I=O(x),T=r()().configure(k()()).configure(S()({storage:C})).configure(I.fetch(window.fetch)),P=new N.a(T),M=!1;T.ambientLogin=function(e){return M||T.authenticate(e).then(function(e){return M=new Promise(function(t){t(e)}),e})},T.ambientLogout=function(){return M=!1,T.logout()};var R=Object(A.curry)(function(e,t,a,n){var r=T.service(e),i=!1;return function(e){var o={id:a,args:n};return e({type:t.begin,data:o}),i&&clearTimeout(i),new Promise(function(c,s){i=setTimeout(function(){r.patch(a,n).then(function(a){o.result=a,e({type:t.success,data:o}),c(o)}).catch(function(a){e({type:t.fail,data:{error:a}}),s(a)})},500)})}}),L=Object(A.curry)(function(e,t,a){var n=T.service(e);return function(e){var r=["skipCache","dataKey"];return e(Object.assign({type:t.begin},Object(A.pick)(r,a))),n.find({query:Object(A.omit)(r,a)}).then(function(n){return e(Object.assign({type:t.success,data:n.data},Object(A.pick)(r,a))),t.pagination&&e(Object.assign({type:t.pagination,data:Object(A.omit)(["data"],n)},Object(A.pick)(r,a))),n}).catch(function(a){return e({type:t.fail,data:{error:a}}),{data:[]}})}}),F=Object(A.curry)(function(e,t,a){var n=T.service(e);return function(e,r){return e({type:t.begin,data:a}),n.create(a).then(function(a){return e({type:t.success,data:a}),a}).catch(function(n){return e({type:t.fail,data:{obj:a,error:n}}),null})}}),U=Object(A.curry)(function(e,t,a){var n=T.service(e);return function(e,r){return e({type:t.begin,data:a}),n.get(a).then(function(a){return e({type:t.success,data:a}),a}).catch(function(n){return e({type:t.fail,data:{id:a,error:n}}),null})}}),W=Object(A.curry)(function(e,t,a,n,r){var i=T.service(e);return function(e){return e({type:t.begin,data:n}),i.update(a,n,r).then(function(n){e({type:t.success,data:{id:a,rev:n}})}).catch(function(a){e({type:t.fail,data:{error:a}})})}}),H=Object(A.curry)(function(e,t,a){var n=T.service(e);return function(e,r){return e({type:t.begin,data:a}),n.remove(a).then(function(a){return e({type:t.success,data:a}),a}).catch(function(n){return e({type:t.fail,data:{id:a,error:n}}),null})}})},160:function(e,t,a){"use strict";a.d(t,"a",function(){return u}),a.d(t,"b",function(){return d}),a.d(t,"c",function(){return m});var n=a(10),r=a(14),i=a(16),o=a(73),c=a(24),s=a(2),l=i.a.service("users");function u(e){return function(t){t({type:r.k});var a={email:e.email.toLowerCase(),password:e.password,username:e.username,marketing:e.marketing,roles:["user","social"],settings:{home:Object(c.e)().token}};return l.create(a).then(function(e){return i.a.set("user",e),o.fetchUser(Object(s.pick)(["email","password"],a))(t).then(function(){t({type:r.n,data:e})}).then(function(){return o.sendConfirmation({user:e._id,confirmKey:!0})(t),e})}).catch(function(e){t({type:r.m,data:{error:e}})})}}function d(){return{type:r.l}}function m(e,t){switch(t.type){case r.k:return Object(n.a)({},e,{userChecked:!1,createUserPending:!0,createUserError:null});case r.n:return Object(n.a)({},e,{info:t.data,userChecked:!0,createUserPending:!1,createUserError:null});case r.m:return Object(n.a)({},e,{createUserPending:!1,createUserError:t.data.error});case r.l:return Object(n.a)({},e,{createUserError:null});default:return e}}},161:function(e,t,a){"use strict";a.d(t,"a",function(){return o}),a.d(t,"b",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(14),i=a(16);function o(e){return function(t){return t({type:r.c}),new Promise(function(a,n){return i.a.service("confirm").create({key:e}).then(function(e){console.log(e),t({type:r.f,data:{}})}).catch(function(e){t({type:r.e,data:{error:"some error"}})})})}}function c(){return{type:r.d}}function s(e,t){switch(t.type){case r.c:return Object(n.a)({},e,{confirmUserPending:!0,confirmUserError:null});case r.f:return Object(n.a)({},e,{confirmUserPending:!1,confirmUserError:null,confirmUserSuccess:!0});case r.e:return Object(n.a)({},e,{confirmUserPending:!1,confirmUserError:t.data.error});case r.d:return Object(n.a)({},e,{confirmUserError:null});default:return e}}},162:function(e,t,a){"use strict";a.d(t,"c",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"b",function(){return s});var n=a(10),r=a(14),i=a(16).a.service("confirm");function o(e){return function(t){return t({type:r.N}),i.update(e.user,e).then(function(e){t({type:r.Q,data:{}})}).catch(function(e){t({type:r.P,data:{error:e}})})}}function c(){return{type:r.O}}function s(e,t){switch(t.type){case r.N:return Object(n.a)({},e,{sendConfirmationPending:!0,sendConfirmationError:null,sendConfirmationSucceeded:!1});case r.Q:return Object(n.a)({},e,{sendConfirmationPending:!1,sendConfirmationError:null,sendConfirmationSucceeded:!0});case r.P:return Object(n.a)({},e,{sendConfirmationPending:!1,sendConfirmationError:t.data.error});case r.O:return Object(n.a)({},e,{sendConfirmationError:null});default:return e}}},163:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"c",function(){return l});var n=a(10),r=a(14),i=a(2),o=a(16),c=Object(o.f)("users",{begin:r.J,success:r.M,fail:r.L});function s(){return{type:r.K}}function l(e,t){switch(t.type){case r.J:return Object(n.a)({},e,{info:Object(i.merge)(e.info,t.data.args),patchPending:Object(i.keys)(t.data.args),patchError:null});case r.M:return Object(n.a)({},e,{patchPending:!1,patchError:null});case r.L:return Object(n.a)({},e,{patchPending:!1,patchError:t.data.error});case r.K:return Object(n.a)({},e,{patchError:null});default:return e}}},164:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(14),i=a(16),o=Object(i.d)("users",{begin:r.x,success:r.A,fail:r.z});function c(){return{type:r.y}}function s(e,t){switch(t.type){case r.x:return Object(n.a)({},e,{users:!1,fetchUsersPending:!0,fetchUsersError:null});case r.A:return Object(n.a)({},e,{users:t.data,fetchUsersPending:!1,fetchUsersError:null});case r.z:return Object(n.a)({},e,{fetchUsersPending:!1,fetchUsersError:t.data.error});case r.y:return Object(n.a)({},e,{fetchUsersError:null});default:return e}}},165:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"c",function(){return l});var n=a(10),r=a(14),i=a(2),o=a(16).a.service("alexa-data");function c(e){return function(e){return e({type:r.p}),o.find({query:{offset:0}}).then(function(t){console.log(t),e({type:r.s,data:t})}).catch(function(t){e({type:r.r,data:t})})}}function s(){return{type:r.q}}function l(e,t){switch(t.type){case r.p:return Object(n.a)({},e,{fetchAlexaDataPending:!0,fetchAlexaDataError:null});case r.s:return Object(n.a)({},e,{fetchAlexaDataPending:!1,fetchAlexaDataError:null,alexaData:Object(i.concat)(e.alexaData,t.data)});case r.r:return Object(n.a)({},e,{fetchAlexaDataPending:!1,fetchAlexaDataError:t.error});case r.q:return Object(n.a)({},e,{fetchAlexaDataError:null});default:return e}}},166:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o}),a.d(t,"c",function(){return c});var n=a(10),r=a(14);function i(){return function(e){return e({type:r.t}),new Promise(function(t,a){var n=document.createElement("script");n.setAttribute("src","https://geolocation-db.com/jsonp/"),n.id="__info",document.getElementsByTagName("head")[0].appendChild(n);var i=function(){delete window.callback;var e=document.getElementById("__info");e&&document.getElementsByTagName("head")[0].removeChild(e)},o=!1,c=function(){i(),e({type:r.w,data:{city:"Glacier National Park",state:"MT",longitude:-114.4062225,latitude:48.6587898}}),a("failed")};window.callback=function(a){if(o=!0,"object"!==typeof a||!a.longitude||!a.city)return c();e({type:r.w,data:a}),i(),t(a)},setTimeout(function(){o||c()},5e3)})}}function o(){return{type:r.u}}function c(e,t){switch(t.type){case r.t:return Object(n.a)({},e,{fetchInfoPending:!0,fetchInfoError:null});case r.w:return Object(n.a)({},e,{fetchInfoPending:!1,fetchInfoError:null,ipInfo:t.data});case r.v:return Object(n.a)({},e,{fetchInfoPending:!1,fetchInfoError:t.data.error});case r.u:return Object(n.a)({},e,{fetchInfoError:null});default:return e}}},167:function(e,t,a){"use strict";a.d(t,"a",function(){return o}),a.d(t,"b",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(14),i=a(16),o=Object(i.c)("shares",{begin:r.g,success:r.j,fail:r.i});function c(){return{type:r.h}}function s(e,t){switch(t.type){case r.g:return Object(n.a)({},e,{createShortUrlPending:!0,createShortUrlError:null});case r.j:return Object(n.a)({},e,{createShortUrlPending:!1,createShortUrlError:null});case r.i:return Object(n.a)({},e,{createShortUrlPending:!1,createShortUrlError:t.data.error});case r.h:return Object(n.a)({},e,{createShortUrlError:null});default:return e}}},168:function(e,t,a){"use strict";a.d(t,"c",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l});var n=a(10),r=(a(0),a(26),a(14)),i=a(16),o=a(2);function c(e){return function(t,a){if(e)return t({type:r.W,data:e}),Promise.resolve(e);t({type:r.T});var n=a().user.info;return Object(o.path)(["_id"],n)?i.a.service("users").get(n._id).then(function(e){var a=e&&e.data&&Array.isArray(e.data)?e.data[0]:e;a&&t({type:r.W,data:a})}):void 0}}function s(){return{type:r.U}}function l(e,t){switch(t.type){case r.T:return Object(n.a)({},e,{refreshUserPending:!0,refreshUserError:null});case r.W:return Object(n.a)({},e,{info:t.data,refreshUserPending:!1,refreshUserError:null});case r.V:return Object(n.a)({},e,{refreshUserPending:!1,refreshUserError:t.data.error});case r.U:return Object(n.a)({},e,{refreshUserError:null});default:return e}}},169:function(e,t,a){"use strict";a.d(t,"c",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l});var n=a(10),r=a(12),i=a(16),o=i.a.service("devices");function c(e){return function(t){return t({type:r.X}),e.userId=i.a.get("user")._id,(e._id?o.update(e._id,e):o.create(e)).then(function(e){return t({type:r.ab,data:e}),e}).catch(function(e){t({type:r.Z,data:{error:e}})})}}function s(){return{type:r.Y}}function l(e,t){switch(t.type){case r.X:return Object(n.a)({},e,{saveCurrentPending:!0,saveCurrentError:null});case r.ab:return console.log(t.data),Object(n.a)({},e,{current:t.data,recentlyCreated:t.data,saveCurrentPending:!1,saveCurrentError:null});case r.Z:return Object(n.a)({},e,{saveCurrentPending:!1,saveCurrentError:t.data.error});case r.Y:return Object(n.a)({},e,{recentlyCreated:null,saveCurrentError:null});default:return e}}},17:function(e,t,a){"use strict";a.d(t,"L",function(){return n}),a.d(t,"e",function(){return r}),a.d(t,"h",function(){return i}),a.d(t,"g",function(){return o}),a.d(t,"f",function(){return c}),a.d(t,"i",function(){return s}),a.d(t,"l",function(){return l}),a.d(t,"k",function(){return u}),a.d(t,"j",function(){return d}),a.d(t,"u",function(){return m}),a.d(t,"x",function(){return p}),a.d(t,"w",function(){return h}),a.d(t,"v",function(){return f}),a.d(t,"a",function(){return b}),a.d(t,"d",function(){return v}),a.d(t,"c",function(){return g}),a.d(t,"b",function(){return y}),a.d(t,"y",function(){return E}),a.d(t,"B",function(){return O}),a.d(t,"A",function(){return w}),a.d(t,"z",function(){return k}),a.d(t,"m",function(){return j}),a.d(t,"p",function(){return N}),a.d(t,"o",function(){return D}),a.d(t,"n",function(){return S}),a.d(t,"C",function(){return A}),a.d(t,"q",function(){return _}),a.d(t,"t",function(){return C}),a.d(t,"s",function(){return x}),a.d(t,"r",function(){return I}),a.d(t,"D",function(){return T}),a.d(t,"G",function(){return P}),a.d(t,"F",function(){return M}),a.d(t,"E",function(){return R}),a.d(t,"H",function(){return L}),a.d(t,"K",function(){return F}),a.d(t,"J",function(){return U}),a.d(t,"I",function(){return W});var n="SOCIAL_TEST_ACTION",r="CREATE_POST_BEGIN",i="CREATE_POST_SUCCESS",o="CREATE_POST_FAILURE",c="CREATE_POST_DISMISS_ERROR",s="FETCH_POSTS_BEGIN",l="FETCH_POSTS_SUCCESS",u="FETCH_POSTS_FAILURE",d="FETCH_POSTS_DISMISS_ERROR",m="PATCH_POST_BEGIN",p="PATCH_POST_SUCCESS",h="PATCH_POST_FAILURE",f="PATCH_POST_DISMISS_ERROR",b="ADD_USER_ACTION_BEGIN",v="ADD_USER_ACTION_SUCCESS",g="ADD_USER_ACTION_FAILURE",y="ADD_USER_ACTION_DISMISS_ERROR",E="REMOVE_USER_ACTION_BEGIN",O="REMOVE_USER_ACTION_SUCCESS",w="REMOVE_USER_ACTION_FAILURE",k="REMOVE_USER_ACTION_DISMISS_ERROR",j="FETCH_USER_ACTIONS_BEGIN",N="FETCH_USER_ACTIONS_SUCCESS",D="FETCH_USER_ACTIONS_FAILURE",S="FETCH_USER_ACTIONS_DISMISS_ERROR",A="SET_MAP_VISIBLE_POSTS",_="GET_POST_BEGIN",C="GET_POST_SUCCESS",x="GET_POST_FAILURE",I="GET_POST_DISMISS_ERROR",T="SOCIAL_GET_USER_ACTION_BEGIN",P="SOCIAL_GET_USER_ACTION_SUCCESS",M="SOCIAL_GET_USER_ACTION_FAILURE",R="SOCIAL_GET_USER_ACTION_DISMISS_ERROR",L="SOCIAL_PATCH_USER_ACTION_BEGIN",F="SOCIAL_PATCH_USER_ACTION_SUCCESS",U="SOCIAL_PATCH_USER_ACTION_FAILURE",W="SOCIAL_PATCH_USER_ACTION_DISMISS_ERROR"},170:function(e,t,a){"use strict";a.d(t,"c",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l});var n=a(10),r=a(12),i=a(16),o=(a(124),i.a.service("devices"));function c(e){return function(t){return t({type:r.P,data:e}),o.remove(e._id).then(function(a){t({type:r.W,data:e})}).catch(function(e){t({type:r.V,data:{error:e}})})}}function s(){return{type:r.U}}function l(e,t){switch(t.type){case r.P:return Object(n.a)({},e,{removingDevice:t.data,removeDevicePending:!0,removeDeviceError:null});case r.W:return Object(n.a)({},e,{lastRemovedDevice:t.data,removingDevice:!1,removeDevicePending:!1,removeDeviceError:null,current:{}});case r.V:return Object(n.a)({},e,{removeDevicePending:!1,removeDeviceError:t.data.error});case r.U:return Object(n.a)({},e,{removeDeviceError:null});default:return e}}},171:function(e,t,a){"use strict";a.d(t,"a",function(){return c}),a.d(t,"b",function(){return s}),a.d(t,"c",function(){return l});var n=a(10),r=a(12),i=a(29),o=a(100);function c(e){return function(t){return t({type:r.a}),o(Object(i.s)()+"/maccheck/"+e).then(function(e){return e.json()}).then(function(e){t({type:r.d,data:{macAddressExists:e.total>0}})}).catch(function(e){console.log("err"),console.log(e),t({type:r.c,data:{error:e}})})}}function s(){return{type:r.b}}function l(e,t){switch(t.type){case r.a:return Object(n.a)({},e,{checkMacAddressPending:!0,checkMacAddressSuccess:!1,checkMacAddressError:null});case r.d:return Object(n.a)({},e,{checkMacAddressPending:!1,checkMacAddressError:null,checkMacAddressSuccess:!0},t.data);case r.c:return Object(n.a)({},e,{checkMacAddressPending:!1,checkMacAddressSuccess:!1,checkMacAddressError:t.data.error});case r.b:return Object(n.a)({},e,{checkMacAddressError:null});default:return e}}},172:function(e,t,a){"use strict";a.d(t,"b",function(){return s}),a.d(t,"a",function(){return l}),a.d(t,"c",function(){return u});var n=a(10),r=a(12),i=a(16),o=a(2),c=a(3),s=Object(i.f)("devices",{begin:r.L,success:r.O,fail:r.N});function l(){return{type:r.M}}function u(e,t){switch(t.type){case r.L:var a=t.data;return e.devices=Object(c.updateArrayForObject)(e.devices,a),e.allDevices=Object(c.updateArrayForObject)(e.allDevices,a),e.dashboardDevice&&e.dashboardDevice._id===a.id&&(e.dashboardDevice=Object(o.merge)(e.dashboardDevice,a.args)),Object(n.a)({},e,{patchPending:!0,patchError:null});case r.O:return Object(n.a)({},e,{patchPending:!1,patchError:null});case r.N:return Object(n.a)({},e,{patchPending:!1,patchError:t.data.error});case r.M:return Object(n.a)({},e,{patchError:null});default:return e}}},173:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(12),i=a(16),o=Object(i.d)("devices",{begin:r.h,success:r.k,fail:r.j});function c(){return{type:r.i}}function s(e,t){switch(t.type){case r.h:return Object(n.a)({},e,{fetchAllDevicesPending:!0,fetchAllDevicesError:null,allDevices:[]});case r.k:return Object(n.a)({},e,{fetchAllDevicesPending:!1,fetchAllDevicesError:null,allDevices:t.data});case r.j:return Object(n.a)({},e,{fetchAllDevicesPending:!1,fetchAllDevicesError:t.data.error,allDevices:null});case r.i:return Object(n.a)({},e,{fetchAllDevicesError:null});default:return e}}},174:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(12),i=a(16),o=Object(i.d)("devices",{begin:r.p,success:r.y,fail:r.x});function c(){return{type:r.w}}function s(e,t){switch(t.type){case r.p:return Object(n.a)({},e,{fetchDevicePending:!0,fetchDeviceError:null});case r.y:return Object(n.a)({},e,{fetchDevicePending:!1,fetchDeviceError:null,fetchedDevices:t.skipCache?e.fetchedDevices:t.data});case r.x:return Object(n.a)({},e,{fetchDevicePending:!1,fetchDeviceError:t.data.error});case r.w:return Object(n.a)({},e,{fetchDeviceError:null,fetchedDevices:[]});default:return e}}},175:function(e,t,a){"use strict";a.d(t,"b",function(){return s}),a.d(t,"a",function(){return l}),a.d(t,"c",function(){return u});var n=a(10),r=a(12),i=a(16),o=a(2),c=a(3),s=Object(i.e)("devices",{begin:r.F,success:r.I,fail:r.H});function l(){return{type:r.G}}function u(e,t){switch(t.type){case r.F:return Object(n.a)({},e,{getDevicePending:!0,getDeviceError:null,getDeviceIdsPending:Object(o.append)(t.data,e.getDeviceIdsPending)});case r.I:var a=Object.assign({},e),i=t.data,s=Object.assign({},e.deviceCache);return i.fetched=Date.now(),s[i._id]=i,a.dashboardDevice&&a.dashboardDevice._id===i._id&&(a.dashboardDevice=i),Object(n.a)({},a,{getDevicePending:!1,getDeviceError:null,deviceCache:s,getDeviceIdsPending:Object(c.removeFromArr)(i._id,e.getDeviceIdsPending)});case r.H:return Object(n.a)({},e,{getDevicePending:!1,getDeviceError:t.data.error,getDeviceIdsPending:Object(c.removeFromArr)(t.data.id,e.getDeviceIdsPending),getDeviceFailures:Object(o.append)(t.data.id,e.getDeviceFailures)});case r.G:return Object(n.a)({},e,{getDeviceError:null});default:return e}}},176:function(e,t,a){"use strict";a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l}),a.d(t,"c",function(){return u});var n=a(10),r=a(27),i=a(106),o=a(16),c=o.a.service("alerts");function s(e){return function(t){return t({type:r.b}),e.userId=o.a.get("user")._id,c.create(e).then(function(a){t({type:r.e,data:a}),Object(i.b)({userId:e.userId})(t)}).catch(function(e){t({type:r.d,data:{error:e}})})}}function l(){return{type:r.c}}function u(e,t){switch(t.type){case r.b:return Object(n.a)({},e,{createAlertPending:!0,createAlertError:null});case r.e:return Object(n.a)({},e,{createAlertPending:!1,createAlertError:null});case r.d:return Object(n.a)({},e,{createAlertPending:!1,createAlertError:t.data.error});case r.c:return Object(n.a)({},e,{createAlertError:null});default:return e}}},177:function(e,t,a){"use strict";a.d(t,"c",function(){return s}),a.d(t,"a",function(){return l}),a.d(t,"b",function(){return u});var n=a(10),r=a(27),i=a(16),o=a(3),c=i.a.service("alerts");function s(e){return function(t){return t({type:r.s,data:e}),c.remove(e._id).then(function(a){t({type:r.v,data:e})}).catch(function(e){t({type:r.u,data:{error:e}})})}}function l(){return{type:r.t}}function u(e,t){switch(t.type){case r.s:return Object(n.a)({},e,{removeAlertPending:!0,removeAlertError:null});case r.v:return Object(n.a)({},e,{removeAlertPending:!1,removeAlertError:null,alerts:Object(o.removeFromArr)(t.data,e.alerts)});case r.u:return Object(n.a)({},e,{removeAlertPending:!1,removeAlertError:t.data.error});case r.t:return Object(n.a)({},e,{removeAlertError:null});default:return e}}},178:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"c",function(){return l});var n=a(10),r=a(27),i=a(16),o=a(2),c=Object(i.d)("alertInstances",{begin:r.n,success:r.r,fail:r.p,pagination:r.q});function s(){return{type:r.o}}function l(e,t){switch(t.type){case r.n:return Object(n.a)({},e,{fetchInstancesPending:!0,fetchInstancesError:null});case r.r:return Object(n.a)({},e,{fetchInstancesPending:!1,fetchInstancesError:null,alertInstances:t.skipCache?e.alertInstances:Object(o.uniqBy)(Object(o.prop)("_id"),Object(o.concat)(e.alertInstances,t.data))});case r.p:return Object(n.a)({},e,{fetchInstancesPending:!1,fetchInstancesError:t.data.error});case r.q:return Object(n.a)({},e,{fetchInstancesPagination:t.data});case r.o:return Object(n.a)({},e,{fetchInstancesError:null});default:return e}}},179:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(27),i=a(16),o=Object(i.d)("alerts",{begin:r.j,success:r.m,fail:r.l});function c(){return{type:r.k}}function s(e,t){switch(t.type){case r.j:return Object(n.a)({},e,{fetchIftttAlertsPending:!0,fetchIftttAlertsError:null,iftttAlerts:[]});case r.m:return Object(n.a)({},e,{fetchIftttAlertsPending:!1,fetchIftttAlertsError:null,iftttAlerts:t.data});case r.l:return Object(n.a)({},e,{fetchIftttAlertsPending:!1,fetchIftttAlertsError:t.data.error,iftttAlerts:!1});case r.k:return Object(n.a)({},e,{fetchIftttAlertsError:null});default:return e}}},180:function(e,t,a){"use strict";a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l}),a.d(t,"c",function(){return u});var n=a(10),r=a(17),i=a(16),o=a(2),c=a(3),s=Object(i.c)("posts",{begin:r.e,success:r.h,fail:r.g});function l(){return{type:r.f}}function u(e,t){switch(t.type){case r.e:return Object(n.a)({},e,{createPostPending:!0,createPostError:null});case r.h:return Object(c.trackEvent)("social","post","created"),Object(n.a)({},e,{createPostPending:!1,createPostError:null,allPosts:Object(o.prepend)(t.data,e.allPosts)});case r.g:return Object(n.a)({},e,{createPostPending:!1,createPostError:t.data.error});case r.f:return Object(n.a)({},e,{createPostError:null});default:return e}}},181:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"c",function(){return l});var n=a(10),r=a(17),i=a(16),o=a(2),c=Object(i.d)("posts",{begin:r.i,success:r.l,fail:r.k});function s(){return{type:r.j}}function l(e,t){var a;switch(t.type){case r.i:return a=Object(n.a)({},e,{fetchPostsPending:!0,fetchPostsError:null}),"boosted"===t.dataKey&&(a.fetchedBoosted=!0),a;case r.l:return a=Object(n.a)({},e,{fetchPostsPending:!1,fetchPostsError:null,allPosts:Object(o.pipe)(Object(o.concat)(t.data),Object(o.uniqBy)(Object(o.prop)("_id")),Object(o.sort)(function(e,t){return t.expiresAt-e.expiresAt}))(e.allPosts)}),"boosted"===t.dataKey&&(a.fetchedBoosted=!0),a;case r.k:return Object(n.a)({},e,{fetchPostsPending:!1,fetchPostsError:t.data.error});case r.j:return Object(n.a)({},e,{fetchPostsError:null});default:return e}}},182:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"c",function(){return l});var n=a(10),r=a(17),i=a(16),o=a(3),c=Object(i.f)("posts",{begin:r.u,success:r.x,fail:r.w});function s(){return{type:r.v}}function l(e,t){switch(t.type){case r.u:var a=t.data;return e.allPosts=Object(o.updateArrayForObject)(e.allPosts,a),Object(n.a)({},e,{patchPostPending:!0,patchPostError:null});case r.x:return Object(n.a)({},e,{patchPostPending:!1,patchPostError:null});case r.w:return Object(n.a)({},e,{patchPostPending:!1,patchPostError:t.data.error});case r.v:return Object(n.a)({},e,{patchPostError:null});default:return e}}},183:function(e,t,a){"use strict";a.d(t,"a",function(){return s}),a.d(t,"b",function(){return l}),a.d(t,"c",function(){return p});var n=a(10),r=a(17),i=a(16),o=a(2),c=a(3),s=Object(i.c)("userActions",{begin:r.a,success:r.d,fail:r.c});function l(){return{type:r.b}}var u={like:function(e,t){return e.likes=e.likes||0,t._id?e.liked=t._id:(e.likes+=1,e.liked=!0),e},comment:function(e,t){return e.comments=e.comments||0,t._id?(e.recentComments=e.recentComments||[],e.recentComments.push(t)):e.comments+=1,e}},d=function(e,t){return Object.keys(u).includes(e.type)&&"post"===e.to.type?(e._id||Object(c.trackEvent)("social",e.to.type,e.type),t.map(function(t){return t._id===e.to._id&&(t=u[e.type](t,e)),t})):t},m=function(e,t){return"fav"!==e.type?t:t&&"device"===e.to.type?Object(o.prepend)(Object(o.pick)(["_id","to"],e),t.filter(function(t){return t.to._id!==e.to._id})):t};function p(e,t){switch(t.type){case r.a:return Object(n.a)({},e,{addUserActionPending:!0,addUserActionError:null,allPosts:d(t.data,e.allPosts),favs:m(t.data,e.favs)});case r.d:return Object(n.a)({},e,{addUserActionPending:!1,addUserActionError:null,allPosts:d(t.data,e.allPosts),favs:m(t.data,e.favs)});case r.c:return Object(n.a)({},e,{addUserActionPending:!1,addUserActionError:t.data.error});case r.b:return Object(n.a)({},e,{addUserActionError:null});default:return e}}},184:function(e,t,a){"use strict";a.d(t,"c",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"b",function(){return l});var n=a(10),r=a(17),i=a(16),o=Object(i.g)("userActions",{begin:r.y,success:r.B,fail:r.A});function c(){return{type:r.z}}var s=function(e,t){return t.map(function(t){return t.liked===e&&(t.likes=t.likes||1,t.likes-=1,t.liked=!1),t})};function l(e,t){var a;switch(t.type){case r.y:return(a=Object(n.a)({},e,{removeUserActionPending:!0,removeUserActionError:null,allPosts:s(t.data,e.allPosts)})).favs&&(a.favs=a.favs.filter(function(e){return e._id!==t.data})),a;case r.B:return Object(n.a)({},e,{removeUserActionPending:!1,removeUserActionError:null});case r.A:return Object(n.a)({},e,{removeUserActionPending:!1,removeUserActionError:t.data.error});case r.z:return Object(n.a)({},e,{removeUserActionError:null});default:return e}}},185:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=a(17),i=a(16),o=Object(i.e)("posts",{begin:r.q,success:r.t,fail:r.s});function c(){return{type:r.r}}function s(e,t){switch(t.type){case r.q:return Object(n.a)({},e,{getPostPending:!0,getPostError:null});case r.t:return Object(n.a)({},e,{getPostPending:!1,getPostError:null});case r.s:return Object(n.a)({},e,{getPostPending:!1,getPostError:t.data.error});case r.r:return Object(n.a)({},e,{getPostError:null});default:return e}}},186:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=(a(0),a(26),a(16)),i=a(17),o=Object(r.e)("userActions",{begin:i.D,success:i.G,fail:i.F});function c(){return{type:i.E}}function s(e,t){switch(t.type){case i.D:return Object(n.a)({},e,{getUserActionPending:!0,getUserActionError:null});case i.G:return Object(n.a)({},e,{getUserActionPending:!1,getUserActionError:null});case i.F:return Object(n.a)({},e,{getUserActionPending:!1,getUserActionError:t.data.error});case i.E:return Object(n.a)({},e,{getUserActionError:null});default:return e}}},187:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c}),a.d(t,"c",function(){return s});var n=a(10),r=(a(0),a(26),a(17)),i=a(16),o=Object(i.f)("userActions",{begin:r.H,success:r.K,fail:r.J});function c(){return{type:r.I}}function s(e,t){switch(t.type){case r.H:return Object(n.a)({},e,{patchUserActionPending:!0,patchUserActionError:null});case r.K:return Object(n.a)({},e,{patchUserActionPending:!1,patchUserActionError:null});case r.J:return Object(n.a)({},e,{patchUserActionPending:!1,patchUserActionError:t.data.error});case r.I:return Object(n.a)({},e,{patchUserActionError:null});default:return e}}},218:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(10),r=a(14);function i(){return{type:r.X}}function o(e,t){switch(t.type){case r.X:return Object(n.a)({},e);default:return e}}},219:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"a",function(){return l});var n=a(10),r=a(2),i=a(14),o=a(16).a.service("users");function c(e,t){return{type:i.S,data:{key:e,setting:t}}}var s=!1;function l(e,t){switch(t.type){case i.S:var a=e.info.settings,c=void 0===a?{}:a,l=t.data.key;return Array.isArray(t.data.setting)?c[l]=t.data.setting:c[l]=Object(r.merge)(c[l]||{},t.data.setting),e.info.settings=c,s&&clearTimeout(s),s=setTimeout(function(){o.emit("patch"),o.patch(e.info._id,{settings:c})},500),Object(n.a)({},e);case"UPDATE_USER_PATCHINGS":return Object(n.a)({},e,{userPatchings:"+"===t.data?e.userPatchings+1:e.userPatchings-1});default:return e}}},220:function(e,t,a){"use strict";a.d(t,"a",function(){return o}),a.d(t,"b",function(){return c});var n=a(10),r=a(14),i=a(16);function o(e){return i.a.set("user",e),{type:r.a,data:e}}function c(e,t){switch(t.type){case r.a:return Object(n.a)({},e,{adminImpersonation:e.adminImpersonation||e.info,info:t.data});default:return e}}},221:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(14);function i(){return{type:r.b}}function o(e,t){switch(t.type){case r.b:return Object(n.a)({},e,{users:!1});default:return e}}},222:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c});var n=a(10),r=a(14),i=a(3);function o(e){return(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&Object(i.setStorage)("userUnits",e),{type:r.R,data:e}}function c(e,t){switch(t.type){case r.R:return Object(n.a)({},e,{userUnits:t.data});default:return e}}},223:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(12);function i(){return{type:r.f}}function o(e,t){switch(t.type){case r.f:return Object(n.a)({},e);default:return e}}},224:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c});var n=a(10),r=a(12),i=a(2);function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:r.hb,data:e}}function c(e,t){switch(t.type){case r.hb:return Object(n.a)({},e,{current:Object(i.merge)(e.current||{},t.data)});default:return e}}},225:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(12),r=a(3);function i(e){return{type:n.cb,data:e}}function o(e,t){switch(t.type){case n.cb:var a=Object(r.removeDayDataCache)(e);return window.localStorage.deviceI=t.data,a.deviceI=t.data,a;default:return e}}},226:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(12);function i(){return{type:r.e}}function o(e,t){switch(t.type){case r.e:return Object(n.a)({},e,{current:{}});default:return e}}},227:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(10),r=a(12);function i(e){return{type:r.gb,data:e}}function o(e,t){switch(t.type){case r.gb:return Object(n.a)({},e,{shareDevice:t.data});default:return e}}},228:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(12);function i(){return{type:r.K}}function o(e,t){switch(t.type){case r.K:return Object(n.a)({},e,{manualRefresh:Math.random(),graphDataRefined:!1});default:return e}}},229:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(12);function i(e){return{type:r.g,data:e}}function o(e,t){switch(t.type){case r.g:return Object(n.a)({},e,{editingSummaryCell:t.data});default:return e}}},230:function(e,t,a){"use strict";a.d(t,"b",function(){return o}),a.d(t,"a",function(){return c});var n=a(10),r=a(12),i=a(3);function o(e){return{type:r.bb,data:e}}function c(e,t){switch(t.type){case r.bb:return Object(n.a)({},Object(i.removeDayDataCache)(e),{dashboardDevice:!!t.data&&(e.deviceCache[t.data._id]||t.data)});default:return e}}},231:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(10),r=a(12);function i(e){return{type:r.db,data:e}}function o(e,t){switch(t.type){case r.db:return Object(n.a)({},e,{mapVisibleDevices:t.data});default:return e}}},232:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(10),r=a(12);function i(e){return{type:r.eb,data:e}}function o(e,t){switch(t.type){case r.eb:return Object(n.a)({},e,{sidebar:t.data});default:return e}}},233:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(12);function i(e){return{type:r.E,data:e}}function o(e,t){switch(t.type){case r.E:return Object(n.a)({},e,{focusDevice:t.data});default:return e}}},234:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(12);function i(e){return{type:r.J,data:e}}function o(e,t){switch(t.type){case r.J:return Object(n.a)({},e,{hoverDevice:t.data});default:return e}}},235:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(10),r=a(12);function i(e,t){var a={};return a[e]=t,{type:r.fb,data:a}}function o(e,t){switch(t.type){case r.fb:return Object.assign(Object(n.a)({},e),t.data);default:return e}}},236:function(e,t,a){"use strict";a.d(t,"a",function(){return i}),a.d(t,"b",function(){return o});var n=a(10),r=a(27);function i(){return{type:r.a}}function o(e,t){switch(t.type){case r.a:return Object(n.a)({},e);default:return e}}},237:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(10),r=a(17);function i(){return{type:r.L}}function o(e,t){switch(t.type){case r.L:return Object(n.a)({},e);default:return e}}},238:function(e,t,a){"use strict";a.d(t,"b",function(){return i}),a.d(t,"a",function(){return o});var n=a(10),r=a(17);function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{type:r.C,data:e}}function o(e,t){switch(t.type){case r.C:return Object(n.a)({},e,{mapVisiblePosts:t.data});default:return e}}},239:function(e,t,a){"use strict";var n={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t,a,r,i,o,c,s,l="",u=0;for(e=n._utf8_encode(e);u<e.length;)i=(t=e.charCodeAt(u++))>>2,o=(3&t)<<4|(a=e.charCodeAt(u++))>>4,c=(15&a)<<2|(r=e.charCodeAt(u++))>>6,s=63&r,isNaN(a)?c=s=64:isNaN(r)&&(s=64),l=l+this._keyStr.charAt(i)+this._keyStr.charAt(o)+this._keyStr.charAt(c)+this._keyStr.charAt(s);return l},decode:function(e){var t,a,r,i,o,c,s="",l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<e.length;)t=this._keyStr.indexOf(e.charAt(l++))<<2|(i=this._keyStr.indexOf(e.charAt(l++)))>>4,a=(15&i)<<4|(o=this._keyStr.indexOf(e.charAt(l++)))>>2,r=(3&o)<<6|(c=this._keyStr.indexOf(e.charAt(l++))),s+=String.fromCharCode(t),64!=o&&(s+=String.fromCharCode(a)),64!=c&&(s+=String.fromCharCode(r));return s=n._utf8_decode(s)},_utf8_encode:function(e){var t="";e=e.replace(/\r\n/g,"\n");for(var a=0;a<e.length;a++){var n=e.charCodeAt(a);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t},_utf8_decode:function(e){var t,a,n,r="",i=0;for(t=a=0;i<e.length;)(t=e.charCodeAt(i))<128?(r+=String.fromCharCode(t),i++):t>191&&t<224?(a=e.charCodeAt(i+1),r+=String.fromCharCode((31&t)<<6|63&a),i+=2):(a=e.charCodeAt(i+1),n=e.charCodeAt(i+2),r+=String.fromCharCode((15&t)<<12|(63&a)<<6|63&n),i+=3);return r}};t.a=n},24:function(e,t,a){"use strict";a.d(t,"e",function(){return i}),a.d(t,"g",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"f",function(){return l}),a.d(t,"c",function(){return u}),a.d(t,"d",function(){return d}),a.d(t,"b",function(){return m});a(0);var n={id:"ambient",token:"aw",cssMod:"",hostname:"ambientweather.net",legalname:"Ambient, LLC",sitename:"AmbientWeather.net",sitePath:"https://ambientweather.net",businessname:"Ambient Weather",deviceFeatures:["aw","pws","wu","aa","ga","ift"],tagline1:"Weather is personal.",tagline2:"Get real-time weather where you are, with Ambient Weather.",helpUrl:"https://ambientweather.com/support",helpUrlBase:"https://help.ambientweather.net/help/",facebookUrl:"https://www.facebook.com/groups/ambientweathernetwork/",privacyUrl:"https://nkhome.com/nk/legal/privacy",sharePublicly:!0},r=[{id:"kestrel",token:"km",cssMod:"km light",hostname:"kestrelmet.net",legalname:"Nielsen-Kellerman Co.",sitename:"KestrelMet.net",sitePath:"https://kestrelmet.net",businessname:"KestrelMet",deviceFeatures:["aw","km_aw","pws","wu"],tagline1:"Weather insight for your profession or passion.",tagline2:"Get real-time weather where you are, with KestrelMet.",helpUrl:"https://kestrelinstruments.com/nk/contact/contact-us",helpUrlBase:"https://kestrelinstruments.com/help/",facebookUrl:"https://www.facebook.com/kestrelmeters/",privacyUrl:"https://nkhome.com/nk/legal/privacy",sharePublicly:!1},{id:"ambient",token:"aw",cssMod:"",hostname:"aw.ambientweather.net",legalname:"Ambient, LLC",sitename:"AmbientWeather.net",sitePath:"https://aw.ambientweather.net",businessname:"Ambient Weather",deviceFeatures:["aw","pws","wu","aa","ga","ift"],tagline1:"Weather is personal.",tagline2:"Get real-time weather where you are, with Ambient Weather.",helpUrl:"https://ambientweather.com/support",helpUrlBase:"https://help.ambientweather.net/help/",facebookUrl:"https://www.facebook.com/groups/ambientweathernetwork/",privacyUrl:"https://nkhome.com/nk/legal/privacy",sharePublicly:!0},{id:"kestrel",token:"km",cssMod:"theme-km",hostname:"km.ambientweather.net",legalname:"Nielsen-Kellerman Co.",sitename:"KestrelMet.net",sitePath:"https://km.ambientweather.net",businessname:"KestrelMet",deviceFeatures:["aw","km_aw","pws","wu"],tagline1:"Weather insight for your profession or passion.",tagline2:"Get real-time weather where you are, with KestrelMet.",helpUrl:"https://kestrelinstruments.com/nk/contact/contact-us",helpUrlBase:"https://kestrelinstruments.com/help/",facebookUrl:"https://www.facebook.com/kestrelmeters/",privacyUrl:"https://nkhome.com/nk/legal/privacy",sharePublicly:!1},{id:"rainwise",token:"rw",cssMod:"skin-rw",hostname:"beta.rainwise.net",legalname:"RainWise Co.",sitename:"RainWise.net",sitePath:"https://beta.rainwise.net",businessname:"RainWise",deviceFeatures:["aw","pws","wu","aa","ga","ift"],tagline1:"Weather is personal.",tagline2:"Get real-time weather where you are, with RainWise.",helpUrl:"https://rainwise.com/support",helpUrlBase:"https://rainwise.com/help/",facebookUrl:"https://www.facebook.com/RainWiseIncorporated/",privacyUrl:"https://nkhome.com/nk/legal/privacy",sharePublicly:!1},{id:"localhost",token:"km",cssMod:"theme-km",hostname:"localhost-no",legalname:"Nielsen-Kellerman Co.",sitename:"KestrelMet.net",sitePath:"https://localhost",businessname:"KestrelMet",deviceFeatures:["aw","km_aw","pws","wu"],tagline1:"Weather insight for your profession or passion.",tagline2:"Get real-time weather where you are, with KestrelMet.",helpUrl:"https://kestrelinstruments.com/nk/contact/contact-us",helpUrlBase:"https://kestrelinstruments.com/help/",facebookUrl:"https://www.facebook.com/kestrelmeters/",privacyUrl:"https://nkhome.com/nk/legal/privacy",sharePublicly:!1}];function i(){return o()}function o(){var e=r.find(function(e){return e.hostname===window.hostname});return e||n}function c(e){return o().deviceFeatures.includes(e)}function s(e){return e?e+" "+o().cssMod:o().cssMod}function l(){return o().token}function u(){return o().legalname}function d(){return o().sitename}function m(){return o().businessname}},249:function(e,t,a){"use strict";var n=a(45),r=a(461),i=a(312),o=a(97),c=a(191),s=a(10),l=a(3),u=a(2),d={fetchUserPending:!1,fetchUserError:null,createUserPending:!1,createUserError:null,logoutUserPending:!1,logoutUserError:null,confirmUserPending:!1,confirmUserError:null,info:{},users:!1,adminImpersonation:!1,sendConfirmationPending:!1,sendConfirmationError:null,patchPending:!1,patchError:null,fetchUsersPending:!1,fetchUsersError:null,fetchAlexaDataPending:!1,fetchAlexaDataError:null,alexaData:[],ipInfo:!1,fetchInfoPending:!1,fetchInfoError:null,modal:"",userUnits:Object(l.getStorage)("userUnits"),createShortUrlPending:!1,createShortUrlError:null,userPatchings:0,refreshUserPending:!1,refreshUserError:null},m=a(218),p=a(158),h=a(160),f=a(104),b=a(161),v=a(219),g=a(162),y=a(163),E=a(164),O=a(220),w=a(165),k=a(221),j=a(166),N=a(132),D=a(222),S=a(167),A=a(168),_=[m.a,p.c,h.c,f.c,b.c,v.a,g.b,y.c,E.c,O.b,w.c,k.b,j.c,N.b,D.a,S.c,A.b];var C={current:{},dataTableData:!1,deviceI:Object(l.getStorage)("deviceI")>-1?parseInt(Object(l.getStorage)("deviceI"),10):0,deviceCache:{},getDeviceIdsPending:[],getDeviceFailures:[],saveCurrentPending:!1,saveCurrentError:null,fetchDevicesPending:!1,fetchDevicesError:null,removeDevicePending:!1,removeDeviceError:null,checkMacAddressPending:!1,checkMacAddressError:null,checkMacAddressSuccess:!1,checkMacAddressDataExists:null,fetchDeviceDataPending:!1,fetchDeviceDataKeysPending:[],fetchDeviceDataError:null,deviceDataAllDisplayKeys:[],deviceDataAllDataKeys:[],removeDeviceDataPending:!1,removeDeviceDataError:null,patchPending:!1,patchError:null,fetchAllDevicesPending:!1,fetchAllDevicesError:null,allDevices:null,updateDeviceDataPending:!1,updateDeviceDataError:null,fetchDevicePending:!1,fetchDeviceError:null,fetchedDevices:[],manualRefresh:3,getDevicePending:!1,getDeviceError:null,dashboardDevice:null,fetchForecastPending:!1,fetchForecastError:null,mapVisibleDevices:[],sidebar:!1,mapLayer:"",focusDevice:null,hoverDevice:null,forecastCache:{}},x=a(223),I=a(224),T=a(169),P=a(124),M=a(170),R=a(171),L=a(95),F=a(125),U=a(172),W=a(225),H=a(226),B=a(173),Y=a(126),G=a(174),z=a(227),K=a(228),q=a(229),V=a(175),$=a(230),Q=a(127),X=a(231),J=a(232),Z=a(233),ee=a(234),te=a(235),ae=[x.b,I.a,T.b,P.c,M.b,R.c,L.f,F.b,U.c,W.a,H.b,B.c,Y.b,G.c,z.a,K.b,q.b,V.c,$.a,Q.d,X.a,J.a,Z.b,ee.b,te.a];var ne={createAlertPending:!1,createAlertError:null,fetchAlertsPending:!1,fetchAlertsError:null,alerts:!1,removeAlertPending:!1,removeAlertError:null,fetchInstancesPending:!1,fetchInstancesError:null,fetchInstancesPagination:null,alertInstances:[],fetchIftttAlertsPending:!1,fetchIftttAlertsError:null,iftttAlerts:!1},re=a(236),ie=a(176),oe=a(106),ce=a(177),se=a(178),le=a(179),ue=[re.b,ie.c,oe.c,ce.b,se.c,le.c];var de={createPostPending:!1,createPostError:null,allPosts:[],mapVisiblePosts:[],fetchPostsPending:!1,fetchPostsError:null,favs:!1,patchPostPending:!1,patchPostError:null,addLikePending:!1,addLikeError:null,addUserActionPending:!1,addUserActionError:null,removeUserActionPending:!1,removeUserActionError:null,fetchUserActionsPending:!1,fetchUserActionsPendingDataKeys:[],fetchUserActionsError:null,getPostPending:!1,getPostError:null,getUserActionPending:!1,getUserActionError:null,patchUserActionPending:!1,patchUserActionError:null},me=a(237),pe=a(180),he=a(181),fe=a(182),be=a(183),ve=a(184),ge=a(105),ye=a(238),Ee=a(185),Oe=a(186),we=a(187),ke=[me.a,pe.c,he.c,fe.c,be.c,ve.b,ge.c,ye.a,Ee.c,Oe.c,we.c];var je={mapLocation:Object(l.getStorage)("lastLocationSearch")&&Object(l.makeSureObjHasGeo)(Object(l.getStorage)("lastLocationSearch")),appClass:[],online:!0,forecastOpen:!1},Ne=a(128),De=a(129),Se=a(14),Ae=a(96),_e=a(130),Ce=a(12),xe=[Ne.a,De.a,Ae.a,_e.a];var Ie={},Te=[];var Pe={router:Object(c.b)(o.a),user:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,a=arguments.length>1?arguments[1]:void 0;switch(a.type){case"CLEAR_USER_DEVICES":e=Object(s.a)({},t),t.users&&(e.users=t.users.map(function(e){return e._id===a.userId&&(e.devices=[]),Object(u.clone)(e)}));break;case"ADD_DEVICES_TO_USER":e=Object(s.a)({},t),t.users&&(e.users=t.users.map(function(e){return e.devices=e.devices?e.devices.slice(0):[],a.data.forEach(function(t){e._id===t.userId&&e.devices.push(t)}),Object(u.clone)(e)}));break;case"GLOBAL_USER_SET":e=Object(l.mergeDeep)(t,a.data);break;default:e=t}return _.reduce(function(e,t){return t(e,a)},e)},device:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C,a=arguments.length>1?arguments[1]:void 0;switch(a.type){case"GLOBAL_DEVICE_SET":e=Object(l.mergeDeep)(t,a.data);break;case"RESET_DEVICE":e=C;break;default:e=t}return ae.reduce(function(e,t){return t(e,a)},e)},alert:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ne,a=arguments.length>1?arguments[1]:void 0;return a.type,e=t,ue.reduce(function(e,t){return t(e,a)},e)},social:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:de,a=arguments.length>1?arguments[1]:void 0;return a.type,e=t,ke.reduce(function(e,t){return t(e,a)},e)},common:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:je,a=arguments.length>1?arguments[1]:void 0;switch(a.type){case Se.w:if(t.mapLocation)e=t;else{var n=a.data,r={location:"".concat(n.city),label:"".concat(n.city,", ").concat(n.state),coords:{lon:n.longitude,lat:n.latitude},geo:{type:"Point",coordinates:[n.longitude,n.latitude]}};Object(l.setStorage)("lastLocationSearch",r),e=Object(s.a)({},t,{mapLocation:r})}break;case Ce.E:var i=Object(u.path)(["info","coords"],a.data);e=i?Object(s.a)({},t,{mapLocation:Object.assign({},i)}):t;break;default:e=t}return xe.reduce(function(e,t){return t(e,a)},e)},payment:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ie,a=arguments.length>1?arguments[1]:void 0;return a.type,e=t,Te.reduce(function(e,t){return t(e,a)},e)}},Me=Object(n.c)(Pe),Re=a(72),Le=a(111),Fe=function(e){var t,a=function(){var t=e.getState().device,a=t.dashboardDevice;a&&!Object(l.deviceIsMine)(t,a._id)&&Object(Re.getDevice)(a._id)(e.dispatch),Object(Re.fetchDevices)()(e.dispatch)},n=!1;function r(){Object(Re.manualRefresh)(),clearInterval(n),n=setInterval(a,6e4)}e.subscribe(function(){var n=e.getState().device;!t&&e.getState().user.info._id&&(t=e.getState().user.info,n.current.macAddress&&Object(Re.saveCurrent)(n.current)(e.dispatch),a(),r())}),Object(l.isCordova)()?((window.innerHeight<=736||window.innerWidth<=736)&&window.screen.orientation.lock("portrait"),document.addEventListener("pause",function(){e.dispatch(Object(Re.setThing)("appPaused",!0)),e.dispatch(Object(Re.clearForecast)()),clearInterval(n)}),document.addEventListener("resume",function(){e.dispatch(Object(Re.setThing)("appPaused",!1)),a();var t=Object(l.getStorage)("howManyTimesOpened")||[],n=Object(l.getStorage)("userPrompted"),i=t.filter(function(e){return e.time>Date.now()-6048e5});i.push({time:Date.now()}),i.length>=4?n||(Object(l.setStorage)("userPrompted",!0),setTimeout(function(){window.cordova.plugins.AppReview.requestReview().catch(function(){return window.cordova.plugins.AppReview.openStoreScreen()})},5e3)):Object(l.setStorage)("howManyTimesOpened",i),r()}),document.addEventListener("offline",function(){e.dispatch(Object(Le.setOnline)(!1))},!1),document.addEventListener("online",function(){e.dispatch(Object(Le.setOnline)(!0))},!1)):(window.addEventListener("offline",function(){e.dispatch(Object(Le.setOnline)(!1))},!1),window.addEventListener("online",function(){e.dispatch(Object(Le.setOnline)(!0))},!1))},Ue=a(16),We=a(73),He=Ue.a.service("users"),Be=function(e){He.on("patch",function(e){}),He.on("patched",function(e){}),e.getState().common.mapLocation||Object(We.fetchInfo)()(e.dispatch)},Ye=Object(i.a)(o.a),Ge=[r.a,Ye],ze=function(e){return e};t.a=function(e){var t=Object(n.e)(Me,e,Object(n.d)(n.a.apply(void 0,Ge),ze));return Fe(t),Be(t),t}()},27:function(e,t,a){"use strict";a.d(t,"a",function(){return n}),a.d(t,"b",function(){return r}),a.d(t,"e",function(){return i}),a.d(t,"d",function(){return o}),a.d(t,"c",function(){return c}),a.d(t,"f",function(){return s}),a.d(t,"i",function(){return l}),a.d(t,"h",function(){return u}),a.d(t,"g",function(){return d}),a.d(t,"s",function(){return m}),a.d(t,"v",function(){return p}),a.d(t,"u",function(){return h}),a.d(t,"t",function(){return f}),a.d(t,"n",function(){return b}),a.d(t,"r",function(){return v}),a.d(t,"q",function(){return g}),a.d(t,"p",function(){return y}),a.d(t,"o",function(){return E}),a.d(t,"j",function(){return O}),a.d(t,"m",function(){return w}),a.d(t,"l",function(){return k}),a.d(t,"k",function(){return j});var n="ALERT_TEST_ACTION",r="CREATE_ALERT_BEGIN",i="CREATE_ALERT_SUCCESS",o="CREATE_ALERT_FAILURE",c="CREATE_ALERT_DISMISS_ERROR",s="FETCH_ALERTS_BEGIN",l="FETCH_ALERTS_SUCCESS",u="FETCH_ALERTS_FAILURE",d="FETCH_ALERTS_DISMISS_ERROR",m="REMOVE_ALERT_BEGIN",p="REMOVE_ALERT_SUCCESS",h="REMOVE_ALERT_FAILURE",f="REMOVE_ALERT_DISMISS_ERROR",b="FETCH_INSTANCES_BEGIN",v="FETCH_INSTANCES_SUCCESS",g="FETCH_INSTANCES_PAGINATION",y="FETCH_INSTANCES_FAILURE",E="FETCH_INSTANCES_DISMISS_ERROR",O="FETCH_IFTTT_ALERTS_BEGIN",w="FETCH_IFTTT_ALERTS_SUCCESS",k="FETCH_IFTTT_ALERTS_FAILURE",j="FETCH_IFTTT_ALERTS_DISMISS_ERROR"},271:function(e,t,a){"use strict";a.r(t),a.d(t,"_",function(){return s}),a.d(t,"createSymbol",function(){return l}),a.d(t,"stripSlashes",function(){return c});var n=a(33),r=a(79),i=a(22),o={},c=function(e){return e.replace(/^(\/+)|(\/+)$/g,"")};o.stripSlashes=c;var s=o._={each:function(e,t){e&&"function"===typeof e.forEach?e.forEach(t):s.isObject(e)&&Object.keys(e).forEach(function(a){return t(e[a],a)})},some:function(e,t){return Object.keys(e).map(function(t){return[e[t],t]}).some(function(e){var a=Object(i.a)(e,2),n=a[0],r=a[1];return t(n,r)})},every:function(e,t){return Object.keys(e).map(function(t){return[e[t],t]}).every(function(e){var a=Object(i.a)(e,2),n=a[0],r=a[1];return t(n,r)})},keys:function(e){return Object.keys(e)},values:function(e){return s.keys(e).map(function(t){return e[t]})},isMatch:function(e,t){return s.keys(t).every(function(a){return e[a]===t[a]})},isEmpty:function(e){return 0===s.keys(e).length},isObject:function(e){return"object"===typeof e&&!Array.isArray(e)&&null!==e},isObjectOrArray:function(e){return"object"===typeof e&&null!==e},extend:function(){return Object.assign.apply(Object,arguments)},omit:function(e){for(var t=s.extend({},e),a=arguments.length,n=new Array(a>1?a-1:0),r=1;r<a;r++)n[r-1]=arguments[r];return n.forEach(function(e){return delete t[e]}),t},pick:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return a.reduce(function(t,a){return void 0!==e[a]&&(t[a]=e[a]),t},{})},merge:function(e,t){return s.isObject(e)&&s.isObject(t)&&Object.keys(t).forEach(function(a){s.isObject(t[a])?(e[a]||Object.assign(e,Object(r.a)({},a,{})),s.merge(e[a],t[a])):Object.assign(e,Object(r.a)({},a,t[a]))}),e}};o.select=function(e){for(var t=e&&e.query&&e.query.$select,a=arguments.length,r=new Array(a>1?a-1:0),i=1;i<a;i++)r[i-1]=arguments[i];Array.isArray(t)&&r.length&&t.push.apply(t,r);var o=function(e){return Array.isArray(t)?s.pick.apply(s,[e].concat(Object(n.a)(t))):e};return function(e){return Array.isArray(e)?e.map(o):o(e)}},o.isPromise=function(e){return s.isObject(e)&&"function"===typeof e.then},o.makeUrl=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a="function"===typeof t.get?t.get.bind(t):function(){},n=a("env")||"production",r=a("host")||Object({NODE_ENV:"production",PUBLIC_URL:""}).HOST_NAME||"localhost",i="development"===n||"test"===n||void 0===n?"http":"https",c=a("port")||Object({NODE_ENV:"production",PUBLIC_URL:""}).PORT||3030,s="development"===n||"test"===n||void 0===n?":".concat(c):"";return e=e||"","".concat(i,"://").concat(r).concat(s,"/").concat(o.stripSlashes(e))};var l=function(e){return"undefined"!==typeof Symbol?Symbol(e):e};o.compareNSB=function(e,t){return e<t?-1:e>t?1:0},o.compareArrays=function(e,t){var a,n;for(a=0;a<Math.min(e.length,t.length);a+=1)if(0!==(n=o.compare(e[a],t[a])))return n;return o.compareNSB(e.length,t.length)},o.compare=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.compareNSB,n=o.compareNSB,r=o.compare,i=o.compareArrays;if(void 0===e)return void 0===t?0:-1;if(void 0===t)return void 0===e?0:1;if(null===e)return null===t?0:-1;if(null===t)return null===e?0:1;if("number"===typeof e)return"number"===typeof t?n(e,t):-1;if("number"===typeof t)return"number"===typeof e?n(e,t):1;if("string"===typeof e)return"string"===typeof t?a(e,t):-1;if("string"===typeof t)return"string"===typeof e?a(e,t):1;if("boolean"===typeof e)return"boolean"===typeof t?n(e,t):-1;if("boolean"===typeof t)return"boolean"===typeof e?n(e,t):1;if(e instanceof Date)return t instanceof Date?n(e.getTime(),t.getTime()):-1;if(t instanceof Date)return e instanceof Date?n(e.getTime(),t.getTime()):1;if(Array.isArray(e))return Array.isArray(t)?i(e,t):-1;if(Array.isArray(t))return Array.isArray(e)?i(e,t):1;for(var c=Object.keys(e).sort(),s=Object.keys(t).sort(),l=0,u=0;u<Math.min(c.length,s.length);u+=1)if(0!==(l=r(e[c[u]],t[s[u]])))return l;return n(c.length,s.length)},o.sorter=function(e){var t=Object.keys(e).map(function(t){return{key:t,direction:e[t]}});return function(e,a){for(var n,r=0;r<t.length;r++){var i=t[r];if(0!==(n=i.direction*o.compare(e[i.key],a[i.key])))return n}return 0}}},29:function(e,t,a){"use strict";a.d(t,"B",function(){return o}),a.d(t,"z",function(){return c}),a.d(t,"E",function(){return s}),a.d(t,"N",function(){return l}),a.d(t,"F",function(){return u}),a.d(t,"u",function(){return m}),a.d(t,"r",function(){return p}),a.d(t,"D",function(){return h}),a.d(t,"G",function(){return f}),a.d(t,"Q",function(){return v}),a.d(t,"s",function(){return g}),a.d(t,"C",function(){return y}),a.d(t,"A",function(){return E}),a.d(t,"i",function(){return O}),a.d(t,"a",function(){return w}),a.d(t,"S",function(){return k}),a.d(t,"R",function(){return j}),a.d(t,"V",function(){return N}),a.d(t,"n",function(){return D}),a.d(t,"m",function(){return S}),a.d(t,"l",function(){return A}),a.d(t,"d",function(){return _}),a.d(t,"e",function(){return C}),a.d(t,"X",function(){return x}),a.d(t,"O",function(){return I}),a.d(t,"P",function(){return T}),a.d(t,"I",function(){return P}),a.d(t,"v",function(){return M}),a.d(t,"U",function(){return R}),a.d(t,"g",function(){return L}),a.d(t,"w",function(){return F}),a.d(t,"K",function(){return U}),a.d(t,"o",function(){return W}),a.d(t,"b",function(){return H}),a.d(t,"Z",function(){return B}),a.d(t,"y",function(){return Y}),a.d(t,"J",function(){return G}),a.d(t,"H",function(){return z}),a.d(t,"M",function(){return K}),a.d(t,"j",function(){return Z}),a.d(t,"x",function(){return ee}),a.d(t,"t",function(){return te}),a.d(t,"Y",function(){return ae}),a.d(t,"h",function(){return ne}),a.d(t,"W",function(){return re}),a.d(t,"T",function(){return ie}),a.d(t,"p",function(){return oe}),a.d(t,"q",function(){return ce}),a.d(t,"c",function(){return se}),a.d(t,"L",function(){return le}),a.d(t,"f",function(){return ue}),a.d(t,"k",function(){return de});var n=a(79),r=a(2),i=a(100),o=function(){return!!window.cordova},c=function(){return o()&&"Android"===device.platform},s=function(){return o()&&"iOS"===device.platform},l=function(){return!1},u=function(){return s()||["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},d=[["tablet-max",1229],["tablet-phone-max",1023],["phone-max",767],["super-small",320],["tiny",0]],m=function(){return Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)},p=function(){var e=m();return Object(r.pipe)(Object(r.find)(function(t){return e>t[1]}),function(e){return e?e[0]:"tablet-max"})(d)},h=function(e){return m()>Object(r.nth)(1,Object(r.find)(function(t){return t[0]===e},d))},f=function(e){return m()<Object(r.nth)(1,Object(r.find)(function(t){return t[0]===e},d))},b=window.location.href,v=function(){c()?window.location.href="file:///android_asset/www/index.html":s()?window.location.href=b:window.location.reload()},g=function(){var e="https://tornado.ambientweather.net";return/169/.test(window.location.hostname)?e="http://"+window.location.hostname+":3030":/^dev-fe\.ambientweather/.test(window.location.hostname)?e="https://lightning.ambientweather.net":/^pentest-fe\.ambientweather/.test(window.location.hostname)?e="https://stormshelter.ambientweather.net":/^test-fe\.ambientweather/.test(window.location.hostname)?e="https://tornado.ambientweather.net":/ambientweather/.test(window.location.hostname)?e="https://lightning.ambientweather.net":o()&&!window.device.isVirtual?e="https://rt.ambientweather.net":o()&&"iOS"!==window.device.platform&&(e="https://rt.ambientweather.net"),e},y=function(){return!o()&&(/localhost/.test(window.location.host)||/192/.test(window.location.host)||/tornado/.test(g()))},E=function(){return/tornado/.test(g())};function O(e,t,a){var n;return function(){var r=this,i=arguments,o=a&&!n;clearTimeout(n),n=setTimeout(function(){n=null,a||e.apply(r,i)},t),o&&e.apply(r,i)}}var w=Object(r.curry)(function(e,t){return function(a){return Object(r.set)(Object(r.lensProp)(e),"function"===typeof t?t(a):t,Object(r.clone)(a))}});function k(e,t){return Object(r.filter)(Object(r.pipe)(e,r.not),t)}function j(e,t){return Object(r.filter)(Object(r.pipe)(Object(r.equals)(e),r.not),t)}function N(e,t){return Object(r.contains)(e,t)?j(e,t):Object(r.append)(e,t)}var D=Object(r.curry)(function(e,t){return Object(r.any)(Object(r.flip)(r.contains)(e))(t)}),S=Object(r.curry)(function(e,t){return Object(r.all)(Object(r.flip)(r.contains)(e))(t)}),A=Object(r.flip)(r.contains),_=Object(r.flip)(S),C=Object(r.flip)(D),x=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},I=Object(r.curry)(function(e,t){return!!e&&Object(r.pipe)(Object(r.pluck)("_id"),Object(r.contains)(t))(e)}),T=Object(r.curry)(function(e,t){return Object(r.pipe)(Object(r.pluck)(e),Object(r.filter)(P))(t)}),P=function(e){return e||0===e},M=Object(r.test)(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),R=Object(r.curry)(function(e,t){return"function"===typeof t.toFixed?t.toFixed(e):t}),L=function(e){return Math.floor(e)!==e&&e.toString().split(".")[1].length||0},F=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=crypto.getRandomValues(new Uint8Array(1))[0]%16|0;return("x"==e?t:3&t|8).toString(16)})};function U(e){return console.log(e),e}var W=Object(r.curry)(function(e,t,a){return Object(r.equals)(Object(r.pick)(e,t),Object(r.pick)(e,a))});function H(e){return e.charAt(0).toUpperCase()+e.slice(1)}var B=function(e){return console.log(e),e};function Y(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:{r:255,g:255,b:255}}function G(e,t,a,n,r){if(e==a&&t==n)return 0;var i=Math.PI*e/180,o=Math.PI*a/180,c=t-n,s=Math.PI*c/180,l=Math.sin(i)*Math.sin(o)+Math.cos(i)*Math.cos(o)*Math.cos(s);return l>1&&(l=1),l=60*(l=180*(l=Math.acos(l))/Math.PI)*1.1515,"K"==r&&(l*=1.609344),"N"==r&&(l*=.8684),l}function z(e){return e&&"object"===typeof e&&!Array.isArray(e)}function K(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];if(!a.length)return e;var i=a.shift();if(z(e)&&z(i))for(var o in i)z(i[o])?(e[o]||Object.assign(e,Object(n.a)({},o,{})),K(e[o],i[o])):Object.assign(e,Object(n.a)({},o,i[o]));return K.apply(void 0,[e].concat(a))}var q,V,$,Q,X,J,Z=(q=decodeURIComponent,V=/\+/g,function(e){for($={},e=e.substring(e.indexOf("?")+1).replace(V," ").split("&"),X=e.length;X>0;)Q=e[--X],-1===(J=Q.indexOf("="))?$[q(Q)]=void 0:$[q(Q.substring(0,J))]=q(Q.substring(J+1));return $}),ee=Object(r.anyPass)([Object(r.path)(["webcam"]),Object(r.path)(["info","webcam"])]),te=function(e){return(Object(r.path)(["webcam","archives"],e)||Object(r.path)(["info","archives"],e)||[]).map(function(e){var t=e.split("/").pop(),a=moment(t.replace(".mp4",""),"YYYYMMDD");return{fileName:t,url:e,date:a}}).sort(function(e,t){return t.date.valueOf()-e.date.valueOf()})},ae=function(e,t){if(!e)return e;var a=Object(r.indexOf)(t.id,Object(r.pluck)("_id",e));if(a>-1){var n=e[a];e[a]=Object(r.merge)(n,t.args)}return Object(r.clone)(e)},ne=function(e){return new Date(e).getTime()},re=function(e,t,a){window.ga&&window.ga("send","event",e,t,a),window.gtag&&window.gtag("event",t,{event_category:e,event_label:a})},ie=Object(r.curry)(function(e,t){var a=10*e;return Math.floor(t*a)/a}),oe=function(e){var t=Object(r.map)(function(t){return Object(r.find)(function(e){return e.types.includes(t)},e)},["locality","neighborhood","administrative_area_level_2","administrative_area_level_1","doesnotwork"]);return Object(r.pipe)(Object(r.filter)(r.identity),Object(r.nth)(0),Object(r.path)(["long_name"]))(t)},ce=function(e,t){var a=t;return Array.isArray(t)||(a=[t.lon,t.lat]),Object.assign({},e,{coords:{lat:a[1],lon:a[0]},geo:{type:"Point",coordinates:[a[0],a[1]]}})},se=function(e){e&&((/^\/help/.test(e.pathname)||/^\/product/.test(e.pathname))&&(window.location.href="https://help.ambientweather.net"+e.pathname),/^\/share\//.test(e.pathname)&&(window.location.href="https://lightning.ambientweather.net/s/"+e.pathname.replace("/share/","")))},le=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!e.geo&&e.coords&&(e.geo={type:"Point",coordinates:[e.coords.lon,e.coords.lat]}),e},ue=function(e,t){e=le(e),t=le(t);var a=Object(r.path)(["geo","coordinates",0],e),n=Object(r.path)(["geo","coordinates",1],e),i=Object(r.path)(["geo","coordinates",0],t),o=Object(r.path)(["geo","coordinates",1],t);return a===i&&n===o},de=function(e){i("https://logs.collector.solarwinds.com/v1/log",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Basic "+btoa(":K63HjdB19EOcvP-RXpwQ2VavXxzG")},body:JSON.stringify({browserError:e})})}},3:function(e,t,a){"use strict";a.r(t);var n=a(25),r=a.n(n),i=a(36),o=a(31),c=a(323),s=a.n(c),l=a(70),u=a.n(l),d=a(2),m=a(29),p=a(525),h=a(526);function f(e){return 5/9*(e-32)}function b(e){return 1.8*e+32}function v(e){return.44704*e}function g(e){return e/.0393700791974}function y(e){return 33.86389*e}function E(e,t){if(Object(m.I)(e)&&Object(m.I)(t))return t>100&&(t=100),b(h.dewPoint(f(e),t/100))}function O(e,t){return p.heatIndex({temperature:e,humidity:t,fahrenheit:!0})}function w(e,t){if(Object(m.I)(e)&&Object(m.I)(t))return 35.74+.6215*e-35.75*Math.pow(t,.16)+.4275*e*Math.pow(t,.16)}function k(e,t,a){return e<50&&Object(m.I)(a)&&a>3?w(e,a):e>68&&t?O(e,t):e}function j(e){return k(e.tempf,e.humidity,e.windspeedmph)}function N(e){return e=e<11.25?"N":e<33.75?"NNE":e<56.25?"NE":e<78.75?"ENE":e<101.25?"E":e<123.75?"ESE":e<146.25?"SE":e<168.75?"SSE":e<191.25?"S":e<213.75?"SSW":e<236.25?"SW":e<258.75?"WSW":e<281.25?"W":e<303.75?"WNW":e<326.25?"NW":e<348.75?"NNW":"N"}function D(e){return"N"===e?0:"NNE"===e?22.5:"NE"===e?45:"ENE"===e?67.5:"E"===e?90:"ESE"===e?112.5:"SE"===e?135:"SSE"===e?157.5:"S"===e?180:"SSW"===e?202.5:"SW"===e?225:"WSW"===e?247.5:"W"===e?270:"WNW"===e?292.5:"NW"===e?315:"NNW"===e?337.5:void 0}var S=o.ambient.conversions,A=o.ambient.conversionsInverse,_=o.ambient.convertUnit,C=o.ambient.convertUnitInverse,x=a(39),I=a.n(x),T={radar:{aerisLayers:["radar:60"],labelParam:"hourlyrainin"},temp:{aerisLayers:["temperatures:".concat(45)],labelParam:"tempf"},wind:{aerisLayers:["wind-speeds:".concat(45),"wind-dir:".concat(45)],labelParam:"windgustmph",rotate:["-",["number",["get","winddir"],0],180]}},P=function(e){return""===e?"tempf":T[e].labelParam},M=a(239),R=function(e){return Object(m.h)(e.expiresAt)<=Date.now()},L=Object(d.pipe)(R,d.not),F=Object(d.filter)(L),U=Object(d.pipe)(F,Object(d.pluck)("deviceId"),d.uniq),W=function(e){return""===e},H=Object(d.sort)(function(e,t){return"alert"===e.type&&"alert"!==t.type?-1:"alert"!==e.type&&"alert"===t.type?1:Object(m.h)(t.createdAt)-Object(m.h)(e.createdAt)}),B=Object(d.curry)(function(e,t){var a=Object(d.path)(["info","_id"],e);return a&&a===t.userId}),Y=Object(d.curry)(function(e,t,a){return ye(e)&&Object(d.path)(["lastData"],a)&&Object(d.path)(["info","coords"],a)&&St(t,a._id)&&Object(d.path)(["public"],a)}),G=function(e,t){return Object(d.filter)(Y(e,t),t.devices||[])},z=Object(d.pipe)(G,d.length,Object(d.lt)(0)),K=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"https://share.ambientweather.net/share/"+e+"/"+window.encodeURIComponent(M.a.encode(JSON.stringify(t)))},q=a(157);a.d(t,"FORECAST_ZOOM",function(){return V}),a.d(t,"GOOGLE_API_KEY",function(){return $}),a.d(t,"getGeocode",function(){return Q}),a.d(t,"aeris",function(){return X}),a.d(t,"aerisData",function(){return J}),a.d(t,"displayProps",function(){return Z}),a.d(t,"displayPropKeys",function(){return ee}),a.d(t,"METERS_TO_FEET",function(){return te}),a.d(t,"isLoggedIn",function(){return ae}),a.d(t,"isEmbed",function(){return ne}),a.d(t,"setStorage",function(){return re}),a.d(t,"getStorage",function(){return ie}),a.d(t,"clearStorage",function(){return oe}),a.d(t,"OAUTH_CONFIG",function(){return ce}),a.d(t,"ALERT_CONDITIONS",function(){return se}),a.d(t,"getConditionLabel",function(){return le}),a.d(t,"soilHumidityLabel",function(){return ue}),a.d(t,"getUrlQueryParam",function(){return de}),a.d(t,"isOauth",function(){return me}),a.d(t,"isRole",function(){return he}),a.d(t,"isAdmin",function(){return fe}),a.d(t,"deviceHasEnhancedCam",function(){return be}),a.d(t,"getDeviceIdFromUrl",function(){return ve}),a.d(t,"showV3",function(){return ge}),a.d(t,"hasSocial",function(){return ye}),a.d(t,"canAccessOldData",function(){return Ee}),a.d(t,"yearsUserCanAccess",function(){return Oe}),a.d(t,"getUserSetting",function(){return we}),a.d(t,"getDeviceSetting",function(){return ke}),a.d(t,"getDeviceLabel",function(){return je}),a.d(t,"isFav",function(){return Ne}),a.d(t,"isUserPhoneConfirmed",function(){return De}),a.d(t,"getTheme",function(){return Se}),a.d(t,"getUserUnitI",function(){return Ae}),a.d(t,"getUnitArr",function(){return _e}),a.d(t,"getMasterUnitParam",function(){return Ce}),a.d(t,"convertUnitForUser",function(){return xe}),a.d(t,"convertUnitForUserOnRow",function(){return Ie}),a.d(t,"getSuffForUser",function(){return Te}),a.d(t,"timeFormatForUser",function(){return Pe}),a.d(t,"getTheDevice",function(){return Me}),a.d(t,"getDeviceCoords",function(){return Re}),a.d(t,"getLabelForDevice",function(){return Le}),a.d(t,"getLabel",function(){return Fe}),a.d(t,"FIELD_PRIORITY",function(){return Ue}),a.d(t,"orderFields",function(){return We}),a.d(t,"getDisplayKeys",function(){return He}),a.d(t,"getDisplayKeysFromState",function(){return Be}),a.d(t,"widgetWhat",function(){return Ye}),a.d(t,"widgetExpanded",function(){return Ge}),a.d(t,"widgetPinned",function(){return ze}),a.d(t,"dataPending",function(){return Ke}),a.d(t,"dataHas",function(){return qe}),a.d(t,"dataHasAny",function(){return Ve}),a.d(t,"rowsHave",function(){return $e}),a.d(t,"formatDate",function(){return Qe}),a.d(t,"fmtDate",function(){return Xe}),a.d(t,"fmtzDate",function(){return Je}),a.d(t,"sortByDateDesc",function(){return Ze}),a.d(t,"roundDownMins",function(){return et}),a.d(t,"removeDoc",function(){return tt}),a.d(t,"getInc",function(){return at}),a.d(t,"fetchStartEndRes",function(){return nt}),a.d(t,"getGrossRes",function(){return rt}),a.d(t,"mockData",function(){return it}),a.d(t,"WIDGET_CONFIG",function(){return ot}),a.d(t,"PRIVATE_PARAMS",function(){return ct}),a.d(t,"getWidgetTitle",function(){return st}),a.d(t,"getSuff",function(){return lt}),a.d(t,"currentDeviceHasSummaries",function(){return ut}),a.d(t,"getDateTz",function(){return dt}),a.d(t,"getDateTzForDevice",function(){return mt}),a.d(t,"getSummaryDocDateGetDate",function(){return pt}),a.d(t,"getSummaryDocDate",function(){return ht}),a.d(t,"isWindDir",function(){return ft}),a.d(t,"reduceSummaries",function(){return bt}),a.d(t,"reduceSummariesForType",function(){return vt}),a.d(t,"getHlAvg",function(){return gt}),a.d(t,"padData",function(){return yt}),a.d(t,"getAstroValue",function(){return Et}),a.d(t,"generalModalStyle",function(){return Ot}),a.d(t,"containsOldDate",function(){return wt}),a.d(t,"summaryDocsForDates",function(){return kt}),a.d(t,"getDominantWindDir",function(){return jt}),a.d(t,"convertLatLon",function(){return Nt}),a.d(t,"tooltipFormatDate",function(){return Dt}),a.d(t,"deviceIsMine",function(){return St}),a.d(t,"theDeviceIsMine",function(){return At}),a.d(t,"shouldGetDevice",function(){return _t}),a.d(t,"removeDayDataCache",function(){return Ct}),a.d(t,"pathsChanged",function(){return xt}),a.d(t,"tempColor",function(){return It}),a.d(t,"getDeviceSlug",function(){return Tt}),a.d(t,"getDeviceSharePath",function(){return Pt}),a.d(t,"getDeviceSharePathOld",function(){return Mt}),a.d(t,"getDeviceShareLink",function(){return Rt}),a.d(t,"getDeviceEmbedLink",function(){return Lt}),a.d(t,"camId2Slug",function(){return Ft}),a.d(t,"handleWidgetChange",function(){return Ut}),a.d(t,"cleanDeviceToStore",function(){return Wt}),a.d(t,"coordString",function(){return Ht}),a.d(t,"toggleDevicePublic",function(){return Bt}),a.d(t,"showDeviceOnMap",function(){return Yt}),a.d(t,"coordsAreDifferent",function(){return Gt}),a.d(t,"AD_CONFIG",function(){return zt}),a.d(t,"getMapLocationLabel",function(){return Kt}),a.d(t,"hasVideo",function(){return qt}),a.d(t,"findMyLocation",function(){return Vt}),a.d(t,"deCamelCase",function(){return $t}),a.d(t,"getForecastParams",function(){return Qt}),a.d(t,"SUBCRIPTIONS",function(){return Xt}),a.d(t,"toCel",function(){return f}),a.d(t,"toFahr",function(){return b}),a.d(t,"toMps",function(){return v}),a.d(t,"inHg2mmHg",function(){return g}),a.d(t,"inHg2hPa",function(){return y}),a.d(t,"dewPoint",function(){return E}),a.d(t,"heatIndex",function(){return O}),a.d(t,"windChill",function(){return w}),a.d(t,"feelsLike",function(){return k}),a.d(t,"feelsLikeObj",function(){return j}),a.d(t,"windDirLabel",function(){return N}),a.d(t,"windDirFromLabel",function(){return D}),a.d(t,"conversions",function(){return S}),a.d(t,"conversionsInverse",function(){return A}),a.d(t,"convertUnit",function(){return _}),a.d(t,"convertUnitInverse",function(){return C}),a.d(t,"isCordova",function(){return m.B}),a.d(t,"isAndroid",function(){return m.z}),a.d(t,"isIos",function(){return m.E}),a.d(t,"noMaps",function(){return m.N}),a.d(t,"isIosCordovaOrIosBrowser",function(){return m.F}),a.d(t,"getWindowWidth",function(){return m.u}),a.d(t,"getCurrentBreakpoint",function(){return m.r}),a.d(t,"isGtBreakpoint",function(){return m.D}),a.d(t,"isLtBreakpoint",function(){return m.G}),a.d(t,"reloadApp",function(){return m.Q}),a.d(t,"getUrl",function(){return m.s}),a.d(t,"isDev",function(){return m.C}),a.d(t,"isBillingDev",function(){return m.A}),a.d(t,"debounce",function(){return m.i}),a.d(t,"addPropToObj",function(){return m.a}),a.d(t,"removeFromArrWith",function(){return m.S}),a.d(t,"removeFromArr",function(){return m.R}),a.d(t,"toggleArr",function(){return m.V}),a.d(t,"fcontainsAny",function(){return m.n}),a.d(t,"fcontainsAll",function(){return m.m}),a.d(t,"fcontains",function(){return m.l}),a.d(t,"containsAll",function(){return m.d}),a.d(t,"containsAny",function(){return m.e}),a.d(t,"ucFirst",function(){return m.X}),a.d(t,"objsContainId",function(){return m.O}),a.d(t,"pluckClean",function(){return m.P}),a.d(t,"isSomething",function(){return m.I}),a.d(t,"goodEmail",function(){return m.v}),a.d(t,"toFixed",function(){return m.U}),a.d(t,"countDecimals",function(){return m.g}),a.d(t,"guid",function(){return m.w}),a.d(t,"log",function(){return m.K}),a.d(t,"fieldsEq",function(){return m.o}),a.d(t,"capitalizeFirstLetter",function(){return m.b}),a.d(t,"what",function(){return m.Z}),a.d(t,"hexToRgb",function(){return m.y}),a.d(t,"latLonDistance",function(){return m.J}),a.d(t,"isObject",function(){return m.H}),a.d(t,"mergeDeep",function(){return m.M}),a.d(t,"deparam",function(){return m.j}),a.d(t,"hasWebcam",function(){return m.x}),a.d(t,"getWebcamArchives",function(){return m.t}),a.d(t,"updateArrayForObject",function(){return m.Y}),a.d(t,"dateVal",function(){return m.h}),a.d(t,"trackEvent",function(){return m.W}),a.d(t,"roundDecimal",function(){return m.T}),a.d(t,"findLocationFromGoogleRes",function(){return m.p}),a.d(t,"formatCoords",function(){return m.q}),a.d(t,"checkOldLinks",function(){return m.c}),a.d(t,"makeSureObjHasGeo",function(){return m.L}),a.d(t,"coordsAreEqual",function(){return m.f}),a.d(t,"errorLog",function(){return m.k}),a.d(t,"MAP_LAYER_CONFIG",function(){return T}),a.d(t,"getLayerParam",function(){return P}),a.d(t,"postIsExpired",function(){return R}),a.d(t,"postIsActive",function(){return L}),a.d(t,"activePosts",function(){return F}),a.d(t,"deviceIdsWithActivePosts",function(){return U}),a.d(t,"mapShowSocial",function(){return W}),a.d(t,"postsSort",function(){return H}),a.d(t,"postIsMine",function(){return B}),a.d(t,"canSocialPost",function(){return Y}),a.d(t,"socialDevices",function(){return G}),a.d(t,"userCanSocialPost",function(){return z}),a.d(t,"ssisShareLink",function(){return K}),a.d(t,"centerPointForGeo",function(){return q.a}),a.d(t,"circleToPolygonSafe",function(){return q.b});var V=6.5,$="AIzaSyAzKKOVP03RekNzRmZjc4aP2cv-MDRRl0U";s.a.setApiKey($);var Q=function(){return s.a},X=window.AerisWeather?new AerisWeather("TbcOgeIC2eXyT0lIfKHkq","dBFC4IPvpiWR3MM7L8PJdJVLc8N8SCLeol88e696",{maps:"https://d6hpc5frkn473.cloudfront.net",api:"https://api.aerisapi.com"}):null,J=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=Object(d.pipe)(d.toPairs,Object(d.map)(Object(d.join)("=")),Object(d.join)("&"))(t);return fetch("http://api.aerisapi.com/".concat(e,"/?client_id=TbcOgeIC2eXyT0lIfKHkq&client_secret=dBFC4IPvpiWR3MM7L8PJdJVLc8N8SCLeol88e696&").concat(a)).then(function(e){return e.json()})},Z=o.ambient.getDisplayProps();Z.feelsLike={type:"Float",label:"Feels Like",units:"tempf"},Z.dewPoint={type:"Float",label:"Dew Point",units:"tempf"};var ee=Object(d.keys)(Z),te=3.28084;function ae(e){return e.info&&e.info._id}var ne=function(e){return e.search&&/embed=true/.test(e.search)},re=function(e,t){try{var a=!1;return window.localStorage&&(a=!0,window.localStorage[e]=JSON.stringify(t)),a}catch(n){}},ie=function(e){try{if(window.localStorage&&window.localStorage[e])return JSON.parse(window.localStorage[e])}catch(t){}},oe=function(){try{window.localStorage.clear()}catch(e){}},ce={QGp6DjXad3cIAp2GiEuG2LZe23zrDD86OnKWrpCb:{name:"IFTTT",redirect:"https://ifttt.com/channels/ambient_weather"+(/herokuapp/.test(window.location.hostname)?"_staging":"")+"/authorize"},A4S9YtZ65YEI1ixPat0BDFMb25PZTl7gDdnfJ9Gg:{name:"Alexa"},"739023693026-iqpn1v01871lk10megbunipkam5kksjv.apps.googleusercontent.com":{name:"Google Assistant",redirect:/dev-fe/.test(window.location.host)?"https://oauth-redirect.googleusercontent.com/r/ambient-weather-v2-enndwg":"https://oauth-redirect.googleusercontent.com/r/ambient-weather"}},se=[["is greater than",">"],["is less than","<"]],le=function(e){return Object(d.nth)(0,Object(d.find)(Object(d.pipe)(Object(d.nth)(1),Object(d.equals)(e)),se))};function ue(e){var t="Very Dry";return e>87?t="Very Wet":e>73?t="Wet":e>53?t="Moist":e>27&&(t="Dry"),t}var de=Object(d.curry)(function(e,t){return new URLSearchParams(e.search).get(t)});function me(e){var t=de(e,"client_id");return t&&Object(d.contains)(t,Object(d.keys)(ce))}function pe(e){return Object(d.pipe)(Object(d.flip)(d.append)(e),d.path)}var he=Object(d.curry)(function(e,t){var a=Object(d.path)(["info","roles"],t);return a&&Object(d.contains)(e,a)}),fe=function(e){if(e.adminImpersonation){var t=Object(d.path)(["roles"],e.adminImpersonation);return t&&Object(d.contains)("admin",t)}return he("admin",e)},be=function(e){return Object(d.path)(["info","enhancedCam"],e)||Object(d.path)(["webcam","enhanced"],e)},ve=function(){var e=(Object(m.B)()?window.location.hash:window.location.pathname).replace(/\?.*$/,"").match(/\/dashboard\/([^\/]+)/);return e&&e[1]},ge=function(e){return ae(e)||ve()},ye=function(e){return fe(e)||he("social",e)},Ee=function(e){return fe(e)||he("dev",e)},Oe=function(e){return Ee(e)?2:1},we=pe(["info","settings"]),ke=pe(["settings"]);function je(e){var t="";return e&&e.info&&(e.info.name&&(t=e.info.name),e.info.coords&&e.info.coords.location&&(t+=", "+e.info.coords.location)),t}var Ne=Object(d.curry)(function(e,t){var a=e.favs;return!!a&&(t.macAddress?a.find(function(e){return e.to.macAddress===t.macAddress}):a.find(function(e){return e.to._id===t._id}))}),De=Object(d.allPass)([Object(d.path)(["info","phone"]),Object(d.pipe)(Object(d.path)(["info","phoneConfirmKey"]),d.not)]),Se=function(e){var t=we("theme")(e)||{},a=t.theme||"light";if("auto"===a&&t.location){var n=Date.now(),r=I.a.solar.rise(n,t.location.location.geo.coordinates[1],t.location.location.geo.coordinates[0]),i=I.a.solar.set(n,t.location.location.geo.coordinates[1],t.location.location.geo.coordinates[0]);a="dark",n>r&&n<i&&(a="light")}return a},Ae=Object(d.curry)(function(e,t){var a=/rainin/.test(e)?"hourlyrainin":e,n=Ce(a),r=we(n)(t)||{};if(t.userUnits&&!ae(t)){"object"===typeof t.userUnits?r=Object(d.path)([n],t.userUnits)||{}:"metric"===t.userUnits&&(r=Object(d.path)([n],{tempf:{unit:1},baromrelin:{unit:1},windspeedmph:{unit:2},hourlyrainin:{unit:1},metric:{unit:1}})||{})}else["lightning_distance","altitudeft","airdensitylbft3","evapratelbft3hr"].includes(n)&&(r=we("metric")(t)||{});return Object(m.I)(r.unit)?r.unit:0}),_e=function e(t){var a=Object(d.path)([t,"units"],o.ambient.DATA_SPEC);return!!a&&(Object(d.isArrayLike)(a)?a:e(a))},Ce=function(e){var t=Object(d.path)([e,"units"],o.ambient.DATA_SPEC);return t?Object(d.isArrayLike)(t)?e:t:Object(d.contains)(e,["dewPoint","feelsLike"])?"tempf":"hour24"===e?"hour24":"metric"===e&&"metric"},xe=Object(d.curry)(function(e,t,a){var n=Ce(t),r=Ae(t,e);return n?parseFloat(_(n,r,a)):/humidity/.test(t)||"uv"===t||"pm25"===t?parseInt(a,10):"pm25_24h"===t?parseFloat(a).toFixed(1):a}),Ie=Object(d.curry)(function(e,t){return Object(d.over)(Object(d.lensProp)(t),xe(e,t))}),Te=Object(d.curry)(function(e,t){var a=Ce(t),n=Ae(t,e),r=lt(a||t);return n>0?r.replace(o.ambient.DATA_SPEC[a].units[0],o.ambient.DATA_SPEC[a].units[n]):r}),Pe=function(e){return 1===Ae("hour24",e)?"HH:mm":"h:mm a"};function Me(e){var t=e.dashboardDevice,a=e.devices,n=e.deviceI,r=e.fetchedDevices;return t?St(e,t._id)?Object(d.find)(Object(d.propEq)("_id",t._id),a):t:r[0]?r[0]:a&&a.length>0?a[n]||a[0]:void 0}function Re(e){return Object(d.path)(["info","coords","coords"],Me(e))}function Le(e,t){return Fe(e,t?{fetchedDevices:[t]}:null)}function Fe(e,t){if(t&&(t.devices||t.fetchedDevices)){var a=Me(t);return o.ambient.customParamLabel(e,a)}return o.ambient.DATA_SPEC[e]?o.ambient.DATA_SPEC[e].label:"feelsLike"===e?"Feels Like":"dewPoint"===e?"Dew Point":"rain"===e?"Rainfall":"rainTotal"===e?"Rain Total":"notReporting"===e?"Device not reporting for 20 minutes":void 0}var Ue=["tempf","feelsLike","dewPoint","windspeedmph","windgustmph","maxdailygust","winddir","rain","baromrelin","humidity","uv","solarradiation","lightning_day","lightning_hour","tempinf","pm25_in","pm25_in_24h","humidityin","pm25","pm25_24h","sunMoon","co2_in","co2_in_24h","co2_in_aqin","pm25_in_aqin","pm25_in_24h_aqin","pm10_in_aqin","pm10_in_24h_aqin","pm_in_temp_aqin","pm_in_humidity_aqin","temp1f","humidity1","soiltemp1","soilhum1","temp2f","humidity2","soiltemp2","soilhum2","temp3f","humidity3","soiltemp3","soilhum3","temp4f","humidity4","soiltemp4","soilhum4","temp5f","humidity5","soiltemp5","soilhum5","temp6f","humidity6","soiltemp6","soilhum6","temp7f","humidity7","soiltemp7","soilhum7","temp8f","humidity8","soiltemp8","soilhum8","temp9f","humidity9","soiltemp9","soilhum9","temp10f","humidity10","soiltemp10","soilhum10","soiltens1","soiltens2","soiltens3","soiltens4","leafwetsum","gdd","etos","etrs","wbgtf","heatindexf","pig","dischargeft3s","gaugeheightft","watermeasph","waternitratesmgl"],We=Object(d.sort)(function(e,t){var a=/rain/.test(e)?"rain":e,n=/rain/.test(t)?"rain":t,r=Ue.indexOf(a),i=Ue.indexOf(n);return i===r?0:r<0?1:i<0?-1:r-i}),He=Object(d.pipe)(Object(d.map)(d.keys),d.flatten,d.uniq,Object(d.filter)(Object(d.flip)(d.contains)(ee)),We),Be=Object(d.curry)(function(e,t){return Object(d.pipe)(Object(d.pick)(e),d.values,d.flatten,He)(t)});function Ye(e,t,a){return Object(d.path)(["settings",t,e],a)}function Ge(e,t){return Ye("expanded",e,t)}function ze(e,t){return Ye("pinned",e,t)}function Ke(e,t){return Object(d.contains)(e,Object(d.path)(["fetchDeviceDataKeysPending"],t))}var qe=Object(d.curry)(function(e,t){return Object(d.pipe)(Object(d.groupWith)(d.F),Object(d.all)(function(t){return Object(d.path)(t,e)||0===Object(d.path)(t,e)}))(Object(d.isArrayLike)(t)?t:[t])}),Ve=Object(d.curry)(function(e,t){return Object(m.n)(Object(d.keys)(e),t)}),$e=Object(d.curry)(function(e,t){return e.filter(function(e){return qe(e,t)}).length>0}),Qe=Object(d.curry)(function(e,t){var a="MMM D h:mma";if(e){var n=nt(e).res;t=et(n,t),Object(d.contains)(e,["yearly"])&&(a="MMM D")}return Xe(a,t)}),Xe=Object(d.curry)(function(e,t){return moment(t,"x").format(e)}),Je=Object(d.curry)(function(e,t){return moment(t).format(e)}),Ze=function(e){return Object(d.sort)(function(t,a){var n=t[0],r=a[0];return moment(n,e).unix()<moment(r,e).unix()?1:-1})},et=Object(d.curry)(function(e,t){var a=6e4*e;return Math.floor(t/a)*a}),tt=function(e){return Object(d.filter)(Object(d.pipe)(Object(d.propEq)("_id",e),d.not))};function at(e){var t=108e5;switch(e){case"daily":t=864e5;break;case"weekly":t=6048e5;break;case"monthly":t=2592e6;break;case"yearly":t=31536e6}return t}function nt(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=108e5,r=1,i=!1;switch(e){case"daily":n=864e5,r=5,i=moment(t).startOf("day").valueOf();break;case"weekly":n=6048e5,r=30;break;case"monthly":n=2592e6,r=240;break;case"yearly":n=31536e6,r=1440}return{start:i||t-n*a,end:t-(a-1)*n,res:r}}function rt(e){var t=30;switch(e){case"weekly":t=240;break;case"monthly":case"yearly":t=1440}return t}var it={stationtype:"5100",tempf:98.6,humidity:1,humidity1:2,humidity3:4,humidity4:5,humidity5:6,humidity6:7,humidity7:8,windspdmph_avg2m:23,windspdmph_avg10m:23,winddir_avg2m:23,windspeedmph:28.8,winddir:280,windgustmph:299,humidity8:9,soilhum10:99,tempinf:49,temp2f:50,temp3f:51,temp4f:52,temp6f:54,temp7f:55,temp8f:56,soilhum9:99,soiltemp9:57,soiltemp10:58,weeklyrainin:4.4,monthlyrainin:6.6,yearlyrainin:8.8,totalrainin:20,eventrainin:1.3,relay1:0,relay3:0,relay4:1,relay5:0,relay6:0,relay7:1,relay8:1,relay9:0,relay10:0,leak1:0,leak3:1,leafwetness1:10,leafwetness2:20,leafwetness5:50,leafwetness8:80,batleak1:1,batleak2:1,batleak3:0,batleak4:0,co2:1001,co2_in:100,uv:2,maxdailygust:99,solarradiation:7,battout:0,battin:0,batt1:1,battr5:1,batt10:0,battr10:0,pm25:33,pm25_24h:15.8,pm25_in:17,pm25_in_24h:135,batt_25:1,lightning_time:1586837884e3,lightning_day:12,lightning_distance:12.43,lightning_hour:1,aqi_pm25_24h_aqin:50,aqi_pm25_aqin:3,pm10_in_24h_aqin:999,pm10_in_aqin:1,pm25_in_24h_aqin:2,pm25_in_aqin:.8,pm_in_humidity_aqin:43,pm_in_temp_aqin:75,soiltens1:10,soiltemp1:55,leafwet1x:1,gdd:42,etos:.6,etrs:.7,wbgtf:99.3,heatindexf:97.9,evapratelbft3hr:43.3,twlwm2:43.3,pig:5,densityaltitudeft:43.3,crosswindmph:43.3,headwindmph:43.3,ahlu1:45.3,ahlu2:46.3,ahlu3:43.3,thinrc:43.3,thiyousef:43.3,humidityratiogplb:43.3,relativeairdensity:43.3,airdensitylbft3:24.8,altitudeft:43.3,deltaf:43.3,airflowcfm:43.3,windchillf:43.3,hl:{solarradiation:{h:100},pm25_in_aqin:{h:100},pm10_in_aqin:{h:45},pm25:{h:100},pm25_in:{h:123},leafwetsum:{s:123}}},ot=o.ambient.WIDGET_CONFIG,ct=o.ambient.PRIVATE_PARAMS,st=Object(d.curry)(function(e,t){return o.ambient.getWidgetTitle(e,t)});function lt(e){return o.ambient.DATA_SPEC[e]&&o.ambient.DATA_SPEC[e].suff?o.ambient.DATA_SPEC[e].suff:"feelsLike"===e||"dewPoint"===e?"\xb0":void 0}var ut=function(e){return!0},dt=Object(d.curry)(function(e,t,a){return mt(e,Me(t),a)}),mt=Object(d.curry)(function(e,t,a){return e.tz(a,Object(d.path)(["tz","name"],t))}),pt=Object(d.curry)(function(e,t){return e(t).add(5,"m").startOf("day")}),ht=Object(d.curry)(function(e,t,a){return pt(dt(e,t),a)}),ft=function(e){return/wind/.test(e)&&/dir/.test(e)},bt=function(e){return Object(d.pipe)(He,Object(d.map)(function(t){var a=Object(d.map)(function(e){return"string"===typeof e.dateutc&&(e.dateutc=parseInt(e.dateutc,10)),e},e);return[t,vt(t)(a)]}),Object(d.filter)(function(e){return ft(e[0])||e[1].c>0}),d.fromPairs)(e)},vt=function(e){return/wind/.test(e)&&/dir/.test(e)?Object(d.pipe)(Object(d.reduce)(function(t,a){var n=a[e];if(!n)return t;for(var r in t)"object"===typeof n?n[r]&&(t[r]+=n[r]):++t[n];return t},{N:0,NNE:0,NE:0,ENE:0,E:0,ESE:0,SE:0,SSE:0,S:0,SSW:0,SW:0,WSW:0,W:0,WNW:0,NW:0,NNW:0}),d.clone):Object(d.pipe)(Object(d.reduce)(function(t,a){var n=a[e];return n?(n.h>t.h&&(t.h=1*n.h,t.ht=1*n.ht),n.l<t.l&&(t.l=1*n.l,t.lt=1*n.lt),"dailyrainin"===e&&(t.hs+=1*n.h),Object(m.I)(n.avg)?t.avg=1*n.avg:t.s+=1*n.s,t.c+=1*n.c,t):t},{h:-1e6,l:1e6,s:0,c:0,hs:0}),d.clone)},gt=Object(d.curry)(function(e,t){var a=e[t];if(a){if(ft(t)){if("string"===typeof a)return a;var n,r=0;for(var i in a){var c=a[i];c>r&&(n=i,r=c)}return n}var s=Object(m.I)(a.avg)?a.avg:a.s/a.c,l=Object(d.path)([t,"avgFormat"],o.ambient.DATA_SPEC);return l?s=l(s):/hum/.test(t)&&(s=s.toFixed(1)),s}}),yt=function(e,t){return Object(d.reduce)(function(t,a){var n=Object(d.last)(t),r=1e3*e*60;if(n){var i=o.ambient.roundDownMins(e,n.dateutc),c=o.ambient.roundDownMins(e,a.dateutc);if(i-c>r)for(var s=i-r;s>c;s-=r)t.push({dateutc:s})}return t.push(a),t},[],t)},Et=Object(d.curry)(function(e,t,a,n){var r="object"===typeof n?n.valueOf():n,i=Object(d.path)(["lat"],t)||Object(d.path)(["info","coords","coords","lat"],t),o=Object(d.path)(["lon"],t)||Object(d.path)(["info","coords","coords","lon"],t),c=Object(d.path)(["tz","name"],t)||Object(d.path)(["tz"],t);return e.tz(parseInt(a(r,i,o),10),c)}),Ot={content:{width:500,left:"50%",marginLeft:-250,height:"auto",bottom:null,borderRadius:2}},wt=function(e){if(e)return e.filter(function(e){return Date.now()-e.valueOf()>=2592e6}).length>0},kt=Object(d.curry)(function(e,t,a,n){return Object(d.pipe)(Object(d.groupBy)(function(a){return ht(e,t,a.dateutc).format("YYYY-MM-DD")}),d.values,Object(d.map)(Object(d.nth)(0)),Object(d.filter)(function(n){var r=ht(e,t,n.dateutc);return Array.isArray(a)?a[0].startOf("day").valueOf()<=r.valueOf()&&a[1].valueOf()>=r.valueOf():a.format("YYYY-MM-DD")===r.format("YYYY-MM-DD")}))(n)});function jt(e){if("string"===typeof e)return D(e);var t,a=0;for(var n in e){var r=e[n];r>a&&(t=n,a=r)}return D(t)}function Nt(e,t){return t?Math.abs(e)+(e>=0?"N":"S"):Math.abs(e)+(e>=0?"E":"W")}var Dt=Object(d.curry)(function(e,t,a,n){var r="MMM D "+Pe(t);if(a){var i=nt(a).res;n=et(i,n),Object(d.contains)(a,["yearly"])&&(r="MMM D, YYYY")}return dt(window.moment,e,n).format(r+" z")}),St=function(e,t){var a=e.devices;if(a&&Object(d.contains)(t,Object(d.pluck)("_id",a)))return!0},At=function(e){var t=Me(e);if(t)return St(e,t._id)},_t=function(e,t,a){var n=e.deviceCache,r=e.getDeviceIdsPending,i=e.getDeviceFailures;if(St(e,t))return!1;if(Object(d.contains)(t,i)||Object(d.contains)(t,r))return!1;var o=n[t];return!o||!!a&&Date.now()-o.fetched>6e4*a},Ct=function(e){var t=Object.assign({},e);return Object.keys(e).filter(function(e){return/DayData$/.test(e)}).forEach(function(e){t.deviceDataAllDataKeys=Object(m.R)(e,t.deviceDataAllDataKeys),delete t[e]}),t},xt=Object(d.curry)(function(e,t,a){return Object(d.find)(function(a){var n="string"===typeof a?[a]:a;return Object(d.path)(n,e)!==Object(d.path)(n,t)},a)||!1}),It=function(e){var t=["#8600b9","#7d00a9","#740098","#6b0088","#630078","#70007e","#7d0085","#8a008b","#970092","#b300a6","#c100b3","#d000c1","#de00ce","#ed00dc","#ee16e3","#f02dea","#f243f1","#f45af8","#f081fb","#eb91f7","#e6a1f4","#e1b1f0","#dcc1ed","#b59ad6","#8e73bf","#684da8","#412691","#2b1095","#3c20af","#4c30ca","#5d40e4","#6e51ff","#7765ff","#8079ff","#898dff","#92a1ff","#80b2fe","#66affd","#4cabfd","#32a8fc","#18a5fc","#1584f7","#1263f3","#0f42ef","#0c20eb","#0b23b8","#0d468a","#0f695c","#118c2e","#14b000","#41b701","#6ebe03","#9bc604","#c8cd06","#f1c106","#edad04","#e99903","#e58501","#e17200","#e46500","#e85800","#eb4c00","#ef3f00","#ec2800","#e51e00","#de1400","#d70a00","#d00000","#bd0000","#aa0000","#970000","#840000","#84000e","#96001c","#a9002a","#bb0038","#ce0046","#d70f56","#e11e66","#eb2d77","#f53c87","#ff5e9c","#ff72a0","#ff85a4","#ff99a8","#ffadad"],a=(Math.abs(-60)+130)/t.length;return t[Math.floor((e- -60)/a)]||"#ffadad"},Tt=function(e){return Object(d.path)(["public","slug"],e)||Object(d.path)(["info","slug"],e)||u()(u()(Object(d.path)(["macAddress"],e)))},Pt=function(e){return"/dashboard/".concat(Tt(e))},Mt=function(e){return"/devices/public/".concat(Tt(e))},Rt=function(e){var t=Object(m.B)()?"https://ambientweather.net":window.location.protocol+"//"+window.location.host;return"".concat(t).concat(Pt(e))},Lt=function(e){var t=Object(m.B)()?"https://ambientweather.net":window.location.protocol+"//"+window.location.host;return"".concat(t).concat(Mt(e),"?embed=true")},Ft=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=Object(d.splitEvery)(2,e).join(":");return u()(u()(t))},Ut=Object(d.curry)(function(e,t,a,n,r,i,o){var c=Object(d.keys)(i),s=function(e){return e||(e={}),1===c.length&&"pinned"===c[0]&&(i.expanded=i.pinned),e[o]=Object(d.merge)(e[o]||{},i),["map","webcam"].includes(o)&&i.expanded&&("map"===o?e.webcam={expanded:!1}:e.map={expanded:!1}),e},l=we("favs")(t)||{};if(St(a,n._id)){var u=s(n.settings);r.patch(n._id,{settings:u})}else l[n.macAddress]&&(l[n.macAddress].settings=s(l[n.macAddress].settings),e.updateSetting("favs",l));c.includes("expanded")&&i.expanded&&window.scrollTo(0,0)}),Wt=Object(d.pick)(["_id","info","macAddress"]),Ht=function(e,t){return e.toString()+t.toString()},Bt=function(e){return e.public?e.public=null:e.public={indoorPublic:!1,slug:e.passkey?u()(e.passkey):u()(u()(e.macAddress))},Object.assign({},e)},Yt=function(e){if(!e.lastData)return!1;if(/tornado/.test(Object(m.s)())||/localhost/.test(Object(m.s)()))return!0;var t=Object(d.path)(["lastData","tempf"],e);return!(!Object(m.I)(t)||Object(m.I)(t)&&t>=140)&&Date.now()-e.lastData.dateutc<108e5},Gt=function(e,t){if(e||t)return!(!e||t)||(!(e||!t)||!(e.lat===t.lat&&e.lon===t.lon))},zt={awnst1:{tags:["stations"]},awnst2:{tags:["stations"]},awnso1:{tags:["social"]},awnso2:{tags:["social"]}},Kt=function(e){return Object(d.path)(["label"],e)||Object(d.path)(["location"],e)||Object(d.path)(["address"],e)},qt=function(e){return Object(m.A)()&&Object(d.path)(["webcam","username"],e)?(console.log("using test video"),"https://test-images.ambientweather.net/videos/latest/".concat(e.webcam.username,".mp4")):Object(d.path)(["webcam","video"],e)&&!Object(d.path)(["webcam","error"],e)?e.webcam.video:Object(d.path)(["info","video"],e)},Vt=function(){var e=Object(i.a)(r.a.mark(function e(){var t,a,n;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=Q(),a=function(e,t){return"function"===typeof Object(d.path)(t,e)?Object(d.path)(t,e)():Object(d.path)(t,e)},n=function(e){if(e){var t=a(e,["geometry","location","lat"]),n=a(e,["geometry","location","lng"]);return{label:e.formatted_address,location:Object(m.p)(e.address_components),coords:{lat:t,lon:n},geo:{type:"Point",coordinates:[n,t]}}}},e.abrupt("return",new Promise(function(e,a){try{navigator.geolocation.getCurrentPosition(function(a){t.fromLatLng(a.coords.latitude,a.coords.longitude).then(function(t){e(n(Object(d.path)(["results"],t)[0]))}).catch(function(t){e(null)})},function(t){e(null)})}catch(r){e(null)}}));case 4:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),$t=function(e){var t=e.replace(/([A-Z])/g," $1");return t.charAt(0).toUpperCase()+t.slice(1)},Qt=function(e){return(we("forecast")(e)||{}).params||["Cloud Cover","Temperature","Precipitation"]},Xt={"kestrelmet-one-year-subscription":{label:"KestrelMet Cellular Plan, One Year",price:50}}},31:function(e,t,a){var n=a(62),r=a(337);e.exports={ambient:n,owise1:r}},331:function(e,t){var a=[[0,50],[51,100],[101,150],[151,200],[201,300],[301,400],[401,500]],n=[[0,4.4],[4.5,9.4],[.5,12.4],[12.5,15.4],[15.5,30.4],[30.5,40.4],[40.5,50.4]],r=[[0,53],[54,100],[101,360],[361,649],[650,1249],[1250,1649],[1650,2049]],i=[null,null,[125,164],[165,204],[205,404],[405,504],[505,604]],o=[[0,54],[55,70],[71,85],[86,105],[106,200]],c=[[0,54],[55,154],[155,254],[255,354],[355,424],[425,504],[505,999]],s=[[0,12],[12.1,35.4],[35.5,55.4],[55.5,150.4],[150.5,250.4],[250.5,350.4],[350.5,500.4]],l=[[0,35],[36,75],[76,185],[186,304],[305,604],[605,804],[805,1004]],u=["Good","Moderate","Unhealthy for Sensitive Groups","Unhealthy","Very Unhealthy","Hazardous","Hazardous"],d=["009966","ffde33","ff9933","cc0033","660099","7e0023","7e0023"];function m(e,t){return t.findIndex(function(t){return null!==t&&(t[0]<=e&&e<=t[1])})}function p(e,t){var n=m(e,t);if(-1===n)return NaN;var r=a[n][1],i=a[n][0],o=t[n][1],c=t[n][0];return Math.round((r-i)/(o-c)*(e-c)+i)}void 0===Array.prototype.findIndex&&(Array.prototype.findIndex=function(e){for(var t=0;t<this.length;t++)if(e.call(this,this[t],t,this))return t;return-1}),t.co=function(e){return p(e=Math.floor(10*e)/10,n)},t.o3_1hr=function(e){return p(e=Math.floor(e),i)},t.o3_8hr=function(e){return p(e=Math.floor(e),o)},t.no2=function(e){return p(e=Math.floor(e),r)},t.pm10=function(e){return p(e=Math.floor(e),c)},t.pm25=function(e){return p(e=Math.floor(10*e)/10,s)},t.so2=function(e){return p(e=Math.floor(e),l)},t.aqi_label=function(e){var t=m(e,a);return u[t]},t.aqi_color=function(e){var t=m(e,a);return d[t]}},337:function(e,t,a){var n=a(2),r=a(520);e.exports={trueKeys:n.compose(n.keys,n.pickBy(function(e,t){return e})),doArraysIntersect:n.curry(function(e,t){return n.reduce(function(t,a){return t||e.indexOf(a)>-1},!1,t)}),groupedBy:n.curry(function(e,t){return"string"===typeof e&&(e=e.split(".")),t.reduce(function(t,a){var r=n.path(e,a);return t[r]=t[r]||[],t[r].push(a),t},{})}),stripTags:function(e){return e.replace(/(<([^>]+)>)/gi,"")},addPropToObj:n.curry(function(e,t){return function(a){return n.set(n.lensProp(e),"function"===typeof t?t(a):t,n.clone(a))}}),guid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=r(new Uint8Array(1))[0]%16|0;return("x"==e?t:3&t|8).toString(16)})},keysWith:n.curry(function(e,t){return n.pipe(n.toPairs,n.filter(n.pipe(n.nth(1),e)),n.map(n.nth(0)))(t)})}},340:function(e,t,a){"use strict";var n=-10957.5;t.to=function(e){return n+e/864e5},t.from=function(e){return 864e5*(e-n)}},341:function(e,t,a){"use strict";var n=18.697374558*Math.PI/12,r=24.06570982441908*Math.PI/12;function i(e){return n+r*e}t.greenwich=i,t.local=function(e,t){return i(e)+t}},359:function(e,t){function a(e,t,n,r,i){var o,c,s;(e=e||"Error")instanceof Error?(c=e.message||"Error",e.errors&&(o=e.errors)):"object"===typeof e?(c=e.message||"Error",i=e):c=e,i&&((s=JSON.parse(JSON.stringify(i))).errors?(o=s.errors,delete s.errors):i.errors&&(o=JSON.parse(JSON.stringify(i.errors)))),this.type="FeathersError",this.name=t,this.message=c,this.code=n,this.className=r,this.data=s,this.errors=o||{},Error.captureStackTrace?Error.captureStackTrace(this,a):this.stack=(new Error).stack}function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e}function r(e,t){a.call(this,e,"BadRequest",400,"bad-request",t)}function i(e,t){a.call(this,e,"NotAuthenticated",401,"not-authenticated",t)}function o(e,t){a.call(this,e,"PaymentError",402,"payment-error",t)}function c(e,t){a.call(this,e,"Forbidden",403,"forbidden",t)}function s(e,t){a.call(this,e,"NotFound",404,"not-found",t)}function l(e,t){a.call(this,e,"MethodNotAllowed",405,"method-not-allowed",t)}function u(e,t){a.call(this,e,"NotAcceptable",406,"not-acceptable",t)}function d(e,t){a.call(this,e,"Timeout",408,"timeout",t)}function m(e,t){a.call(this,e,"Conflict",409,"conflict",t)}function p(e,t){a.call(this,e,"LengthRequired",411,"length-required",t)}function h(e,t){a.call(this,e,"Unprocessable",422,"unprocessable",t)}function f(e,t){a.call(this,e,"TooManyRequests",429,"too-many-requests",t)}function b(e,t){a.call(this,e,"GeneralError",500,"general-error",t)}function v(e,t){a.call(this,e,"NotImplemented",501,"not-implemented",t)}function g(e,t){a.call(this,e,"BadGateway",502,"bad-gateway",t)}function y(e,t){a.call(this,e,"Unavailable",503,"unavailable",t)}n(a,Error),Object.defineProperty(a.prototype,"toJSON",{value:function(){return{name:this.name,message:this.message,code:this.code,className:this.className,data:this.data,errors:this.errors}}}),n(r,a),n(i,a),n(o,a),n(c,a),n(s,a),n(l,a),n(u,a),n(d,a),n(m,a),n(p,a),n(h,a),n(f,a),n(b,a),n(v,a),n(g,a),n(y,a);var E={FeathersError:a,BadRequest:r,NotAuthenticated:i,PaymentError:o,Forbidden:c,NotFound:s,MethodNotAllowed:l,NotAcceptable:u,Timeout:d,Conflict:m,LengthRequired:p,Unprocessable:h,TooManyRequests:f,GeneralError:b,NotImplemented:v,BadGateway:g,Unavailable:y,400:r,401:i,402:o,403:c,404:s,405:l,406:u,408:d,409:m,411:p,422:h,429:f,500:b,501:v,502:g,503:y};e.exports=Object.assign({convert:function(e){if(!e)return e;var t=E[e.name],a=t?new t(e.message,e.data):new Error(e.message||e);return"object"===typeof e&&Object.assign(a,e),a}},E)},360:function(e,t,a){var n=a(271),r=a(583),i=a(584);e.exports=Object.assign({},n,{hooks:r,filterQuery:i})},39:function(e,t,a){"use strict";t.lunar=a(529),t.solar=a(530)},460:function(e,t,a){"use strict";(function(e){var n=a(0),r=a.n(n),i=a(26),o=a(11),c=a(191),s=a(332),l=a(249),u=a(491),d=a(97);function m(e,t){var a=[];return e.forEach(function(e){return function e(t,n){var i;if(i=(i=/^\//.test(t.path)?t.path:"".concat(n,"/").concat(t.path)).replace(/\/+/g,"/"),t.component&&t.childRoutes){var c=m(t.childRoutes,i);a.push(r.a.createElement(o.a,{key:i,render:function(e){return r.a.createElement(t.component,e,c)},path:i}))}else t.component?a.push(r.a.createElement(o.a,{key:i,component:t.component,path:i,exact:!0})):t.childRoutes&&t.childRoutes.forEach(function(t){return e(t,i)})}(e,t)}),r.a.createElement(o.c,null,a)}Object(s.setConfig)({logLevel:"debug"}),t.a=Object(s.hot)(e)(function(){var e=m(u.a,"/");return r.a.createElement(i.a,{store:l.a},r.a.createElement(c.a,{history:d.a},e))})}).call(this,a(336)(e))},491:function(e,t,a){"use strict";var n={};a.r(n),a.d(n,"alertTestAction",function(){return L.a}),a.d(n,"createAlert",function(){return F.a}),a.d(n,"dismissCreateAlertError",function(){return F.b}),a.d(n,"fetchAlerts",function(){return U.b}),a.d(n,"dismissFetchAlertsError",function(){return U.a}),a.d(n,"removeAlert",function(){return W.c}),a.d(n,"dismissRemoveAlertError",function(){return W.a}),a.d(n,"fetchInstances",function(){return H.b}),a.d(n,"dismissFetchInstancesError",function(){return H.a}),a.d(n,"fetchIftttAlerts",function(){return B.b}),a.d(n,"dismissFetchIftttAlertsError",function(){return B.a});var r={};a.r(r),a.d(r,"socialTestAction",function(){return G.b}),a.d(r,"createPost",function(){return z.a}),a.d(r,"dismissCreatePostError",function(){return z.b}),a.d(r,"fetchPosts",function(){return K.b}),a.d(r,"dismissFetchPostsError",function(){return K.a}),a.d(r,"patchPost",function(){return q.b}),a.d(r,"dismissPatchPostError",function(){return q.a}),a.d(r,"addUserAction",function(){return V.a}),a.d(r,"dismissAddUserActionError",function(){return V.b}),a.d(r,"removeUserAction",function(){return $.c}),a.d(r,"dismissRemoveUserActionError",function(){return $.a}),a.d(r,"fetchUserActions",function(){return Q.b}),a.d(r,"dismissFetchUserActionsError",function(){return Q.a}),a.d(r,"setMapVisiblePosts",function(){return X.b}),a.d(r,"getPost",function(){return J.b}),a.d(r,"dismissGetPostError",function(){return J.a}),a.d(r,"getUserAction",function(){return Z.b}),a.d(r,"dismissGetUserActionError",function(){return Z.a}),a.d(r,"patchUserAction",function(){return ee.b}),a.d(r,"dismissPatchUserActionError",function(){return ee.a});var i=a(10),o=a(4),c=a(5),s=a(7),l=a(6),u=a(8),d=a(0),m=a.n(d),p=a(45),h=a(26),f=a(73);function b(e){return{device:e.device,user:e.user,alert:e.alert,social:e.social,common:e.common}}function v(e){return{actions:Object(p.b)(Object(i.a)({},f),e)}}var g=Object(h.c)(b,v),y=Object(h.c)(function(e){return{user:e.user}},v),E=a(20),O=a(3),w=a(2),k=a.n(w),j=a(9),N=a.n(j),D=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_backgroundImage",value:function(e){var t=e||this.props,a=t.user,n=t.u,r=t.noDefault;return n?Object(w.path)(["image"],n):r?null:Object(w.path)(["info","image"],a)}},{key:"render",value:function(){var e=this.props.noDefault,t=this._backgroundImage(),a=t?{backgroundImage:"url(".concat(t.replace("cdn.filestackcontent.com","d2pr2a8f0ao4pf.cloudfront.net"),")")}:{};return m.a.createElement("div",{className:N()("user-avatar",{"is-def":!t,"no-def":e}),style:a})}}]),t}(d.PureComponent),S=g(D);D.displayName="Avatar",D.displayName="Avatar",D.displayName="Avatar",D.displayName="Avatar",D.displayName="Avatar",D.displayName="Avatar",D.displayName="Avatar";var A=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t=this.props.user;return e=Object(O.isLoggedIn)(t)?[m.a.createElement("li",{key:3,className:t.adminImpersonation?"avatar impersonating":"avatar"},m.a.createElement(E.a,{to:"/account"},m.a.createElement(S,null))),m.a.createElement("li",{key:4,className:"my-dashboard"},m.a.createElement(E.a,{className:"btn btn-primary",to:"/dashboard"},"My Dashboard"))]:[m.a.createElement("li",{key:1},m.a.createElement(E.a,{className:"add-device btn btn-default",to:"/welcome"},"Add Device")),m.a.createElement("li",{key:2},m.a.createElement(E.a,{className:"login btn btn-default",to:"/signin"},"Login")),m.a.createElement("li",{key:3},m.a.createElement(E.a,{className:"login btn btn-default mobile-login",to:"/welcome"},"Login"))],m.a.createElement("div",{className:"user-nav"},m.a.createElement("ul",{className:"nav navbar-nav pull-right simple-nav"},e))}}]),t}(d.PureComponent),_=g(A);A.displayName="Nav",A.displayName="Nav",A.displayName="Nav",A.displayName="Nav",A.displayName="Nav",A.displayName="Nav",A.displayName="Nav";var C=a(133),x=a.n(C),I=a(193),T=a.n(I),P=a(11),M=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).changed=(a=n).changed.bind(a),n.state={macAddress:e.value||Object(O.getUrlQueryParam)(n.props.location,"macAddress")||""},n.onChange=e.onChange,n._cleanAddr=(a=n)._cleanAddr.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_cleanAddr",value:function(e){var t=this.state.macAddress,a=Object(w.pipe)(Object(w.path)(["target","value"]),w.toUpper,Object(w.replace)(/[O]/g,"0"),Object(w.replace)(/[LI]/g,"1"),function(e){return":"===Object(w.last)(t)&&e.length<t.length?Object(w.slice)(0,-1,e):e},Object(w.replace)(/[^A-F0-9]/g,""),Object(w.splitEvery)(2),Object(w.map)(function(e){return 2===e.length?e+":":e}),Object(w.join)(""),Object(w.split)(""),Object(w.take)(17),Object(w.join)(""))(e);this.setState({macAddress:a})}},{key:"componentDidMount",value:function(){this.changed()}},{key:"componentDidUpdate",value:function(e,t){t.macAddress!==this.state.macAddress&&this.changed()}},{key:"changed",value:function(){this.onChange&&this.onChange({macAddress:this.state.macAddress,isValid:17===this.state.macAddress.length})}},{key:"clear",value:function(){this.setState({macAddress:""})}},{key:"render",value:function(){var e=this.props.className;return m.a.createElement("input",{type:"text",value:this.state.macAddress,className:e,onChange:this._cleanAddr,placeholder:"00:00:AA:0A:00:0A"})}}]),t}(d.PureComponent),R=Object(P.h)(M);M.displayName="MacAddressInput";var L=a(236),F=a(176),U=a(106),W=a(177),H=a(178),B=a(179),Y=a(72),G=a(237),z=a(180),K=a(181),q=a(182),V=a(183),$=a(184),Q=a(105),X=a(238),J=a(185),Z=a(186),ee=a(187),te=a(111);var ae=Object(h.c)(b,function(e){return{alertActions:Object(p.b)(Object(i.a)({},n),e),deviceActions:Object(p.b)(Object(i.a)({},Y),e),userActions:Object(p.b)(Object(i.a)({},f),e),socialActions:Object(p.b)(Object(i.a)({},r),e),commonActions:Object(p.b)(Object(i.a)({},te),e)}}),ne=a(70),re=a.n(ne),ie=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={},n._tout=!1,n.removeDevice=(a=n).removeDevice.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"removeDevice",value:function(e){if(window.confirm("Are you sure?")){var t=this.props.deviceActions,a=t.removeDevice,n=t.fetchDevices,r=t.setDeviceI;a(e).then(function(){return n()}),r(0)}}},{key:"getInput",value:function(e,t){var a=this.props.deviceActions,n=e.info?e.info[t]:"";return m.a.createElement("input",{type:"text",value:n,className:"editable-title type-info-"+t,onChange:function(n){var r=e.info||{};r[t]=n.target.value,a.patch(e._id,{info:r})}})}},{key:"publicCheckbox",value:function(e){var t=this.props,a=(t.user,t.deviceActions);return m.a.createElement("td",null,m.a.createElement("a",{onClick:function(){return a.shareDevice(e)}},e.public?m.a.createElement("span",{className:"public"},"public"):m.a.createElement("span",{className:"private"},"private")))}},{key:"publicInfo",value:function(e){if(!e.public)return"";var t=this.props.deviceActions;return m.a.createElement("div",{className:"public-info"},"Url: ",e.public.slug,m.a.createElement("br",null),m.a.createElement("label",null,"Indoor Public:\xa0",m.a.createElement("input",{type:"checkbox",checked:e.public.indoorPublic,onChange:function(a){var n=Object.assign(e.public,{indoorPublic:a.target.checked});t.patch(e._id,{public:n})}})))}},{key:"render",value:function(){var e=this,t=this.props,a=t.deviceActions,n=t.user,r=this.props.device.devices,i=n.info;if(!r||r.length<1)return m.a.createElement("div",{className:"hidden"});var o=Object(w.path)(["oauth","alexa"],i)&&r.length>1&&Object(w.path)(["alexa","lastDevice"],i);return m.a.createElement("div",{className:"block device-device-list"},m.a.createElement("h3",null,"My Devices"),m.a.createElement("table",{className:"table table-striped"},m.a.createElement("thead",null,m.a.createElement("tr",null,m.a.createElement("th",null,"Name"),m.a.createElement("th",null,"Location"),m.a.createElement("th",null,"Mac Address"),m.a.createElement("th",null,"Share Dashboard"),o?m.a.createElement("th",null,"Alexa Default"):"",m.a.createElement("th",null," "))),m.a.createElement("tbody",null,r.map(function(t,r){var c="";return Object(O.isRole)("dev",n)&&(c=m.a.createElement("td",null,m.a.createElement(Qi,{theDevice:t,service:"wu",deviceActions:a}))),m.a.createElement("tr",{key:r,className:N()({})},m.a.createElement("td",null,e.getInput(t,"name")),m.a.createElement("td",null,e.getInput(t,"location")),m.a.createElement("td",null,t.macAddress),e.publicCheckbox(t),o?function(t){var a=e.props.userActions.patch,n=Object(w.path)(["alexa","lastDevice"],i);return t._id===n?m.a.createElement("td",null,m.a.createElement("i",{className:"alexa",title:"Alexa Default Device"})):m.a.createElement("td",null,m.a.createElement("a",{onClick:function(){var e=i.alexa||{};e.lastDevice=t._id,a(i._id,{alexa:e})},title:"Make Alexa Default Device"},m.a.createElement("i",{className:"alexa gray"})))}(t):"",m.a.createElement("td",null,m.a.createElement("a",{className:"",onClick:function(){return e.removeDevice(t)}},m.a.createElement("i",{className:"glyphicon glyphicon-trash"}))),c)}))))}}]),t}(d.PureComponent);ae(ie);ie.displayName="DeviceList",ie.displayName="DeviceList",ie.displayName="DeviceList",ie.displayName="DeviceList",ie.displayName="DeviceList",ie.displayName="DeviceList",ie.displayName="DeviceList";var oe=a(31);var ce=Object(h.c)(b,function(e){return{actions:Object(p.b)(Object(i.a)({},Y),e)}}),se=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.valueTransform,a=e.before,n=e.after,r=e.suff,i=e.value,o=e.row,c=e.type,s=e.mode,l=e.user,u=e.skipConvert,d=e.skipWindLabel,p=e.className,h=i;if(!Object(O.isSomething)(h)){if(!o)return m.a.createElement("span",null);h=o[c]}var f=!1,b=!1,v=Object(O.getMasterUnitParam)(c),g=Object(O.getUserUnitI)(c,l);if(Object(O.isSomething)(h)){if(Object(w.contains)(c,["winddir","windgustdir","winddir_avg2m","winddir_avg10m"])&&!d)f=!0,h=Object(O.windDirLabel)(h);else if("dateutc"===c){f=!0;var y="MMM D h:mma",E=h;if(s){var k=Object(O.fetchStartEndRes)(s).res;E=oe.ambient.roundDownMins(k,E),Object(w.contains)(s,["monthly","yearly"])&&(y="MMM D")}h=moment(E,"x").format(y)}else if(v){if(u||(h=Object(O.convertUnit)(v,g,h)),g>0)b=Object(O.getSuff)(v).replace(oe.ambient.DATA_SPEC[v].units[0],oe.ambient.DATA_SPEC[v].units[g])}}else h="- -",f=!0;var j="";if(r||b||!f&&Object(O.getSuff)(c)){var D=r||b||Object(O.getSuff)(c),S=/\^(\d)/;if(S.test(D)){var A=D.match(S);D=m.a.createElement("span",null,D.replace(S,""),m.a.createElement("sup",null,A[1]))}j=m.a.createElement("span",{className:"suff"},D)}var _="";n&&(_=m.a.createElement("span",{className:"after"},n));var C="";a&&(C=m.a.createElement("span",{className:"before"},a)),t&&(h=t(h));var x="";p&&(x=N()(p));var I="device-formatted-data-point fdp "+c+" "+x;return m.a.createElement("span",{className:I},C,m.a.createElement("span",{className:"fdp-val"},h),j,_)}}]),t}(d.PureComponent),le=Object(h.c)(b)(se);function ue(e){var t=e.currentDevice,a=e.type,n=t.lastData;return Object(O.dataHas)(n)([a])?m.a.createElement("div",{className:N()("device-generic-widget","type-".concat(a))},m.a.createElement("div",{className:"big-number"},m.a.createElement(le,{type:a,row:n}))):null}se.displayName="FormattedDataPoint",se.displayName="FormattedDataPoint",se.displayName="FormattedDataPoint",se.displayName="FormattedDataPoint",se.displayName="FormattedDataPoint",se.displayName="FormattedDataPoint",se.displayName="FormattedDataPoint",ue.defaultProps={},ue.displayName="GenericWidget";var de=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).handleWidgetChange=(a=n).handleWidgetChange.bind(a),n.state={mocks:!1},n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"shouldComponentUpdate",value:function(e,t){return!(!Object(O.pathsChanged)(this.props,e,[["hideKeys"],["currentDevice"],["user","info"],["device","deviceSummaries"],["device","pressureWidgetLastHours"],["device","yesterdayData"]])&&this.state.mocks===t.mocks)}},{key:"handleWidgetChange",value:function(e,t){var a=this.props,n=(a.match,a.history),r=a.userActions,i=a.user,o=a.device,c=a.currentDevice,s=a.actions;e.dashboard&&(r.updateSetting("dashboard",e.dashboard),s.setThing("graphHash",t),window.scrollTo(0,0),n.push({pathname:Object(O.getDeviceSharePath)(c)+"/graphs"})),Object(O.handleWidgetChange)(r,i,o,c,s,e,t)}},{key:"_orderWidgets",value:function(e){var t=this.props.currentDevice;return Object(w.pipe)(Object(w.sort)(function(e,a){var n=Object(O.getDeviceSetting)(e.key)(t)||{},r=Object(O.getDeviceSetting)(a.key)(t)||{};return"view"===e.key&&n.pinned?-1:"view"!==e.key||n.pinned?"view"===a.key&&r.pinned?1:"view"!==a.key||r.pinned?n.expanded&&!r.expanded?-1:!n.expanded&&r.expanded?1:O.WIDGET_CONFIG[e.key].priority<O.WIDGET_CONFIG[a.key].priority?-1:O.WIDGET_CONFIG[e.key].priority>O.WIDGET_CONFIG[a.key].priority?1:0:-1:1}))(e)}},{key:"_filterMinimizedWidgets",value:function(e,t){var a=this.props.currentDevice;return Object(w.filter)(function(e){var n=Object(O.getDeviceSetting)(e.key)(a)||{};return t?n.minimized:!n.minimized},e)}},{key:"render",value:function(){var e=this,t=this.state.mocks,a=this.props,n=(a.userActions,a.user),r=a.currentDevice,i=a.actions,o=a.device,c=a.hideKeys,s="There's no real-time data yet. Give us a sec...";if(r.lastData){var l=new Date(r.lastData.dateutc),u=r,d="show mock data";if(t){d="hide mocks data";var p=Object(w.clone)(r);p.lastData=Object(w.merge)(r.lastData,O.mockData),u=p}var h=Object(O.dataHas)(u.lastData),f=Object(O.dataHasAny)(u.lastData),b=oe.ambient.deviceIsAKestrel(u),v=Object(w.values)(Object(w.mapObjIndexed)(function(e,t){return Object(w.contains)(t,Object(w.keys)(oe.ambient.DATA_SPEC))?m.a.createElement("span",{key:t},t," : ",e,", "):""},u.lastData)),g=[];if(b?(g.push(m.a.createElement(mi,{hidden:!h(["tempf"]),device:u,onChange:this.handleWidgetChange,key:"tempkestrel",type:"tempkestrel",className:"generic",notExpandable:!0},m.a.createElement(ue,{currentDevice:u,type:"tempf"}))),g.push(m.a.createElement(mi,{hidden:!h(["windspeedmph"])||h(["winddir"]),device:u,onChange:this.handleWidgetChange,key:"wind",type:"wind",className:"generic",notExpandable:!0},m.a.createElement(ue,{currentDevice:u,type:"windspeedmph"})))):(g.push(m.a.createElement(mi,{hidden:!h(["tempf"]),device:u,onChange:this.handleWidgetChange,type:"temp",key:"temp"},m.a.createElement(pi,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o,user:n}))),g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"view",type:"view",onPin:this.handleWidgetChange},m.a.createElement(to,{currentDevice:u,onChange:this.handleWidgetChange}))),Object(w.path)(["info","coords","coords","lat"],u)&&(g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"sunMoon",type:"sunMoon"},m.a.createElement(Oo,{currentDevice:u,device:o,user:n}))),g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"forecast",type:"forecast"},m.a.createElement(Ao,{currentDevice:u})))),g.push(m.a.createElement(mi,{hidden:!h(["windspeedmph","winddir"]),device:u,onChange:this.handleWidgetChange,key:"wind",type:"wind",notExpandable:b},m.a.createElement(hi,{currentDevice:u})))),g.push(m.a.createElement(mi,{hidden:!f(["weeklyrainin","monthlyrainin","yearlyrainin","totalrainin","hourlyrainin","dailyrainin"]),device:u,onChange:this.handleWidgetChange,key:"rain",type:"rain",notExpandable:!f(["weeklyrainin","monthlyrainin","yearlyrainin","totalrainin"])},m.a.createElement(fi,{currentDevice:u}))),g.push(m.a.createElement(mi,{hidden:!h(["humidity"]),device:u,onChange:this.handleWidgetChange,key:"humidity",type:"humidity",notExpandable:!0},m.a.createElement(Pi,{currentDevice:u,fetchDeviceData:i.fetchDeviceData,device:o}))),g.push(m.a.createElement(mi,{hidden:!h(["baromrelin"]),device:u,onChange:this.handleWidgetChange,key:"pressure",type:"pressure",notExpandable:!0},m.a.createElement(bi,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o,unitI:Object(O.getUserUnitI)("baromrelin",n)}))),g.push(m.a.createElement(mi,{hidden:!h(["tempinf"]),device:u,onChange:this.handleWidgetChange,key:"indoor",type:"indoor"},m.a.createElement(gi,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o,user:n}))),g.push(m.a.createElement(mi,{hidden:!h(["uv"]),device:u,onChange:this.handleWidgetChange,key:"uv",type:"uv",notExpandable:!0},m.a.createElement(yi,{currentDevice:u}))),g.push(m.a.createElement(mi,{hidden:!h(["solarradiation"]),device:u,onChange:this.handleWidgetChange,key:"solar",type:"solar"},m.a.createElement(Ei,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o}))),Object(w.range)(1,9).forEach(function(t){var a="leafwetness".concat(t);h([a])&&g.push(m.a.createElement(mi,{device:u,onChange:e.handleWidgetChange,key:a,type:a,className:"generic"},m.a.createElement(ue,{currentDevice:u,type:a})))}),g.push(m.a.createElement(mi,{hidden:!h(["wbgtf"]),device:u,onChange:this.handleWidgetChange,key:"wbgt",type:"wbgt",notExpandable:!1},m.a.createElement(ac,{currentDevice:u,fetchDeviceData:i.fetchDeviceData,device:o}))),g.push(m.a.createElement(mi,{hidden:!h(["heatindexf"]),device:u,onChange:this.handleWidgetChange,key:"heatindex",type:"heatindex",notExpandable:!0},m.a.createElement(nc,{currentDevice:u,fetchDeviceData:i.fetchDeviceData,device:o}))),g.push(m.a.createElement(mi,{hidden:!h(["pig"]),device:u,onChange:this.handleWidgetChange,key:"pig",type:"pig",className:"generic",notExpandable:!0},m.a.createElement(ue,{currentDevice:u,type:"pig"}))),g.push(m.a.createElement(mi,{hidden:!h(["dischargeft3s"]),device:u,onChange:this.handleWidgetChange,key:"dischargerate",type:"dischargerate",notExpandable:!0},m.a.createElement(rc,{currentDevice:u,fetchDeviceData:i.fetchDeviceData,device:o}))),g.push(m.a.createElement(mi,{hidden:!h(["gaugeheightft"]),device:u,onChange:this.handleWidgetChange,key:"gaugeheight",type:"gaugeheight",notExpandable:!0},m.a.createElement(ic,{currentDevice:u,fetchDeviceData:i.fetchDeviceData,device:o}))),g.push(m.a.createElement(mi,{hidden:!h(["watermeasph"]),device:u,onChange:this.handleWidgetChange,key:"waterph",type:"waterph",notExpandable:!0},m.a.createElement(oc,{currentDevice:u,fetchDeviceData:i.fetchDeviceData,device:o}))),g.push(m.a.createElement(mi,{hidden:!h(["waternitratesmgl"]),device:u,onChange:this.handleWidgetChange,key:"waternitrates",type:"waternitrates",notExpandable:!0},m.a.createElement(cc,{currentDevice:u,fetchDeviceData:i.fetchDeviceData,device:o}))),h(["crosswindmph","headwindmph"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"crosswind",type:"crosswind"},m.a.createElement(bc,{currentDevice:u}))),h(["airdensitylbft3","relativeairdensity"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"airdensity",type:"airdensity"},m.a.createElement(vc,{currentDevice:u}))),oe.ambient.simpleWidgets.forEach(function(t){h([t])&&g.push(m.a.createElement(mi,{device:u,onChange:e.handleWidgetChange,key:t,type:t,className:"generic"},m.a.createElement(ue,{currentDevice:u,type:t})))}),Object(w.range)(1,11).forEach(function(t){var a="temp".concat(t,"f"),r="humidity".concat(t),c="soiltemp".concat(t),s="soilhum".concat(t),l="soiltens".concat(t);f([a,r])&&g.push(m.a.createElement(mi,{hidden:!f([a,r]),device:u,onChange:e.handleWidgetChange,key:a,type:a,className:{hum:h([r])}},m.a.createElement(gi,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o,user:n,sensor:t}))),f([c,s])&&(h([l])||g.push(m.a.createElement(mi,{device:u,onChange:e.handleWidgetChange,key:c,type:c,notExpandable:!0,className:{soil:!0,hum:h([s])}},m.a.createElement(Vi,{currentDevice:u,sensor:t})))),h([c,l])&&g.push(m.a.createElement(mi,{device:u,onChange:e.handleWidgetChange,key:l,type:l,notExpandable:!0,className:{soil:!0}},m.a.createElement(sc,{currentDevice:u,sensor:t})))}),g.push(m.a.createElement(mi,{hidden:!h(["leafwet1x"]),device:u,onChange:this.handleWidgetChange,key:"leafwet1x",type:"leafwet1x",notExpandable:!0,className:"leafwet1x"},m.a.createElement(lc,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o,notExpandable:!0}))),g.push(m.a.createElement(mi,{hidden:!h(["gdd"]),device:u,onChange:this.handleWidgetChange,key:"gdd",type:"gdd",notExpandable:!0,className:"gdd"},m.a.createElement(uc,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o,notExpandable:!0}))),g.push(m.a.createElement(mi,{hidden:!f(["etos","etrs"]),device:u,onChange:this.handleWidgetChange,key:"etrs",type:"etrs",notExpandable:!0,classname:"etrs"},m.a.createElement(dc,{fetchDeviceData:i.fetchDeviceData,currentDevice:u,device:o,user:n}))),g.push(m.a.createElement(mi,{hidden:!f(O.WIDGET_CONFIG.relays.fields),device:u,onChange:this.handleWidgetChange,key:"relays",type:"relays"},m.a.createElement(ki,{currentDevice:u,onChange:this.handleWidgetChange}))),g.push(m.a.createElement(mi,{hidden:!f(O.WIDGET_CONFIG.battery.fields),device:u,onChange:this.handleWidgetChange,key:"battery",type:"battery"},m.a.createElement(ao,{currentDevice:u,device:o}))),g.push(m.a.createElement(mi,{hidden:!Object(O.isRole)("dev",n),device:u,onChange:this.handleWidgetChange,key:"stats",type:"stats"},m.a.createElement("div",{className:"wrap"},m.a.createElement(E.a,{to:"/"},"Map"),"Last updated: ",l.toString()," ",m.a.createElement("br",null),m.a.createElement("a",{tabIndex:"-1",onClick:function(){e.setState({mocks:!e.state.mocks})}},d),Object(O.widgetExpanded)("stats",u)?v:""))),f(["aqi_pm25_aqin"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"aqin",type:"aqin"},m.a.createElement(ec,{currentDevice:u}))),f(["pm25"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"air",type:"air"},m.a.createElement(ec,{type:"air",currentDevice:u}))),f(["pm25_in"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"airin",type:"airin"},m.a.createElement(ec,{currentDevice:u,type:"airin"}))),f(["co2_in"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"co2",type:"co2"},m.a.createElement(tc,{type:"co2_in",currentDevice:u}))),f(["co2_in_aqin"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"co2",type:"co2"},m.a.createElement(tc,{currentDevice:u}))),f(["lightning_day"])&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"lightning",type:"lightning"},m.a.createElement(xo,{currentDevice:u}))),f(O.WIDGET_CONFIG.leak.fields)&&g.push(m.a.createElement(mi,{device:u,onChange:this.handleWidgetChange,key:"leak",type:"leak"},m.a.createElement(To,{onChange:this.handleWidgetChange,currentDevice:u}))),c.length>0){var y=Object(w.pipe)(Object(w.prop)("key"),Object(w.flip)(w.contains)(c),w.not);g=Object(w.filter)(y,g)}var k,j=this._orderWidgets(g),N=this._filterMinimizedWidgets(j,!0);g=this._filterMinimizedWidgets(j),N.length>0&&(k=m.a.createElement("div",{className:"minimized"},m.a.createElement("div",{className:"label"},"Add back to Dashboard: "),N.map(function(t){return m.a.createElement("a",{title:Object(O.getWidgetTitle)(u,t.key),key:t.key+"-a",onClick:function(){e.handleWidgetChange({minimized:!1},t.key)}},t)})));g.map(function(e){return e.key}).join("-");s=m.a.createElement("div",null,m.a.createElement("div",{className:"board clearfix compact"},g),k)}return m.a.createElement("div",{className:"device-device-realtime-dashboard"},s)}}]),t}(d.Component),me=ce(Object(P.h)(de));de.displayName="DeviceRealtimeDashboard";var pe=a(62),he=a(23),fe=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){return m.a.createElement("div",{className:N()("component-loader",this.props.className)},m.a.createElement("div",{className:"dot"}),m.a.createElement("div",{className:"dot"}),m.a.createElement("div",{className:"dot"}))}}]),t}(d.PureComponent);fe.displayName="Loader",fe.displayName="Loader",fe.displayName="Loader",fe.displayName="Loader",fe.displayName="Loader",fe.displayName="Loader",fe.displayName="Loader";var be=a(39),ve=a.n(be),ge=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_checkHash",value:function(){var e=this.props,t=e.deviceActions,a=e.data,n=e.device.graphHash;a&&(n&&document.getElementById("".concat(n,"_graph"))&&(t.setThing("graphHash",!1),clearTimeout(this._tout),this._tout=setTimeout(function(){document.getElementById("".concat(n,"_graph"))&&document.getElementById("".concat(n,"_graph")).scrollIntoView({behavior:"smooth",block:"center"})},2e3)))}},{key:"componentDidMount",value:function(){this._checkHash(),this._processGraphData()}},{key:"componentDidUpdate",value:function(e){this._checkHash(),Object(O.pathsChanged)(this.props,e,[["data"]])&&this._processGraphData()}},{key:"_processGraphData",value:function(){var e=this.props,t=e.data,a=e.user,n=e.mode,r=e.device,i=t&&Array.isArray(t)?t.slice(0):[];if(i.length>0){var o=Object(O.convertUnitForUserOnRow)(a),c=(Object(O.convertUnitForUser)(a),Object(O.getTheDevice)(r)),s=Object(O.getDeviceCoords)(r),l=Object(w.pipe)(function(e){if(s&&(e.sun=ve.a.solar.sin_elevation(e.dateutc,s.lat,s.lon),e.moon=ve.a.lunar.elevation(e.dateutc,s.lat,s.lon),e.sun<0&&(e.sun=0),e.moon<0&&(e.moon=0),"yearly"===n)){e.moon=0;var t=moment.tz(e.dateutc,c.tz.name).startOf("day").valueOf(),a=moment.tz(e.dateutc,c.tz.name).endOf("day"),r=Object(O.getAstroValue)(moment,c,ve.a.solar.rise,a),i=Object(O.getAstroValue)(moment,c,ve.a.solar.set,a);e.sunTransitM=Object(O.getAstroValue)(moment,c,ve.a.solar.transit,a),e.sunRiseSet=[r.valueOf()-t,i.valueOf()-t],e.sunTransit=e.sunTransitM.valueOf()-t}return e},Object(O.addPropToObj)("dewPoint",function(e){return Object(O.dewPoint)(e.tempf,e.humidity)}),Object(O.addPropToObj)("feelsLike",O.feelsLikeObj),o("tempf"),o("temp1f"),o("temp2f"),o("temp3f"),o("temp4f"),o("temp5f"),o("temp6f"),o("temp7f"),o("temp8f"),o("temp9f"),o("temp10f"),o("soiltemp1"),o("soiltemp2"),o("soiltemp3"),o("soiltemp4"),o("soiltemp5"),o("soiltemp6"),o("soiltemp7"),o("soiltemp8"),o("soiltemp9"),o("soiltemp10"),o("tempinf"),o("feelsLike"),o("dewPoint"),o("windspeedmph"),o("windgustmph"),o("hourlyrainin"),o("dailyrainin"),o("baromrelin"),o("solarradiation"),o("pm_in_temp_aqin"),o("soiltens1"),o("soiltens2"),o("soiltens3"),o("soiltens4"),o("wbgtf"),o("heatindexf"),o("pig"),Object(w.pickBy)(function(e){return Array.isArray(e)||!isNaN(e)}));i=Object(w.map)(l,i)}this.setState({graphData:i})}},{key:"render",value:function(){var e=this,t=this.props,a=t.device,n=t.user,r=t.data,i=t.hideKeys,o=t.mode,c=t.activeGraphs,s=t.markerTime,l=t.onGraphClick,u=t.shortGraphs,d=this.state,p=d.width,h=d.height,f=d.graphData,b=Object(pe.deviceIsAKestrel)(a.dashboardDevice),v=m.a.createElement(fe,null);if(r&&f&&f.length>0&&p&&h){var g,y=Object(O.getDeviceCoords)(a);if(Object(O.isSomething)(s)){var E=f.findIndex(function(e){return s>=e.dateutc});g=Object(O.isSomething)(E)&&m.a.createElement(he.k,{x:Object(w.path)(["dateutc"],f[E]),stroke:"dark"===Object(O.getTheme)(n)?"white":"black"})}var k=l&&function(e){if(e&&e.activeLabel){var t=new Date(parseInt(e.activeLabel,10));if(!isNaN(t.getTime())){var a=f.find(function(e){return t.getTime()>=e.dateutc});l({evt:e,timestamp:t.getTime(),data:a})}}},j={full:h,med:Math.ceil(h/5*3),short:Math.ceil(h/2)};v=[],b?v.push(m.a.createElement(Ri,{key:"tempf",dataKey:"tempf",width:p,height:Math.ceil(h/2),graphData:f,mode:o,user:n})):v.push(m.a.createElement(Ai,{key:"temp",width:p,height:u?j.short:j.full,graphData:f,onClick:k,mode:o,activeGraphs:Object(O.removeFromArr)("tempinf",c),user:n},g)),v.push(m.a.createElement(_i,{key:"wind",width:p,height:u?j.short:j.med,graphData:f,onClick:k,mode:o,activeGraphs:c,user:n},g)),v.push(m.a.createElement(Li,{key:"winddir",width:p,height:u?j.short:j.med,graphData:f,onClick:k,mode:o,activeGraphs:c,user:n},g));var N=function(e){if(Object(O.isSomething)(e))return e<=55?"#199969":e<155?"#fdde4f":e<255?"#fc9a44":e<355?"#c90335":e<425?"#650095":"#65021e"},D=function(e){if(Object(O.isSomething)(e))return e<=600?"#199969":e<1e3?"#fdde4f":e<1500?"#fc9a44":e<2e3?"#c90335":e<2500?"#650095":"#65021e"},S=function(e){if(Object(O.isSomething)(e))return e<=12?"#199969":e<35.5?"#fdde4f":e<55.5?"#fc9a44":e<150.5?"#c90335":e<250.5?"#650095":"#65021e"},A={pm25_24h:Object(w.apply)(Math.max,Object(w.filter)(O.isSomething,Object(w.pluck)("pm25_24h",f))),pm25_in_24h:Object(w.apply)(Math.max,Object(w.filter)(O.isSomething,Object(w.pluck)("pm25_in_24h",f))),pm10_in_24h:Object(w.apply)(Math.max,Object(w.filter)(O.isSomething,Object(w.pluck)("pm10_in_24h",f))),co2_in_aqin:Object(w.apply)(Math.max,Object(w.filter)(O.isSomething,Object(w.pluck)("co2_in_aqin",f))),co2_in:Object(w.apply)(Math.max,Object(w.filter)(O.isSomething,Object(w.pluck)("co2_in_aqin",f)))},_=function(e){var t=S;/pm10/.test(e)?t=N:/co2/.test(e)&&(t=D);var a=t(0),n=[m.a.createElement("stop",{offset:"0%",stopColor:a,key:e+"0"})],r=A[e];return Object(w.range)(0,r+1).forEach(function(i){var o=t(i);o!==a&&(a=o,n.push(m.a.createElement("stop",{offset:i/r*100+"%",stopColor:a,key:e+a})))}),n};if(Object(w.contains)("co2_in",c)&&v.push(m.a.createElement(Ri,{key:"co2_in",dataKey:"co2_in",id:"co2_in",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,stroke:"url(#co2)",domain:["dataMin","dataMax"]},m.a.createElement("defs",null,m.a.createElement("linearGradient",{id:"co2",x1:"0%",y1:"100%",x2:"0%",y2:"0%"},_("co2_in"))))),Object(w.contains)("co2_in_aqin",c)&&v.push(m.a.createElement(Ri,{key:"co2_in_aqin",dataKey:"co2_in_aqin",id:"co2",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,stroke:"url(#co2)",domain:["dataMin","dataMax"]},m.a.createElement("defs",null,m.a.createElement("linearGradient",{id:"co2",x1:"0%",y1:"100%",x2:"0%",y2:"0%"},_("co2_in_aqin"))),g)),Object(w.contains)("pm25",c)&&v.push(m.a.createElement(Ri,{key:"pm25",dataKey:"pm25",id:"air",width:p,height:Math.ceil(h/2),graphData:f,mode:o,user:n,domain:[0,"dataMax"]},g)),Object(w.contains)("pm25_24h",c)&&v.push(m.a.createElement(Ri,{key:"pm25_24h",dataKey:"pm25_24h",id:"air_24",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,stroke:"url(#pm2524)",domain:[0,"dataMax"]},m.a.createElement("defs",null,m.a.createElement("linearGradient",{id:"pm2524",x1:"0%",y1:"100%",x2:"0%",y2:"0%"},_("pm25_24h"))),g)),Object(w.contains)("pm25_in_aqin",c)&&v.push(m.a.createElement(Ri,{key:"pm25_in_aqin",dataKey:"pm25_in_aqin",id:"aqin",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,domain:[0,"dataMax"]},g)),Object(w.contains)("pm25_in_24h_aqin",c)&&v.push(m.a.createElement(Ri,{key:"pm25_in_24h_aqin",dataKey:"pm25_in_24h_aqin",id:"pm25_in_24h_aqin",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,stroke:"url(#pm2524aqin)",domain:[0,"dataMax"]},m.a.createElement("defs",null,m.a.createElement("linearGradient",{id:"pm2524aqin",x1:"0%",y1:"100%",x2:"0%",y2:"0%"},_("pm25_in_24h_aqin"))),g)),Object(w.contains)("pm10_in_aqin",c)&&v.push(m.a.createElement(Ri,{key:"pm10_in_aqin",dataKey:"pm10_in_aqin",id:"pm10_in_aqin",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,domain:[0,"dataMax"]},g)),Object(w.contains)("pm10_in_24h_aqin",c)&&v.push(m.a.createElement(Ri,{key:"pm10_in_24h_aqin",dataKey:"pm10_in_24h_aqin",id:"pm10_in_24h_aqin",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,stroke:"url(#pm1024aqin)",domain:[0,"dataMax"]},m.a.createElement("defs",null,m.a.createElement("linearGradient",{id:"pm1024aqin",x1:"0%",y1:"100%",x2:"0%",y2:"0%"},_("pm10_in_24h_aqin"))),g)),Object(w.contains)("rain",c)&&v.push(m.a.createElement(Ui,{key:"rain",width:p,height:u?j.short:j.med,graphData:f,onClick:k,mode:o,user:n},g)),Object(w.contains)("baromrelin",c)){var C=Object(O.getUserUnitI)("baromrelin",n);v.push(m.a.createElement(Ri,{key:"pressure",id:"pressure",dataKey:"baromrelin",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,tickFormatter:function(e){return 0===C?Object(O.toFixed)(2,e):Object(O.toFixed)(0,e)}},g))}Object(w.contains)("pm_in_humidity_aqin",c)&&v.push(m.a.createElement(Ri,{key:"pm_in_humidity_aqin",dataKey:"pm_in_humidity_aqin",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,domain:[0,100]},g)),Object(w.contains)("humidity",c)&&v.push(m.a.createElement(Ri,{key:"humidity",dataKey:"humidity",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,domain:[0,100]},g)),Object(w.contains)("solarradiation",c)&&v.push(m.a.createElement(Ri,{key:"solar",dataKey:"solarradiation",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,tickFormatter:function(e){return e>1e3?Math.floor(e/1e3)+"k":Math.round(e)},user:n},g)),Object(w.contains)("uv",c)&&v.push(m.a.createElement(Ri,{key:"uv",dataKey:"uv",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n},g)),Object(w.contains)("lightning_day",c)&&v.push(m.a.createElement(Io,{key:"lightning",width:p,height:u?j.short:j.med,graphData:f,onClick:k,mode:o,user:n},g)),Object(w.contains)("tempinf",c)&&v.push(m.a.createElement(Ai,{key:"tempinf",width:p,height:u?j.short:j.med,graphData:f,onClick:k,mode:o,activeGraphs:Object(O.removeFromArrWith)(Object(O.fcontains)(["feelsLike","dewPoint","tempf"]),c),user:n},g)),Object(w.contains)("humidityin",c)&&v.push(m.a.createElement(Ri,{key:"humidityin",dataKey:"humidityin",id:"indoor",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n},g)),Object(w.contains)("pm25_in",c)&&v.push(m.a.createElement(Ri,{key:"pm25_in",dataKey:"pm25_in",id:"airin",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,stroke:"url(#pm25_in)",domain:[0,"dataMax"]},m.a.createElement("defs",null,m.a.createElement("linearGradient",{id:"pm25_in",x1:"0%",y1:"100%",x2:"0%",y2:"0%"},_("pm25_in"))),g)),Object(w.contains)("pm25_in_24h",c)&&v.push(m.a.createElement(Ri,{key:"pm25_in_24h",dataKey:"pm25_in_24h",id:"air_in_24",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,stroke:"url(#pm25_in24)",domain:[0,"dataMax"]},m.a.createElement("defs",null,m.a.createElement("linearGradient",{id:"pm25_in24",x1:"0%",y1:"100%",x2:"0%",y2:"0%"},_("pm25_in_24h"))),g)),!b&&y&&Object(w.contains)("sunMoon",c)&&v.push(m.a.createElement(wo,{key:"sunMoon",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,device:a},g));var x=Object(w.pipe)(Object(w.map)(w.keys),w.flatten,w.uniq)(f);if(Object(w.range)(1,11).forEach(function(e){["temp".concat(e,"f"),"humidity".concat(e),"soiltemp".concat(e),"soilhum".concat(e),"soiltens".concat(e)].forEach(function(e){var t=Object(O.fcontains)(x);Object(w.contains)(e,c)&&(t(e)||t(e+"Hl"))&&v.push(m.a.createElement(Ri,{key:e,dataKey:e,width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,tickFormatter:function(t){return/temp/.test(e)&&Object(O.countDecimals)(t)>1?t.toFixed(1):t}},g))})}),Object(w.contains)("leafwetsum",c)){var I=Object(O.getUserUnitI)("leafwetsum",n);v.push(m.a.createElement(Ri,{key:"leafwetsum",id:"leafwetsum",dataKey:"leafwetsum",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,tickFormatter:function(e){return 0===I?Object(O.toFixed)(2,e):Object(O.toFixed)(0,e)}},g))}if(pe.simpleGraphs.forEach(function(e){Object(w.contains)(e,c)&&v.push(m.a.createElement(Ri,{key:e,dataKey:e,width:p,height:Math.ceil(h/5*3),graphData:f,mode:o,user:n}))}),Object(w.contains)("dischargeft3s",c)&&v.push(m.a.createElement(Ri,{key:"dischargeft3s",dataKey:"dischargeft3s",width:p,height:Math.ceil(h/2),graphData:f,mode:o,user:n})),Object(w.contains)("gaugeheightft",c)&&v.push(m.a.createElement(Ri,{key:"gaugeheightft",dataKey:"gaugeheightft",width:p,height:Math.ceil(h/2),graphData:f,mode:o,user:n})),Object(w.contains)("watermeasph",c)&&v.push(m.a.createElement(Ri,{key:"watermeasph",dataKey:"watermeasph",width:p,height:Math.ceil(h/2),graphData:f,mode:o,user:n})),Object(w.contains)("waternitratesmgl",c)&&v.push(m.a.createElement(Ri,{key:"waternitratesmgl",dataKey:"waternitratesmgl",width:p,height:Math.ceil(h/2),graphData:f,mode:o,user:n})),Object(w.contains)("gdd",c)&&v.push(m.a.createElement(Ri,{key:"gdd",dataKey:"gdd",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n},g)),Object(w.contains)("etos",c)&&v.push(m.a.createElement(Ri,{key:"etos",dataKey:"etos",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,tickFormatter:Object(O.toFixed)(2)},g)),Object(w.contains)("etrs",c)&&v.push(m.a.createElement(Ri,{key:"etrs",dataKey:"etrs",width:p,height:Math.ceil(h/2),graphData:f,onClick:k,mode:o,user:n,tickFormatter:Object(O.toFixed)(2)},g)),i.length>0){var T=Object(w.pipe)(Object(w.prop)("key"),Object(w.flip)(w.contains)(i),w.not);v=Object(w.filter)(T,v)}}return m.a.createElement("div",{ref:function(t){t&&!e.state.width&&e.setState({width:t.offsetWidth,height:Math.ceil(t.offsetWidth/3)})},className:"device-device-data-graph-wrap"},v)}}]),t}(d.PureComponent);ge.displayName="DeviceDataGraphWrap";var ye=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"renderLinks",value:function(e,t){var a=this;return m.a.createElement("ul",null,e.reduce(function(e,n){var r;return r=/^\//.test(n.path)?n.path:"/"===t?"/".concat(n.path):"".concat(t,"/").concat(n.path),e.push(m.a.createElement("li",{key:r},m.a.createElement(E.a,{to:r},n.name||n.path))),n.childRoutes&&n.childRoutes.length&&e.push(m.a.createElement("li",{key:"".concat(r,"_wrapper")},a.renderLinks(n.childRoutes,r))),e},[]))}},{key:"render",value:function(){return m.a.createElement("div",{className:"component-simple-nav"},this.renderLinks(this.props.routes[0].childRoutes,""))}}]),t}(d.PureComponent);ye.displayName="SimpleNav",ye.displayName="SimpleNav",ye.displayName="SimpleNav",ye.displayName="SimpleNav",ye.displayName="SimpleNav",ye.displayName="SimpleNav",ye.displayName="SimpleNav";var Ee=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillMount",value:function(){this.props.history.push("/")}},{key:"render",value:function(){return m.a.createElement("div",{className:"component-page-not-found"},"Page not found.")}}]),t}(d.PureComponent);Object(P.h)(Ee);Ee.displayName="PageNotFound",Ee.displayName="PageNotFound",Ee.displayName="PageNotFound",Ee.displayName="PageNotFound",Ee.displayName="PageNotFound",Ee.displayName="PageNotFound",Ee.displayName="PageNotFound";var Oe=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){return m.a.createElement("div",{className:"component-terms-of-use"},m.a.createElement("pre",null,"Effective April 1, 2017",m.a.createElement("br",null),"Welcome to the Terms and Conditions of Use Agreement (the \u201cAgreement\u201d) for Ambient Web Services, LLC.",m.a.createElement("br",null),"Ambient, LLC d/b/a Ambient Weather sells and distributes consumer electronics products (\u201cthe product\u201d), including weather stations and related accessories.  Ambient Weather also purchases private labeled weather stations and related accessories bearing one or more of the Ambient Weather Trademarks and Service Marks.",m.a.createElement("br",null),"Ambient Web Services, LLC, a wholly owned subsidiary of Ambient, LLC provides the features at the website located at AmbientWeather.net  (the \u2018Site\u2019), (b) the services available on the Site and/or delivered through the site (the \u2018Site Services\u2019), (c) certain software that may be downloaded to your computer (the \u2018computer software\u2019), and (d) certain software that may be downloaded to your mobile device (the \u2018Mobile Software\u2019).",m.a.createElement("br",null),"As used herein, the term 'Software' means the Computer Software and Mobile Software; the term 'Services' means the Site, Site Services, Computer Software and Mobile Software. The terms 'you' or 'user' refer to all individuals and entities that access and/or use the Services. These Terms of Use govern your access to and use of the Services.",m.a.createElement("br",null),"By accessing or using this Site, you intend to and expressly agree to be bound by all the terms and conditions (\u201cTerms and Conditions\u201d) of this Agreement and the Privacy Policy, which include those terms and conditions expressly set out below and those incorporated by reference. Ambient Web Services may amend this Agreement at any time by posting the amended terms on the Site.",m.a.createElement("br",null),"Please read the following Terms and Conditions carefully because they will apply to your access to and use of the Service, and you agree that the Terms and Conditions constitute a legally binding agreement between you and Ambient Web Services. If you do not accept these Terms and Conditions, you will not be able to use the Service. If you do not agree to these site services, please cancel this transaction and do not use this Site. ",m.a.createElement("br",null),"If you download a software application which permits access to or use of the Service, your use of such application will also be subject to any End User License Agreement applicable thereto. Please note that you may not use the Service if you are a person barred from using the Service under the laws of the United States or of your jurisdiction. ",m.a.createElement("br",null),"1. Service Terms of Use",m.a.createElement("br",null),m.a.createElement("br",null),"1.1 These Terms of Use and the applicable Privacy Policy (the 'Privacy Policy'), which is hereby fully incorporated and constitutes, with the Terms of Use, one and single document, govern your access and use of the Services. Please read them carefully.",m.a.createElement("br",null),"1.2 By your affirmative actions of registering on the Site, of accessing and/or using all or part of the Services, you acknowledge that you have read, understood, and agree to be bound by the provisions of these Terms of Use and Privacy Policy. If you do not agree with all or part of these Terms of Use or Privacy Policy, do not register, access, browse or use all or part of the Services.",m.a.createElement("br",null),m.a.createElement("br",null),"1.3 We may change these Terms of Use at any time without prior notice. You may read the up to date and effective version of these Terms of Use at any time on the Site. The revised Terms of Use will become effective upon posting on the Site. Any use of the Services after such posting shall constitute your acceptance of any such changes.  If you disagree with the Terms and Conditions (as amended from time to time) or are dissatisfied with the Service, your sole and exclusive remedy is to discontinue using the Service.",m.a.createElement("br",null),"2. Introduction to Service",m.a.createElement("br",null),"Subject to your compliance with these Terms and Conditions, the Company grants you a personal, limited, non-exclusive license to use the Service for non-commercial purposes.  Your permission to access or use the Service immediately terminates in the event you breach any of these Terms and Conditions.  You acknowledge that the Service may be modified, updated, interrupted, suspended or discontinued at any time without notice or liability to you. You agree that these Terms and Conditions and any rights or obligations arising under these Terms may not be assigned by you, although we may make assignments without restriction.",m.a.createElement("br",null),m.a.createElement("br",null),"In order to use the Service, you must purchase or have a compatible weather station display, or WeatherBridge, or ObserverIP Module, and sensors, each distributed by the Company and compatible with the Service (the \u201cEquipment\u201d),. You may place the relevant Equipment in locations where you would like to monitor certain indoor and outdoor environmental characteristics.",m.a.createElement("br",null),m.a.createElement("br",null),"You must register Equipment on AmbientWeather.net in order to access remote data transmissions from such Equipment.",m.a.createElement("br",null),m.a.createElement("br",null),"You may also request to receive informational alerts or other messages which may be requested, sent or received through the Service (collectively, \u201cAlerts\u201d) from the Service via text, e-mail or push notification. You may add or cancel Alerts at any time. Examples of Alerts include too high or low temperature, too high or low humidity, etc.  These Alerts are provided as a convenience to users only.  You are solely responsible for any costs charged by your wireless carrier or other service providers in connection with Alerts.",m.a.createElement("br",null),m.a.createElement("br",null),"3. Use of Site and Services",m.a.createElement("br",null),"3.1 The Services are for use by users who are at least 18 years old. Users under the age of 18 are not permitted to use the Services without the consent of a parent or legal guardian. By registering, accessing or using the Services, you represent that the information provided about yourself, including your age or the consent of a parent or legal guardian, is accurate and complete.",m.a.createElement("br",null),"3.2 The Services contain different types of information and material, including but not limited to software, text, graphics, communications, measures, tests, results, messages, notes, websites links, music, images, designs, sounds, reports, charts and data files, and any other content, either owned by or licensed to Ambient Web Services by any third party, including other users of the Services, to the exclusion of your User Generated Content as defined hereinafter (collectively referred to as the 'Content').",m.a.createElement("br",null),m.a.createElement("br",null),"3.3 The Services and Content are protected by United States intellectual property laws and any other intellectual property law that may apply. You acknowledge and agree that Ambient Web Services (or its licensors) own all legal rights, title and interest in and to the Services and Content, including any intellectual property rights which subsist in the Services and Content (whether those rights happen to be registered or not, and wherever in the world those rights may exist). You further acknowledge that the Services may contain information which is designated confidential by Ambient Web Services and that you shall not disclose such information without Ambient Web Services\u2019 prior written consent.",m.a.createElement("br",null),"3.4 Ambient Web Services gives you a personal, worldwide, royalty-free, non-assignable, non-transferable and non-exclusive license to use the Content provided to you as part of the Services. This license is for the sole purpose of enabling you to use and enjoy the benefit of the Product(s) you registered on the Site and, as long as you have the right to be registered, to access or to use the Services, in the manner permitted by these Terms of Use. You shall not, and you shall not permit anyone else to, copy, reproduce, modify, translate, broadcast, perform, display, distribute, transmit, frame, republish, download, display, perform, post, transmit, sell, make a commercial use, create a derivative work, reverse engineer, decompile or otherwise attempt to extract any code from the Services and Content unless Ambient Web Services has expressly agreed to it in writing. You agree not to use any data mining, robots, scraping or similar data gathering methods.",m.a.createElement("br",null),"3.5 No other use is permitted without our prior written consent. You must retain all copyright and other proprietary notices contained in the original Content on any copy you make of the Content.",m.a.createElement("br",null),"3.6 You agree not to: (a) take any action that imposes an unreasonable load on the Services' infrastructure, (b) use any device, software or routine to interfere or attempt to interfere with the proper working of the Services or any activity being conducted on the Services, (c) attempt to decipher, decompile, disassemble or reverse engineer any of the software comprising or making up the Services, (d) delete or alter any material posted on the Site by Ambient Web Services or any other person or entity, and/or (e) frame or link to any of the materials or information available on the Services.",m.a.createElement("br",null),"3.7 Certain elements of the Services are protected by trade dress, trademark, unfair competition, and other laws and may not be copied or imitated in whole or in part, by any means, including but not limited to, the use of framing or mirrors, except as otherwise expressly permitted by Section 3.4 of these Terms of Use. None of the Content for the Services may be retransmitted without the express written consent from Ambient Web Services for each and every instance.",m.a.createElement("br",null),"3.8 If you believe in good faith that materials on the Services provided by Ambient Web Services infringe your copyright or author's rights, you (or your agent), may send us a notice requesting that the material be removed, or access to it blocked. Notices and counter notices with respect to the Services should be sent to Ambient Web Services at:",m.a.createElement("br",null),m.a.createElement("br",null),"Ambient Web Services",m.a.createElement("br",null),"6846 W. Frye Road",m.a.createElement("br",null),"Chandler, AZ 85226",m.a.createElement("br",null),m.a.createElement("br",null),"Email: support@ambientweather.com",m.a.createElement("br",null),"3.9 The permission granted to you shall terminate automatically if you breach any of these terms and conditions. Ambient Web Services reserves the right to modify or remove any materials or products listed on the Site at any time without notice.",m.a.createElement("br",null),"4. Prohibited Use of Site",m.a.createElement("br",null),"You shall not make any commercial use of this Site or its contents, product listings, descriptions, or prices. You further agree not to download or copy any account information for the benefit of any merchant or use any data mining, robots, or similar data gathering and extraction tools. This Site or any portion of this Site may not be reproduced, duplicated, copied, sold, resold, visited, or otherwise exploited for any commercial purpose without the express written consent of Ambient Web Services. You agree not to interfere, disrupt, or attempt to gain unauthorized access to other accounts that use this Site or any other computer network. You further agree not to disseminate, store, or transmit viruses, trojan horses, or any other malicious code or program or engage in any other activity deemed by Ambient Web Services to be in conflict with the spirit or intent of this Agreement. ",m.a.createElement("br",null),"5. Equipment",m.a.createElement("br",null),"You shall be solely responsible for providing, maintaining, and ensuring compatibility with the Site including all hardware, software, electrical, and other physical requirements for your use of this Site including, without limitation, telecommunications, Internet access connections, Web browsers, or other equipment, programs, and services required to access and use the Site.",m.a.createElement("br",null),"6. Limitations",m.a.createElement("br",null),"6.1 Security",m.a.createElement("br",null),"You shall be solely responsible for any authorized or unauthorized access to your account by any person. You agree to bear all responsibility for the confidentiality of any password that may be provided to you and all use of the Site with your password. You agree to be responsible for any purchases or charges incurred from the Site. If you use this Site, you are responsible for maintaining the confidentiality of your account and password and for restricting access to your computer, and you agree to accept responsibility for all activities that occur under your account or password. Ambient Web Services reserves the right to refuse service, terminate accounts, remove or edit content, or cancel orders in its sole discretion. ",m.a.createElement("br",null),"6.2 Accessibility",m.a.createElement("br",null),"You agree that from time to time this Site may be inaccessible or inoperable for any reason including, without limitation: (i) equipment malfunctions; (ii) periodic maintenance procedures or repairs that Ambient Web Services may undertake from time to time; or (iii) causes beyond the control of Ambient Web Services or that are not reasonably foreseeable.",m.a.createElement("br",null),"7. Intellectual Property",m.a.createElement("br",null),"7.1 Trademarks",m.a.createElement("br",null),"The following trademarks, service marks, and logos (the \u201cTrademarks\u201d) used and displayed on this Site are registered and unregistered Trademarks owned by Ambient Weather. Under no circumstances may you use or copy any of the Trademarks. Nothing herein should be construed as granting any license or right to use any Trademark displayed on this Site without the express written permission of Ambient Web Services. All other brand names not owned by Ambient Web Services on this Site are owned by their respective owners. You may not frame or utilize framing techniques to enclose any Trademarks, brand names, logos, or use any metatags or any other \u201chidden text\u201d utilizing Ambient Weather\u2019s Trademarks without the express written consent of Ambient Weather. Any unauthorized use terminates the permission or license granted by Ambient Weather. ",m.a.createElement("br",null),m.a.createElement("br",null),"\u2022 US Reg. No. 4,940,460 for \u201cambient weather (design)\u201d;",m.a.createElement("br",null),"\u2022 US Reg. No. 4,940,353 for \u201cAMBIENT WEATHER\u201d;",m.a.createElement("br",null),"\u2022 US Reg. No. 4,940,086 for \u201cambient weather (design)\u201d;",m.a.createElement("br",null),"\u2022 US Reg. No. 4,940,081 for \u201cAMBIENT WEATHER\u201d;",m.a.createElement("br",null),"\u2022 US Reg. No. 3,270,727 for \u201cambient weather (design)\u201d;",m.a.createElement("br",null),"\u2022 US Reg. No. 2,880,925 for \u201cAMBIENT\u201d;",m.a.createElement("br",null),"The Company name, the Company logo, all of the Company\u2019s trademarks, including, without limitation, ambient weather, AMBIENT WEATHER, AMBENT, and all related names, logos, product and service names, designs and slogans are trademarks of the Company and/or its affiliates.  You may not use such marks without the prior written permission of the Company.  All other names, brands and marks are used for identification purposes only and may be the trademarks or registered trademarks of their respective owners. The Company and any party that provides trademarks, service marks, logos, and copyrighted works to the Company retain all rights with respect to any of their respective trademarks, service marks, logos, and copyrighted works appearing on the Service.  All rights are reserved.",m.a.createElement("br",null),m.a.createElement("br",null),"7.2 Copyrighted Marks, Restrictions and Use of Content",m.a.createElement("br",null),"The trademarks, service marks, logos, domain names and other distinctive brand features of Ambient Weather (the 'Ambient Weather Trademarks') used and displayed on those Services are registered and unregistered trademarks or service marks of Ambient Weather. Other products and services names available through the Services may be trademarks or service marks owned by third-parties (the 'Third-Party Trademarks', and, collectively with Ambient Weather Trademarks, the 'Trademarks'). Apart from the licenses and rights hereby expressly granted as part of these Terms of Use, nothing in the Services, Content or in these Terms of Use should be construed as granting, by implication, estoppel, or otherwise, any license or right to use any of the Trademarks displayed on the Services, without the prior written consent of Ambient Weather. The Trademarks may not be used to disparage or harm in any manner Ambient Weather or the applicable third-party, Ambient Weather's or third-party's products or services, or in any manner (using commercially reasonable judgment) that may damage any goodwill in the Trademarks. Use of any Trademarks as part of a link to or from any web site is prohibited without Ambient Weather's prior written consent. All goodwill generated from the use of any Ambient Weather Trademark shall inure to Ambient Weather's benefit.",m.a.createElement("br",null),m.a.createElement("br",null),"Please be aware that if you knowingly materially misrepresent that material or activity on the Service is infringing your copyright, you may be held liable for damages (including costs and attorneys\u2019 fees) under applicable law.",m.a.createElement("br",null),"8. Product Descriptions",m.a.createElement("br",null),"Ambient Web Services attempts to be as accurate as possible. However, Ambient Web Services does not warrant that the product descriptions, advertisements, or other content of this Site is accurate, complete, reliable, current, or error-free. Although Ambient Web Services has made every effort to display and describe the likeness of each product as accurately as possible, it is possible that the displayed likeness of the products or services will depend upon the available graphic image as well as the quality of your monitor. Ambient Web Services cannot guarantee that the Site or your monitor will accurately portray the actual likeness of the products. ",m.a.createElement("br",null),m.a.createElement("br",null),"If a product or service offered on this Site is not as described, your sole remedy is to return it in unused condition to Ambient Web Services. Products displayed on this Site may not be available or discontinued, and products displayed on this Site are subject to change without notice.",m.a.createElement("br",null),"9. User Generated Content",m.a.createElement("br",null),"9.1 The User Generated Content (the 'UGC') is all types of information and material, including but not limited to software, text graphics, communications, measures, tests, results, drawings, profiles, messages, notes, website links, music, videos files or other animated or non-animated images, designs, music, audio files or other sounds, reports, charts and data files, and any other content, including the Feedbacks and Submissions as defined hereinafter, that you publish, display, upload, disclose, transmit, store, share or otherwise make available (\"post\") on or through the Services or the use of your Product. This includes all data transmitted by your Ambient Weather Product.",m.a.createElement("br",null),"9.2 By publishing, displaying, uploading, disclosing, transmitting, storing, sharing, \"posting,\" or otherwise making available your UGC on or through the Services, you hereby grant to Ambient Web Services a perpetual, irrevocable, non-exclusive, worldwide, royalty-free license, with the right to sublicense, to copy, reproduce, modify, translate, broadcast, perform, display distribute, transmit, frame, republish, download, display, perform, post, sell, make a commercial use and commercially exploit, create derivative works, reverse engineer, decompile, extract any code on any of your UGC, in any media now existing or hereafter developed, including without limitation on websites, in audio format, and in any print media format. You hereby waive any rights of publicity and privacy with respect to the UGC and any other legal or moral rights that might preclude Ambient Web Services\u2019 use of the UGC or require your permission for Ambient Web Services to use the UGC. You agree not to assert any claim, whether based on tort, contract, or other legal theory, against Ambient Web Services or its sublicensees relating to Ambient Web Services', its sublicensees' use of the UGC, and you hereby release Ambient Web Services and its sublicensees from any such claims.",m.a.createElement("br",null),"9.3 You represent that your UGC : (i) will not infringe any third party's copyright, patent, trademark, trade secret or other proprietary rights; (ii) will not violate any law, statute, ordinance or regulation; (iii) will not be obscene or contain child pornography; (iv) will not contain any viruses, worms, time bombs or other computer programming code that is intended to damage, detrimentally interfere with, surreptitiously intercept or expropriate any system, data or information; (v) will not violate any third party's rights of publicity or privacy; and (vi) will not be defamatory, unlawfully threatening or harassing, harmful to minors in any way, or otherwise offensive or inappropriate. You are responsible for complying with all laws applicable to your UGC.",m.a.createElement("br",null),"10. Advertising, Linking and Framing",m.a.createElement("br",null),"The Site and Softwares may contain information about, links to and/or advertisements for web sites operated by other parties (the 'Third Party Sites'). In addition, emails sent to users of the Services may contain information about, links to and/or advertisements for Third Party Sites. The information provided about, links to and advertisements concerning Third Party Sites are provided for your convenience only. We do not control such Third Party Sites and we are not responsible for the content and performance of these Third Party Sites and/or for any transactions you may choose to conduct with the operators of any Third Party Sites. Ambient Web Services suggests that you carefully read the terms of use and privacy policy (if any) applicable to the Third Party Sites. You recognize and agree that Ambient Web Services is not responsible for the content of linked Third Party Sites, sites framed within the Site or third party advertisements on the Site and/or in emails sent from this Site, and Ambient Web Services does not make any representations regarding their content or accuracy. Your use of Third Party Sites is at your own risks and subject to the terms and conditions of use of such sites.",m.a.createElement("br",null),m.a.createElement("br",null),"This Site may provide links to other Web sites maintained by third parties. You acknowledge and agree that such links are provided for your convenience only and do not reflect any endorsement, affiliation, relationship, or sponsorship by Ambient Web Services with respect to the provider of such linked site or the quality, reliability, or any other characteristic or feature of such linked site. You further acknowledge and agree that Ambient Web Services is not responsible in any manner (including without limitation with respect to any loss or injury you may suffer) for any matter associated with the linked site, including without limitation, the content provided on or through any such linked site or your reliance thereon. AMBIENT WEB SERVICES MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO ANY LINKED SITE. YOUR USE OF ANY LINKED SITE IS SOLELY AT YOUR OWN RISK. In addition, you should be aware that your use of any non-Ambient Web Services site is subject to the terms and conditions applicable to that site, including the privacy policies (or lack thereof) of such site. If a third party links to this Site, it is not necessarily an indication of endorsement, affiliation, relationship, or sponsorship by or with Ambient Web Services. Ambient Web Services may not even be aware that a third party has linked to this Site. ",m.a.createElement("br",null),"11. Third Party Content",m.a.createElement("br",null),"Any other content not owned by Ambient Web Services is owned by its respective owner. You acknowledge and agree that such content is provided by its owner and does not reflect any endorsement, affiliation, relationship, or sponsorship by Ambient Web Services with respect to the provider of such content. You further acknowledge and agree that Ambient Web Services is not responsible in any manner (including without limitation with respect to any loss or injury you may suffer) for any content provided by third parties including, without limitation, your reliance thereon. AMBIENT WEB SERVICES MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO ANY THIRD-PARTY CONTENT.",m.a.createElement("br",null),"12. Compliance",m.a.createElement("br",null),"The owner of the Service is based in the State of Arizona, USA.  The Company makes no representation that materials available on or through the Service are appropriate or available for use in other locations.  If you access the Service from other locations, you are responsible for complying with local laws.",m.a.createElement("br",null),m.a.createElement("br",null),"13. Unsolicited Feedback and Ideas",m.a.createElement("br",null),m.a.createElement("br",null),"13.1 Ambient Web Services appreciates your interest in our products and our company and understands that you may have comments and suggestions. However, Ambient Web Services does not want you to, and you should not, send any confidential or proprietary information to Ambient Web Services through its Services, or through any other means. Please note that you have no confidentiality agreement with Ambient Web Services and any unsolicited information or material sent to Ambient Web Services will not be regarded by Ambient Web Services as confidential or proprietary information. You may wish to consult with an attorney before making any unsolicited submission to Ambient Web Services so that you can understand what will be consequences of making an unsolicited public submission to Ambient Web Services. If, however, you submit unsolicited information and feedback, including, without limitation, ideas for new advertising campaigns, new promotions, new or improved products or technologies, product enhancements, processes, materials, marketing plans or new product names (collectively, the 'Feedback'), please be aware that regardless of what your letter and/or any other accompanying documentation may say, you are agreeing that the following terms shall apply to your Feedback: (1) Ambient Web Services, and our designees, may use or redistribute the Feedback and/or any portions thereof for any purpose, including commercial purposes, and in any way; without compensation to you; (2) there is no obligation for Ambient Web Services to review the Feedback and/or provide you with any commentary regarding the same; and (3) there is no obligation to keep any Feedback confidential.",m.a.createElement("br",null),"13.2 Upon submitting Feedback you (1) warrant that you are the original developer and/or creator of the Feedback and are legally free to make such a disclosure and you shall be solely liable for any damages arising from your submission of any information that is protected through copyright, trade secret law, patent law or other proprietary rights and (2) understand our feedback policy as set forth in this Section and accept this policy without reservation.",m.a.createElement("br",null),"14. Disclaimer of Content and Warranties",m.a.createElement("br",null),"YOU AGREE THAT YOUR USE OF THIS SITE SHALL BE AT YOUR SOLE RISK. TO THE FULLEST EXTENT PERMITTED BY LAW, AMBIENT WEB SERVICES, ITS OFFICERS, DIRECTORS, EMPLOYEES, AND AGENTS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, IN CONNECTION WITH THE SITE AND YOUR USE THEREOF. AMBIENT WEB SERVICES MAKES NO WARRANTIES OR REPRESENTATIONS ABOUT THE ACCURACY OR COMPLETENESS OF THIS SITE'S CONTENT, THE CONTENT OF ANY SITES LINKED TO THIS SITE, OR ANY THIRD-PARTY CONTENT AND ASSUMES NO LIABILITY OR RESPONSIBILITY FOR ANY (I) ERRORS, MISTAKES, OR INACCURACIES OF CONTENT OR THIRD-PARTY CONTENT, (II) PERSONAL INJURY OR PROPERTY DAMAGE, OF ANY NATURE WHATSOEVER, RESULTING FROM YOUR ACCESS TO AND USE OF OUR SITE OR THIRD-PARTY CONTENT, (III) ANY UNAUTHORIZED ACCESS TO OR USE OF OUR SECURE SERVERS AND/OR ANY AND ALL PERSONAL INFORMATION STORED THEREIN, (IV) ANY INTERRUPTION OR CESSATION OF TRANSMISSION TO OR FROM OUR SITE, (IV) ANY BUGS, VIRUSES, TROJAN HORSES, OR THE LIKE WHICH MAY BE TRANSMITTED TO OR THROUGH OUR SITE BY ANY THIRD PARTY, AND/OR (V) ANY ERRORS OR OMISSIONSIN ANY CONTENT, THIRD-PARTY CONTENT, OR FOR ANY LOSS OR DAMAGE OF ANY KIND INCURRED AS A RESULT OF THE USE OF ANY CONTENT OR THIRD-PARTY CONTENT POSTED, E-MAILED, TRANSMITTED, OR OTHERWISE MADE AVAILABLE VIA THE SITE. AMBIENT WEB SERVICES DOES NOT WARRANT, ENDORSE, GUARANTEE, OR ASSUME RESPONSIBILITY FOR ANY PRODUCT OR SERVICE ADVERTISED OR OFFERED BY A THIRD PARTY THROUGH THE SITE OR ANY HYPERLINKED WEB SITE OR FEATURED IN ANY BANNER OR OTHER ADVERTISING, AND AMBIENT WEB SERVICES WILL NOT BE A PARTY TO OR IN ANY WAY BE RESPONSIBLE FOR MONITORING ANY TRANSACTION BETWEEN YOU AND THIRD-PARTY PROVIDERS OF PRODUCTS OR SERVICES. AS WITH THE PURCHASE OF A PRODUCT OR SERVICE THROUGH ANY MEDIUM OR IN ANY ENVIRONMENT, YOU SHOULD USE YOUR BEST JUDGMENT AND EXERCISE CAUTION WHERE APPROPRIATE. ",m.a.createElement("br",null),"THE SERVICE AND ALL CONTENT HEREIN ARE PROVIDED \u201cAS IS\u201d AND WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THE COMPANY DISCLAIMS ALL WARRANTIES AND CONDITIONS, INCLUDING ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT.",m.a.createElement("br",null),m.a.createElement("br",null),"ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SERVICE IS DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM THE DOWNLOAD OF ANY SUCH MATERIAL.  ALL ALERTS ARE PROVIDED \u201cAS IS.\u201d ALERTS ARE SOLELY PROVIDED AS A CONVENIENCE TO YOU.  WE DO NOT GUARANTEE THE ACCURACY OF ALERTS. DO NOT RELY ON ALERTS TO INFORM YOU OF ANY CONDITION. WE ARE NOT LIABLE FOR ANY ALERT SENT OR THE FAILURE OF AN ALERT TO BE SENT TO YOU. WE ARE NOT LIABLE FOR ANY ACTION OR INACTION YOU TAKE AS A RESULT OF AN ALERT BEING SENT OR NOT SENT.  SOME JURISDICTIONS LIMIT OR DISALLOW THE DISCLAIMER OF IMPLIED OR OTHER WARRANTIES SO THE ABOVE DISCLAIMERS MAY NOT APPLY TO YOU TO THE EXTENT SUCH JURISDICTION'S LAW IS APPLICABLE TO YOU AND THESE TERMS OF USE. ",m.a.createElement("br",null),m.a.createElement("br",null),"IF YOUR USE OF THE SERVICES OR THE CONTENT CAUSES THE NEED FOR SERVICING OR REPLACING EQUIPMENT OR DATA, NO AMBIENT WEB SERVICES PARTY SHALL BE RESPONSIBLE FOR THOSE COSTS. THE SERVICES AND CONTENT ARE PROVIDED ON AN 'AS IS' AND 'AS AVAILABLE' BASIS WITHOUT ANY WARRANTIES OF ANY KIND, EXPRESS OF IMPLIED. THE AMBIENT WEB SERVICES PARTIES DISCLAIM ALL WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF TITLE, MERCHANTABILITY, NON INFRINGEMENT OF THIRD PARTIES RIGHTS, AND FITNESS FOR PARTICULAR PURPOSE.",m.a.createElement("br",null),m.a.createElement("br",null),"THE CONTENT ON THE SERVICES IS PRESENTED IN A SUMMARY FASHION, AND IS INTENDED TO BE USED FOR INFORMATIONAL PURPOSES ONLY. THE DATA, MEASUREMENTS AS WELL AS ANY OTHER KIND OF CONTENT PROVIDED THROUGH THE SERVICES ARE SUPPLIED WITHOUT ANY WARRANTY OF ACCURACY AND SHOULD NOT BE USED AS A SOURCE TO MAKE ANY DECISION.",m.a.createElement("br",null),"15. Limitation of Liability",m.a.createElement("br",null),m.a.createElement("br",null),"15.1 IN NO EVENT SHALL ANY AMBIENT WEB SERVICES PARTY BE LIABLE FOR ANY INDIRECT, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, LOST DATA OR BUSINESS INTERRUPTION) ARISING OUT OF THE USE OR INABILITY TO USE, OR RESULTING FROM USE OF THE SERVICES AND THEIR CONTENT, WHETHER SUCH DAMAGES ARE BASED ON WARRANTY, CONTRACT, TORT (INCLUDING NEGLIGENCE), OR ANY OTHER LEGAL THEORY, EVEN IF ANY AMBIENT WEB SERVICES PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE AMBIENT WEB SERVICES PARTIES SHALL NOT BE SUBJECT TO LIABILITY FOR THE TRUTH, ACCURACY OR COMPLETENESS OF THE CONTENT AND SERVICES, OR ANY OTHER INFORMATION CONVEYED TO THE USER, OR FOR ERRORS, MISTAKES OR OMISSIONS THEREIN, OR FOR ANY DELAYS OR INTERRUPTIONS OF THE DATA, OR INFORMATION STREAM FROM WHATEVER CAUSE. YOU AGREE THAT YOU USE THE SERVICES AND THEIR CONTENT AT YOUR OWN RISKS. THE AGGREGATE LIABILITY OF THE AMBIENT WEB SERVICES PARTY, TAKEN INDIVIDUALLY OR COLLECTIVELY, ARISING OUT OR RELATING TO THE SITE AND SERVICES (REGARDLESS OF THE FORM OF ACTION OR CLAIM, E.G. CONTRACT, WARRANTY, TORT, STRICT LIABILITY, NEGLIGENCE, OR ANY OTHER LEGAL THEORY) IS LIMITED TO $100.",m.a.createElement("br",null),m.a.createElement("br",null),"15.2 THIS SITE IS CONTROLLED AND OFFERED BY AMBIENT WEB SERVICES. AMBIENT WEB SERVICES MAKES NO REPRESENTATIONS THAT THE SITE IS APPROPRIATE OR AVAILABLE FOR USE OUTSIDE OF NORTH AMERICA. THOSE WHO ACCESS OR USE THE SITE FROM OTHER JURISDICTIONS DO SO AT THEIR OWN VOLITION AND ARE RESPONSIBLE FOR COMPLIANCE WITH LOCAL LAW.",m.a.createElement("br",null),"16. Release",m.a.createElement("br",null),"In the event that you have a dispute with a third party that involves this Site, you agree to release Ambient Web Services and its members, governors, directors, officers, employees and agents from all claims, demands and damages (actual and consequential) of every kind and nature, known and unknown, suspected and unsuspected, disclosed and undisclosed, arising out of or in any way connected with such disputes. If you are a California resident, you waive California Civil Code \xa71542, which says: \u201cA general release does not extend to claims which the creditor does not know or suspect to exist in his favor at the time of executing the release, which if known by him must have materially affected his settlement with the debtor.\u201d ",m.a.createElement("br",null),"17. Indemnification of Ambient Web Services",m.a.createElement("br",null),"You agree to indemnify and hold harmless the Company and its officers, directors, employees, agents, affiliates, third party providers, licensors, contractors and others involved in the Service (collectively, the \u201cIndemnified Parties\u201d), from any breach of these Terms and Conditions by you. You agree that the Indemnified Parties will have no liability in connection with any such breach or unauthorized use, and you agree to indemnify any and all resulting losses, damages, judgments, awards, costs, expenses, and attorneys' fees or other legal expenses of the Indemnified Parties in connection therewith. You will also indemnify and hold the Indemnified Parties harmless from and against any claims brought by third parties arising out of your use of the information accessed from or through the Service.",m.a.createElement("br",null),m.a.createElement("br",null),"18. Termination of Services",m.a.createElement("br",null),m.a.createElement("br",null),"18.1 These Terms of Use will continue to apply until terminated by either you or Ambient Web Services as set out below.  This Agreement is effective upon your acceptance as set forth herein and shall continue in full force until terminated.",m.a.createElement("br",null),"18.2 If you want to terminate your legal agreement with Ambient Web Services, you may do so by (a) notifying Ambient Web Services at any time and (b) closing your accounts for the Services which you use.",m.a.createElement("br",null),"18.3 Ambient Web Services may, at any time, terminate its legal agreement with you if:",m.a.createElement("br",null),m.a.createElement("br",null),"a) you have breached any provision of these Terms of Use (or have acted in manner which clearly shows that you do not intend to, or are unable to, comply with the provisions of the Terms of Use); or",m.a.createElement("br",null),m.a.createElement("br",null),"b) Ambient Web Services is required to do so by law (for example, where the provision of the Services to you is, or becomes, unlawful); or",m.a.createElement("br",null),m.a.createElement("br",null),"c) the relationship between Ambient Web Services and partner with whom Ambient Web Services offered the Services to you has been terminated or the partner has decided not to offer the Services anymore; or",m.a.createElement("br",null),m.a.createElement("br",null),"d)  Ambient Web Services is transitioning to no longer providing the Services to users in the country in which you are resident or from which you use the Services, for example in case the Services, in Ambient Web Services\u2019 sole opinion, is no longer commercially viable.",m.a.createElement("br",null),m.a.createElement("br",null),"e)  Without prejudice to the above, Ambient Web Services reserves the right, in its sole discretion, to restrict, suspend, or terminate parts of the Services or their Content at any time and for any reason without prior notice or liability. Ambient Web Services reserves the right to change, suspend, or discontinue all or any part of the Services or their Content at any time without prior notice or liability.",m.a.createElement("br",null),m.a.createElement("br",null),"f) You understand and agree that some of your UGC, such as that displayed outside your profile, in any part of the Site, or on any social platforms, may continue to appear on the Site or on other social platforms even after your UGC is removed from the Site or your account is terminated.",m.a.createElement("br",null),m.a.createElement("br",null),"g) Sections 2 (Service Terms of Use), 14 (Disclaimer of Content and Warranties), 15 (Limitation of Liability), 17 (Indemnification of Ambient Web Services), 18 (Termination of Services), and 19 (Miscellaneous) shall survive the termination of this Terms of Use.",m.a.createElement("br",null),"19. Miscellaneous",m.a.createElement("br",null),"These Terms and Conditions shall be governed in all respects by and construed in accordance with the laws of the State of Arizona, USA, without regard to its conflicts of law principles, and exclusive jurisdiction over any cause of action arising out of these Terms of Use Service or your use of the Service shall be in the state or federal courts located in Walworth County, Arizona.  You agree to submit to the jurisdiction of such courts.",m.a.createElement("br",null),m.a.createElement("br",null),"These Terms and Conditions, as they may be amended from time to time, completely and exclusively state the agreement between you and the Company with respect to the Service. To the maximum extent permitted by law, any cause of action you may have with respect to the Service must be commenced within one (1) year after the claim or cause of action arises or else such claim or cause of action is barred. ",m.a.createElement("br",null),m.a.createElement("br",null),"If any part of these Terms and Conditions is unenforceable, the unenforceable part shall be construed to reflect, as nearly as possible, the original intentions of the parties.  The other provisions of these Terms of Use Service shall remain in full force and effect.",m.a.createElement("br",null),m.a.createElement("br",null),"The Company\u2019s failure to insist upon or enforce strict performance of any provision of these Terms and Conditions shall not constitute a waiver of the provision.  Neither a course of dealing or conduct between you and the Company nor any trade practices shall be deemed to modify these Terms and Conditions.",m.a.createElement("br",null),m.a.createElement("br",null),"You agree that no joint venture, partnership, employment, or agency relationship exists between you and the Company as a result of these Terms and Conditions or use of the Service.",m.a.createElement("br",null),m.a.createElement("br",null),"A printed version of these Terms and Conditions and of any notice given in electronic form shall be admissible in judicial or administrative proceedings based upon or relating to these Terms and Conditions to the same extent and subject to the same conditions as other business documents and records originally generated and maintained in printed form.",m.a.createElement("br",null),m.a.createElement("br",null),"19.1 Amendment",m.a.createElement("br",null),"Ambient Web Services shall have the right, at any time and without notice, to add to or modify the terms of this Agreement. Your access to or use of the Site after the date such amended terms are delivered to you shall be deemed to constitute acceptance of such amended terms. ",m.a.createElement("br",null),"19.2 Waiver",m.a.createElement("br",null),"No waiver of any term, provision, or condition of this Agreement, whether by conduct or otherwise, in any one or more instances, shall be deemed to be, or shall constitute, a waiver of any other term, provision or condition hereof, whether or not similar, nor shall such waiver constitute a continuing waiver of any such term, provision or condition hereof. No waiver shall be binding unless executed in writing by the party making the waiver. ",m.a.createElement("br",null),"19.3 Severability",m.a.createElement("br",null),"If any provision of this Agreement is determined to be illegal or unenforceable, then such provision will be enforced to the maximum extent possible and the other provisions will remain fully effective and enforceable. ",m.a.createElement("br",null),"19.4 Notice",m.a.createElement("br",null),"All notices shall be in writing and shall be deemed to be delivered when sent by first-class mail, postage prepaid, or when sent by facsimile or e-mail to either party\u2019s last known post office, facsimile or e-mail address. User hereby consents to notice by e-mail. ",m.a.createElement("br",null),"19.5 Law",m.a.createElement("br",null),"This Agreement is made in and shall be governed by the laws of the State of Arizona without reference to its conflict of laws provisions. ",m.a.createElement("br",null),"The Services are hosted in the United States. We make no claims concerning whether the Content may be downloaded, viewed, or be appropriate for use outside of the United States. If you access the Content or Services from outside of the United States, you do so at your own risk. Whether inside or outside of The United States, you are solely responsible for ensuring compliance with the laws of your specific jurisdiction.",m.a.createElement("br",null),m.a.createElement("br",null),"The United States controls the export of certain products and information. You expressly agree to comply with such restrictions and not to export or re-export any of the Content to countries or persons prohibited under the export control laws. By downloading the Content, you are expressly agreeing that you are not in a country where such export is prohibited or are a person or entity for which such export is prohibited. You shall be liable for compliance with the laws regarding the import, export, or re-export of the Content.",m.a.createElement("br",null),"19.6 Forum",m.a.createElement("br",null),"All actions, claims or disputes arising under or relating to this Agreement shall be brought in the federal or state courts in the State of Arizona. The parties irrevocably submit and consent to the exercise of subject matter jurisdiction and personal jurisdiction over each party by the federal and/or state courts in the State of Arizona. The parties hereby irrevocably waive any and all objections which any party may now or hereafter have to the exercise of personal and subject matter jurisdiction by the federal or state courts in the State of Arizona and to the venue of any such suit, action, or proceeding brought in any such federal or state court in the State of Arizona. ",m.a.createElement("br",null),"19.7 Process",m.a.createElement("br",null),"The parties irrevocably submit and consent, and irrevocably waive any and all objections that any party may now or hereafter have, to process being served in any such suit, action, or proceeding referred to in the preceding subsection pursuant to the rules of the applicable court, including, without limitation, service by certified or registered mail, return receipt requested. No provision of this section shall affect the right of any party to serve process in any manner permitted by law or limit the right of any party to bring suits, actions or proceedings to enforce in any lawful manner a judgment issued by the state or federal courts of the State of Arizona. ",m.a.createElement("br",null),"19.8 Headings",m.a.createElement("br",null),"The captions and headings of this Agreement are included for ease of reference only and will be disregarded in interpreting or construing this Agreement. ",m.a.createElement("br",null),"19.9 Survival",m.a.createElement("br",null),"The terms and provisions of Sections 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, and 13, 15, 16, 17 and 18 shall survive any termination or expiration of this Agreement. ",m.a.createElement("br",null),"19.10 Entire Agreement",m.a.createElement("br",null),"This Agreement constitutes the complete and exclusive statement of the agreement between the parties and supersedes any and all prior or contemporaneous communications, representations, statements, and understandings, whether oral or written, between the parties.",m.a.createElement("br",null),"Privacy Policy",m.a.createElement("br",null),"Effective: November 1, 2016",m.a.createElement("br",null),m.a.createElement("br",null),"Your privacy is very important to us at Ambient Web Services ('Ambient Web Services', 'we', 'us' or 'our'). Accordingly, we have developed this Privacy Policy to explain our policy with respect to data identifying or allowing to identify, directly or indirectly, a person using one or several specific elements ('Personal Data') and other information and measurements (the 'Measurements'). Personal Data and Measurements are either generated or collected by Ambient Web Services or given by you when using any of the Ambient Web Services products (the 'Product'), our website located at www.Ambient Web Services.net and more generally all URL and websites administered by Ambient Web Services or within the Ambient Web Services.net domain (the 'Site') and its services (the 'Site Services'), and our software (the 'Software', the 'Computer Software' and 'Mobile Software'). As used herein, the term 'Services' means the Site, Site Services, Computer Software and Mobile Software.",m.a.createElement("br",null),m.a.createElement("br",null),"Any passwords used for the Service are for individual use only. You will be responsible for the security of your password.",m.a.createElement("br",null),m.a.createElement("br",null),"You are prohibited from using any services or facilities provided in connection with the Service to compromise security or tamper with system resources and/or accounts. The use or distribution of tools designed for compromising security (e.g., password guessing programs, cracking tools or network probing tools) is strictly prohibited. If you become involved in any violation of system security, the Company reserves the right to release your details to system administrators at other web sites in order to assist them in resolving security incidents.",m.a.createElement("br",null),m.a.createElement("br",null),"The Company reserves the right to cooperate fully with any law enforcement authorities with respect to any investigations involving any attempt to compromise security or tamper with system resources or with court orders requesting or directing the Company to disclose the identity of anyone posting any messages, or publishing or otherwise making available any materials that are believed to violate these Terms and Conditions. BY ACCEPTING THESE TERMS AND CONDITIONS YOU WAIVE AND HOLD HARMLESS THE COMPANY FROM ANY CLAIMS RESULTING FROM ANY ACTION TAKEN BY THE COMPANY DURING OR AS A RESULT OF ITS INVESTIGATIONS AND/OR FROM ANY ACTIONS TAKEN AS A CONSEQUENCE OF INVESTIGATIONS BY EITHER THE COMPANY OR LAW ENFORCEMENT AUTHORITIES.",m.a.createElement("br",null),m.a.createElement("br",null),"1. Protection of Personal Data According to Law",m.a.createElement("br",null),"Ambient Web Services does not sell or rent your personal information to third parties for their marketing purposes without your explicit consent and we only use your information as described in the Privacy Policy. We store and process your information on computers that are protected by physical as well as technological security devices.",m.a.createElement("br",null),"2. Information We Collect",m.a.createElement("br",null),"When you interact with us through the Site, we may collect Personal Data and other information from you, as further described below:",m.a.createElement("br",null),"\u2022 Personal Data that you provide through registration to or usage of Ambient Web Services' Services: We collect Personal Data when you register through the Site or the Mobile Software and create an account. This Personal Data includes email and Ambient Web Services account password. We also collect information when you set up Ambient Web Services\u2019 Product such as the set up location. We collect Personal Data and Measurements when you use Ambient Web Services' Products and Services. We may also collect Personal Data or Measurement through automated means we use to monitor or work the Services, such as but not limited to information about your Product, its capabilities and applications, the way you use it, your activities on/with the Services, your IP address, your browser, etc.",m.a.createElement("br",null),"\u2022 Personal Data That You Provide through other use of the Services: We also collect Personal Data when you access the Ambient Web Services Services and/or other parts of the Site and elect to provide Personal Data through the Site. For example, we collect Personal Data when you complete a survey, register for a promotion or special offer, send us an e-mail message, participate to an online forum or community or customize the Services.",m.a.createElement("br",null),"By voluntarily providing us with Personal Data, you are consenting to our use of it in accordance with this Privacy Policy. If you provide Personal Data through the Services, you acknowledge and agree that such Personal Data may be transferred from your current location to the offices and servers of Ambient Web Services and the authorized third parties referred to herein located in the United States.",m.a.createElement("br",null),"3. Other Information, Cookies",m.a.createElement("br",null),"When you visit this Site, Ambient Web Services may store some information on your computer. This information will be in the form of a \u201ccookie\u201d or similar file and can help us maintain and improve this Site in many ways. A \u201ccookie\u201d is a small amount of data that is transferred to your browser by a Web server and can only be read by the server that gave it to you. It functions as your identification card, recording such things as Internet addresses, passwords, and preferences. It cannot be executed as code or deliver viruses. With most Internet browsers, you can erase \u201ccookies\u201d from your computer hard drive, block all \u201ccookies,\u201d or receive a warning before a \u201ccookie\u201d is stored. Please refer to your browser instructions to learn more about these functions. ",m.a.createElement("br",null),"4. Our Use of Your Personal Data and Other Information.",m.a.createElement("br",null),m.a.createElement("br",null),"Ambient Web Services uses the Personal Data in a manner that is consistent with this Privacy Policy.",m.a.createElement("br",null),"We use your Personal Data and Measurements for the purpose for which it was provided, including without limitation for the purposes described further below:",m.a.createElement("br",null),"\u2022 Provision and Monitoring of the Services: We will use your Personal Data to provide you with access to and support your use of the Services and to monitor your use of the Services. As part of the Services, we may use your Personal Data to provide you with personalized analysis and advices. We will also give you the opportunity to store, review and edit Personal Data and other information on the Site.",m.a.createElement("br",null),"\u2022 Surveys, Contests and Other Special Offers: From time to time, we may offer our users the opportunity to participate in surveys, contest and other special offers. If you provide us with Personal Data in this respect, we will only use that Personal Data for that particular purpose.",m.a.createElement("br",null),"\u2022 Questions and Requests: If you contact us by e-mail or otherwise, we will use the Personal Data you provide to answer your question or resolve your problem.",m.a.createElement("br",null),"\u2022 Contacting You About Products, Services and Events: With registration to the Ambient Web Services Services you agree that from time-to-time Ambient Web Services may use your Personal Data to contact you in the future to tell you about products, services and events that may be of interest to you. Those communications will be provided with the possibility to Opt-out anytime on simple request.",m.a.createElement("br",null),"\u2022 Research and Data Analysis: In an ongoing effort to better understand and serve the users of the Sites and Services, Ambient Web Services often conducts research on its customer demographics, interests and behavior, as well as research on measurements performed by the Product. Those researches are based on de-identified data, Measurements and other information. This research may be compiled and analyzed on raw data or an aggregate basis, and Ambient Web Services may share this de-identified data with advertisers, researchers, business partners, publications, and other third parties. This data will not identify you personally, therefore shall not constitute Personal Data.",m.a.createElement("br",null),"\u2022 Service Improvement: We may use your Personal Data, aggregated Personal Data and other personally non-identifiable data collected through the Services to help us improve the content and functionality of the Services, to better understand our users and to improve the Services.",m.a.createElement("br",null),"\u2022 Order Fulfilment: We may use your Personal Data collected through the Site to fulfill any orders you may place for products offered by Ambient Web Services. Notwithstanding anything herein to the contrary, we will only use your credit card or other financial account information for order processing and fulfillment.",m.a.createElement("br",null),"5. Our Disclosure of Your Personal Data and Other Information",m.a.createElement("br",null),"We consider your Personal Data and privacy to be a vital part of our relationship with you.",m.a.createElement("br",null),"There are, however, certain circumstances in which your Personal Data and Measurements may be shared with and use by certain third parties without further notice to you, as set forth below:",m.a.createElement("br",null),"\u2022 Business Transfers: As we develop our business, we might sell or buy businesses or assets. In the event of a corporate sale, merger, reorganization, dissolution or similar event, Personal Data may be part of the transferred assets.",m.a.createElement("br",null),"\u2022 Ambient Web Services Internal Operating Functions: Ambient Web Services, like many businesses, sometimes hires other companies to perform certain internal operating functions, such as mailing information, maintaining databases, auditing the Services, etc. When we employ another company to perform a function of this nature, we only provide them with the information that they need to perform their specific function and such information is solely use for Ambient Web Services own internal purpose.",m.a.createElement("br",null),"\u2022 Legal Requirements: Ambient Web Services may disclose your Personal Data if required to do so by law or in the good faith belief that such action is necessary to (i) comply with a legal obligation, (ii) protect and defend the rights or property of Ambient Web Services, (iii) act in urgent circumstances to protect the personal safety of users of the Site or the public, or (iv) protect against legal liability.",m.a.createElement("br",null),"\u2022 Third Parties Upon User Action or Authorization: If you choose to share your Personal Data or Measurements on other platforms than the Site such as, but not limited to, social networking websites, or to make publicly available on the Site your Personal Data or Measurements to other users and third parties, you must be aware that those Personal Data and Measurements you have chosen to share will be available for use to to any third party.",m.a.createElement("br",null),"\u2022 Third Party Partner, Distributor/Reseller And Associated Features: In some cases, you may have acquired a Ambient Web Services product through a third party partner, distributor or reseller of Ambient Web Services products, who may have bundle those products with its own features, such as applications. Such associated features may require all or part of your Personal Data or Measurement to provide you with all or part of its functionalities. With registration to the Ambient Web Services Services for such products, you automatically Opt-in and allow us to share your Personal Data or Measurement with such third parties. This sharing of Personal Data or Measurement will be provided with the possibility to Opt-out anytime on simple request. In case of Opt-out, you hereby expressly acknowledge and agree to waive any claim against Ambient Web Services with respect to the disrupted operation of the third party's associated features or of Ambient Web Services product due to the Opt-out. In addition, you must be aware than once the sharing of information took place, the third party will be solely liable towards you for its own use of your Personal Data or Measurement, either before or after you Opt-out.",m.a.createElement("br",null),"\u2022 De-identified Personal Data: As described above, we may share information based on your Personal Data but not in the form of Personal Data. For example, we may share aggregated, in raw form or de-identified data with advertisers, researchers, business partners, publications, and other third parties.",m.a.createElement("br",null),"6. Your Choices",m.a.createElement("br",null),"You can use the Site without providing any Personal Data. However, if you choose not to provide any Personal Data, you may not be able to use certain areas of the Site and/or certain Ambient Web Services Services and Products. You will have the choice as to whether or not you wish to be contacted by us and/or by any third parties with offers for products, services and/or events that may be of interest to you. You can control these choices at the My Account section of the Site.",m.a.createElement("br",null),"7. Exclusions",m.a.createElement("br",null),"This Privacy Policy does not apply to any personal data collected by Ambient Web Services other than Personal Data and Measurements collected through the Site, Services and Products. This Privacy Policy shall not apply to any unsolicited information you provide to Ambient Web Services through this Site or through any other means. This includes, but is not limited to, information posted to any public areas of the Site, such as bulletin boards (collectively, 'Public Areas'), any ideas for new products or modifications to existing products, and other unsolicited submissions (collectively, 'Unsolicited Information'). All Unsolicited Information shall be deemed to be non-confidential and Ambient Web Services shall be free to reproduce, use, disclose, and distribute such Unsolicited Information to others without limitation or attribution.",m.a.createElement("br",null),"8. Links to Other Websites",m.a.createElement("br",null),"This Privacy Policy applies only to the Site. This Site may contain links to other web sites not operated or controlled by Ambient Web Services (the 'Third Party Sites'). The policies and procedures we described here do not apply to the Third Party Sites. The links from this Site do not imply that Ambient Web Services endorses or has reviewed the Third Party Sites. We suggest contacting those sites directly for information on their privacy policies.",m.a.createElement("br",null),"9. Security",m.a.createElement("br",null),"Ambient Web Services takes reasonable steps to protect the Personal Data provided via the Site from loss, misuse, and unauthorized access, disclosure, alteration, or destruction. However, no Internet or e-mail transmission is ever fully secure or error free. In particular, e-mail sent to or from this Site may not be secure. Therefore, you should take special care in deciding what information you send to us via e-mail and/or Internet transmission. Please keep this in mind when disclosing any Personal Data through the Site.",m.a.createElement("br",null),"10. Other Terms and Conditions",m.a.createElement("br",null),"Your access to and use of the Ambient Web Services Services through the Site is subject to the Terms of Use, available on http://www.AmbientWeather.net.",m.a.createElement("br",null),"11. Changes to Ambient Web Services\u2019 Privacy Policy",m.a.createElement("br",null),"The Site and our business may change from time to time. As a result, at times it may be necessary for Ambient Web Services to make changes to this Privacy Policy. Ambient Web Services reserves the right to update or modify this Privacy Policy at any time and from time to time without prior notice. Please review this policy periodically, and especially before you provide any Personal Data. Your continued use of the Site after any changes or revisions to this Privacy Policy shall indicate your agreement with the terms of such revised Privacy Policy.",m.a.createElement("br",null),"12. Access to Information; Contacting Ambient Web Services",m.a.createElement("br",null),"To keep your Personal Data accurate, current, and complete, please visit the My Account section of the Site. You may also contact us as specified below. We will take reasonable steps to update or correct Personal Data in our possession that you have previously submitted via this Site. Please also feel free to contact us if you have any questions about Ambient Web Services\u2019 Privacy Policy or the information practices of this Site. You may contact us as follows :support@AmbientWeather.com",m.a.createElement("br",null),"Ambient Weather One Year Warranty",m.a.createElement("br",null),"Effective: April  1, 2017",m.a.createElement("br",null),"Ambient Weather warrants the product hardware components ('Product') against defects in material and workmanship when used in accordance with Ambient Weather's documentation ('Documentation') for a period of ONE (1) YEAR after the date of original retail purchase ('Warranty Period') from Ambient Weather or Ambient Weather's authorized reseller by the end-user purchaser (\"Customer\" or \"you\").",m.a.createElement("br",null),"20. APPLICABLE PROVISIONS IN THE EVENT OF A BREACH OF LIMITED WARRANTY",m.a.createElement("br",null),"If the Product fails to conform to the Limited Warranty, Ambient Weather will, at its sole discretion and upon your submission of a valid claim to Ambient Weather (i) use commercially reasonable efforts to repair the defective Product with new or refurbished hardware functionally equivalent to the Product being repaired; (ii) replace the defective Product with a Product equivalent to new in performance and reliability; or (iii) exchange the defective Product for a refund of the Product's purchase price. A returned or repaired Product will be replaced under the terms of the Limited Warranty for the remaining Warranty Period, or ninety (90) days, whichever period is longer. This Limited Warranty is not transferable from Customer to subsequent Product owners, and the Warranty Period will not be extended for any such transfer.",m.a.createElement("br",null),"21. Condition of Application",m.a.createElement("br",null),"Ambient Weather's warranty obligations are conditioned on Customer (i) notifying Ambient Weather through the contact information available at http://www.Ambient Weather.com/rma.html during the Warranty Period of any failure of the Product to meet the Limited Warranty, including a detailed description of the alleged failure, (ii) otherwise complying with Ambient Weather's then-current return policy (see General Sales Conditions section \"Right to cancel and return policy\"), (iii) shipping, at Customer's cost, the affected Product to Ambient Weather for repair or replacement, and (iv) providing Ambient Weather with valid proof of purchase.",m.a.createElement("br",null),"If Ambient Weather determines, after analysis of a returned Product, that the Product is an Ineligible Product (see Document and Section of Included Documentation), Ambient Weather will no longer have warranty obligations. Ambient Weather will bear all costs of return shipping to Customer with the United States, except with respect to any Ineligible Product, for which Customer will bear all shipping costs.",m.a.createElement("br",null),"22. Exclusions",m.a.createElement("br",null),"Ambient Weather will have no warranty obligation with respect to the following circumstances ('Exclusions') ('Ineligible Products'): (i) a Product that has no defects in materials or workmanship, (ii) Products with defects that are not reproducible by Ambient Weather, (iii) Products marked as 'sample' or sold 'AS IS', (iv) Products that have been subject to: (a) any modifications, alterations, repair, or servicing by any party other than Ambient Weather or Ambient Weather's authorized representatives; (b) handling, storage, installation, testing, or use not in accordance with the applicable Documentation; (c) abuse, negligence, neglect, accidents, abuse or misuse; (d) any breakdowns, fluctuations, or interruptions in electric power or the telecommunications network; or (e) any Acts of God, including fire, flood, tornado, earthquake, hurricane, excessive snow, lightning, riot, insurrection, act of war or other disaster.",m.a.createElement("br",null),"23. Warranty Disclaimer",m.a.createElement("br",null),"EXCEPT TO THE EXTENT SET FORTH ABOVE IN THIS LIMITED WARRANTY, THE PRODUCTS ARE PROVIDED ON AN 'AS IS' BASIS, AND AMBIENT WEATHER DISCLAIMS ALL WARRANTIES AND CONDITIONS WITH RESPECT TO THE PRODUCTS, WHETHER IMPLIED, EXPRESS, OR STATUTORY, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT OF THIRD-PARTY RIGHTS, QUIET ENJOYMENT, AND ACCURACY. AMBIENT WEATHER DOES NOT WARRANT THAT OPERATION OF THE PRODUCTS WILL BE ERROR-FREE OR UNINTERRUPTED OR THAT THE PRODUCTS WILL IN EVERY CASE PROCESS ALL DATA CORRECTLY.",m.a.createElement("br",null),"24. Limitation of Liability",m.a.createElement("br",null),"24.1 IN NO EVENT WILL (a) AMBIENT WEATHER BE LIABLE FOR ANY CONSEQUENTIAL, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY DAMAGES FOR LOST DATA OR LOST PROFITS, ARISING FROM OR RELATING TO THIS LIMITED WARRANTY OR THE PRODUCTS, EVEN IF AMBIENT WEATHER KNEW OR SHOULD HAVE KNOWN OF THE POSSIBILITY OF SUCH DAMAGES, AND (b) AMBIENT WEATHER'S TOTAL CUMULATIVE LIABILITY ARISING FROM OR RELATED TO THIS LIMITED WARRANTY AND THE PRODUCTS, WHETHER IN CONTRACT OR TORT OR OTHERWISE, EXCEED THE FEES ACTUALLY PAID BY CUSTOMER TO AMBIENT WEATHER OR AMBIENT WEATHER'S AUTHORIZED RESELLER FOR THE PRODUCT AT ISSUE IN THE PRIOR 12 MONTHS (IF ANY). THIS LIMITATION IS CUMULATIVE AND WILL NOT BE INCREASED BY THE EXISTENCE OF MORE THAN ONE INCIDENT OR CLAIM. AMBIENT WEATHER DISCLAIMS ALL LIABILITY OF ANY KIND OF AMBIENT WEATHER'S SUPPLIERS.",m.a.createElement("br",null),m.a.createElement("br",null),"24.2 THE AMBIENT WEATHER ONLINE SERVICES ('SERVICES') PROVIDE YOU INFORMATION ('PRODUCT INFORMATION') REGARDING INDOOR AND OUTDOOR MEASUREMENTS. WITHOUT LIMITING THE GENERALITY OF THE DISCLAIMERS ABOVE, ALL PRODUCT INFORMATION IS PROVIDED FOR YOUR CONVENIENCE, 'AS IS', AND 'AS AVAILABLE'. AMBIENT WEATHER DOES NOT REPRESENT OR WARRANT THAT PRODUCT INFORMATION WILL BE AVAILABLE, ACCURATE, OR RELIABLE. YOU USE ALL PRODUCT INFORMATION, THE SERVICES, AND THE PRODUCT AT YOUR OWN DISCRETION AND RISK. YOU WILL BE SOLELY RESPONSIBLE FOR (AND AMBIENT WEATHER DISCLAIMS) ANY AND ALL LOSS, LIABILITY, OR DAMAGES RESULTING FROM YOUR USE OF THE PRODUCT INFORMATION, SERVICES, OR PRODUCT.",m.a.createElement("br",null),"25. Consumer Protection",m.a.createElement("br",null),"SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS, AND YOU MAY ALSO HAVE OTHER RIGHTS WHICH VARY FROM STATE TO STATE. THE DISCLAIMERS, EXCLUSIONS, AND LIMITATIONS OF LIABILITY UNDER THIS LIMITED WARRANTY WILL NOT APPLY TO THE EXTENT PROHIBITED BY APPLICABLE LAW.",m.a.createElement("br",null)))}}]),t}(d.PureComponent);Oe.displayName="TermsOfUse",Oe.displayName="TermsOfUse",Oe.displayName="TermsOfUse",Oe.displayName="TermsOfUse",Oe.displayName="TermsOfUse",Oe.displayName="TermsOfUse",Oe.displayName="TermsOfUse";var we=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.user,a=e.userActions,n=(e.device,e.onChange),r=e.location,i=[],o=m.a.createElement(E.a,{className:"navbar-brand",to:"/dashboard"}),c=Object(w.equals)(r.pathname),s=function(e){var t={to:e,className:"nav "+e.replace(/\//g,"")},a=Object(w.split)("/",r.pathname);return(c(e)||a.length>2&&a.slice(0,2).join("/")===e)&&(t.className+=" active"),n&&(t.onClick=n),t};i.push(m.a.createElement("div",{key:1},m.a.createElement(Sr,s("/alerts"),m.a.createElement("i",{className:"alerts"}),m.a.createElement("span",null,"Alerts")),m.a.createElement(Sr,s("/settings"),m.a.createElement("i",{className:"settings"}),m.a.createElement("span",null,"Units")),m.a.createElement(Sr,s("/support")," ",m.a.createElement("i",{className:"kmsupport"}),m.a.createElement("span",null,"Support")))),(Object(O.isAdmin)(t)||Object(O.isRole)("dev",t))&&(i.push(m.a.createElement("div",{key:2},m.a.createElement(E.a,s("/admin"),m.a.createElement("i",{className:"admin"}),m.a.createElement("span",null,"Admin")))),(c("/admin")||c("/admin/social"))&&i.push(m.a.createElement("div",{key:3},m.a.createElement(E.a,s("/admin/social"),m.a.createElement("span",null,"Social")))));var l=m.a.createElement("a",{className:"logout",href:"#",onClick:function(){return a.logoutUser()}},m.a.createElement("i",{className:"glyphicon glyphicon-off"})," Logout");return Object(O.isLoggedIn)(t)||(l=m.a.createElement(E.a,{className:"logout",to:"/signin"},m.a.createElement("i",{className:"glyphicon glyphicon-off"})," Login")),m.a.createElement("div",{className:"component-dashboard-nav"},m.a.createElement("div",{className:"wrap"},o,m.a.createElement("div",{className:"scroll-wrap"},m.a.createElement(E.a,s("/account"),m.a.createElement(S,null)),m.a.createElement(E.a,s("/dashboard"),m.a.createElement("i",{className:"dashboard"}),m.a.createElement("span",null,"Dashboard")),m.a.createElement(E.a,s("/devices"),m.a.createElement("i",{className:"devices"}),m.a.createElement("span",null,"Devices")),i,m.a.createElement("div",{className:"nav-btn"},m.a.createElement(E.a,{onClick:function(){return n&&n()},to:"/",className:"btn btn-primary map"},"Weather Map"))),l))}}]),t}(d.PureComponent),ke=ae(Object(P.h)(we));we.displayName="DashboardNav",we.displayName="DashboardNav",we.displayName="DashboardNav",we.displayName="DashboardNav",we.displayName="DashboardNav",we.displayName="DashboardNav",we.displayName="DashboardNav";var je=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.active,a=e.onChange,n=e.navs,r=Object(w.pipe)(w.toPairs,Object(w.map)(function(e){return m.a.createElement("li",{className:t===e[0]?"active":"",key:e[0]},m.a.createElement("a",{onClick:function(){a&&a(e[0])}},e[1]))}))(n||{daily:"Day",weekly:"Week",monthly:"Month",yearly:"Year"});return m.a.createElement("ul",{className:"component-time-mode-nav pagination"},r)}}]),t}(d.PureComponent);je.displayName="TimeModeNav",je.displayName="TimeModeNav",je.displayName="TimeModeNav",je.displayName="TimeModeNav",je.displayName="TimeModeNav",je.displayName="TimeModeNav",je.displayName="TimeModeNav";var Ne=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.allFields,a=e.activeFields,n=e.onChange,r=e.device;return!t||t.length<1?m.a.createElement("div",{className:"checkbox-list"}):m.a.createElement("div",{className:"checkbox-list"},m.a.createElement("div",{className:"btn-group"},m.a.createElement("button",{type:"button",className:"btn btn-circle btn-blue","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},"Filter ",m.a.createElement("span",{className:"caret"}))),m.a.createElement("ul",{className:"dropdown-menu filter"},t.map(function(e){return m.a.createElement("li",{key:e},m.a.createElement("label",null,m.a.createElement("span",null,Object(O.getLabel)(e,r)),m.a.createElement("input",{type:"checkbox",onChange:function(){n&&n(e)},checked:Object(w.contains)(e,a)})))})))}}]),t}(d.PureComponent);Ne.displayName="CheckboxList",Ne.displayName="CheckboxList",Ne.displayName="CheckboxList",Ne.displayName="CheckboxList",Ne.displayName="CheckboxList",Ne.displayName="CheckboxList",Ne.displayName="CheckboxList";var De=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.selected,a=e.onClick,n=e.label,r=(e.value,"component-amb-radio");return t&&(r+=" active"),m.a.createElement("div",{className:r,onClick:a},m.a.createElement("div",null,n),m.a.createElement("i",{className:"circle"}))}}]),t}(d.PureComponent);De.displayName="AmbRadio",De.displayName="AmbRadio",De.displayName="AmbRadio",De.displayName="AmbRadio",De.displayName="AmbRadio",De.displayName="AmbRadio",De.displayName="AmbRadio";var Se=a(1),Ae=a.n(Se),_e=function(e){return function(e){function t(){var e,a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).apply(this,arguments))).handleChangeProp=(e=a).handleChangeProp.bind(e),a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"handleChangeProp",value:function(e){return function(t){var a={};Object(w.isArrayLike)(e)?a=Object(w.set)(Object(w.lensPath)(e),t.target.value,a):a[e]=t.target.value,this.setState(a)}.bind(this)}}]),t}(e)},Ce=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e)))._mounted=!0,n.state={password:"",confirmPassword:"",ReactPasswordStrength:!1},n.handlePassword=(a=n).handlePassword.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"handlePassword",value:function(e){var t=e.password.length>4;this.setState({password:t&&e.password})}},{key:"componentDidUpdate",value:function(e,t){var a=this.props.onChange,n=this.state,r=n.password,i=n.confirmPassword;if(t.password!==r||t.confirmPassword!==i){var o=""!==r&&i===r&&r.length>5;a&&a({password:o&&r,ok:o})}}},{key:"render",value:function(){var e=this.state,t=e.password,a=e.confirmPassword;return m.a.createElement("div",{className:"component-password-confirm-inputs"},m.a.createElement("h4",null,"Password"),m.a.createElement("input",{type:"password",onChange:this.handleChangeProp("password"),defaultValue:t}),m.a.createElement("h4",null,"Confirm Password"),m.a.createElement("input",{type:"password",onChange:this.handleChangeProp("confirmPassword"),defaultValue:this.state.confirmPassword}),""!==t&&""!==a&&t!==a?m.a.createElement("div",{className:"error"},"Passwords do not match"):"",""!==t&&t.length<6?m.a.createElement("div",{className:"error"},"Password is too short"):"")}}]),t}(_e(d.PureComponent));Ce.propTypes={onChange:Ae.a.func},Ce.displayName="PasswordConfirmInputs",Ce.displayName="PasswordConfirmInputs",Ce.displayName="PasswordConfirmInputs",Ce.displayName="PasswordConfirmInputs",Ce.displayName="PasswordConfirmInputs",Ce.displayName="PasswordConfirmInputs",Ce.displayName="PasswordConfirmInputs";var xe=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.min,a=e.max,n=e.avg,r=e.statsMin,i=e.statsMax,o=e.label,c=(i-r)/10,s=r-c,l=i+c,u=(t-s)/(l-s)*100,d=(a-t)/(l-s)*100;d<5&&(u-=(5-d)/2,d=5);var p={left:u+"%",width:d+"%"},h={left:(n-t)/(a-t)*100+"%",display:d>10?"block":"none"};return m.a.createElement("div",{className:N()("line-wrap component-pole-graph",o.toLowerCase())},m.a.createElement("div",{className:"label"},o),m.a.createElement("div",{className:"line-bg"},m.a.createElement("div",{style:p,className:"line"},m.a.createElement("div",{className:"avg",style:h},n),m.a.createElement("div",{className:"min"},t),m.a.createElement("div",{className:"max"},a))))}}]),t}(d.PureComponent);xe.displayName="PoleGraph";var Ie=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){return m.a.createElement("div",{className:"component-public-header"},m.a.createElement("div",{className:"wrap"},m.a.createElement("a",{className:"navbar-brand",href:"https://ambientweather.net"},m.a.createElement("span",null,"Your Personal Weather Dashboard")),m.a.createElement("div",{className:"buttons"},m.a.createElement(E.a,{className:"btn",to:"/devices"},"Add Device"),m.a.createElement(E.a,{className:"btn-primary btn",to:"/"},"Login"))))}}]),t}(d.PureComponent);Ie.displayName="PublicHeader",Ie.displayName="PublicHeader",Ie.displayName="PublicHeader",Ie.displayName="PublicHeader",Ie.displayName="PublicHeader",Ie.displayName="PublicHeader",Ie.displayName="PublicHeader";var Te=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.link;return m.a.createElement("a",{href:e,target:"_blank",className:"glyphicon glyphicon-question-sign component-question-mark"})}}]),t}(d.PureComponent);Te.displayName="QuestionMark",Te.displayName="QuestionMark",Te.displayName="QuestionMark",Te.displayName="QuestionMark",Te.displayName="QuestionMark",Te.displayName="QuestionMark",Te.displayName="QuestionMark";var Pe=a(136),Me=["America/Argentina/ComodRivadavia","America/Knox_IN","Antarctica/DumontDUrville","Antarctica/McMurdo","Australia/ACT","Australia/LHI","Australia/NSW","Brazil/DeNoronha","CET","CST6CDT","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT0","Etc/UCT","GB","GB-Eire","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Pacific-New","US/Samoa","Universal","W-SU","WET","Zulu"],Re=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={tzName:"Etc/GMT",options:[]},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"onChange",value:function(){var e=this.props.onChange,t=this.state.tzName;e&&e(moment.tz.zone(t))}},{key:"componentWillUnmount",value:function(){this._mounted=!1}},{key:"componentDidMount",value:function(){var e=this.props.value;this._mounted=!0,this._mounted&&this.setState({tzName:e||moment.tz.guess(),options:moment.tz.names().filter(Object(w.pipe)(Object(O.fcontains)(Me),w.not)).map(function(e){return{label:e,value:moment.tz.zone(e)}})},this.onChange.bind(this))}},{key:"render",value:function(){var e=this,t=this.props.value,a=this.state,n=a.options,r=a.tzName;return m.a.createElement("div",{className:"component-timezone-picker"},m.a.createElement(Pe.a,{className:"tz-select-container",classNamePrefix:"tz-select",styles:{option:function(e,t){t.isSelected;var a=t.isFocused;return Object(i.a)({},e,{backgroundColor:a?"#09a8e6":"transparent",color:a?"#fff":"#313236"})}},options:n,value:Object(w.find)(Object(w.propEq)("label",t||r),n),onChange:function(t){e.setState({tzName:t.label},e.onChange.bind(e))}}))}}]),t}(d.PureComponent);Re.displayName="TimezonePicker",Re.displayName="TimezonePicker",Re.displayName="TimezonePicker",Re.displayName="TimezonePicker",Re.displayName="TimezonePicker",Re.displayName="TimezonePicker",Re.displayName="TimezonePicker";var Le=a(85),Fe=a.n(Le),Ue=(a(785),function(e){return e&&e.valueOf()}),We=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={open:!1,mode:"24",showRange:!0},a.handleClick=function(e){a.node&&a.node.contains(e.target)||a._mounted&&a.setState({open:!1})},a.modes={24:{label:"Last 24 hours"},day7:{label:"Past 7 Days"},week:{label:"This Week"},day30:{label:"Past 30 Days"},month:{label:"This Month"},day90:{label:"Past 90 days"},day365:{label:"Past Year"},year:{label:"Year to Date"},custom:{label:"Custom"}},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props,a=t.onChange,n=t.device,r=t.start,i=t.end,o=t.getDate;this._mounted=!0,document.addEventListener("mousedown",this.handleClick,!1);var c=o||Object(O.getDateTz)(moment,n),s={momentTz:moment,getDate:c},l=!1;r&&i&&(s.date=r,s.date2=i,l=!0),this.setState(s,function(){a&&!l&&a(e._getDates())})}},{key:"componentWillUnmount",value:function(){this._mounted=!1,document.addEventListener("mousedown",this.handleClick,!1)}},{key:"_getDates",value:function(){var e=this.state,t=e.showRange,a=e.getDate,n=e.mode,r=(e.date,e.date2);if(!t)return[r.clone().startOf("day"),r.clone().endOf("day")];if("24"===n)return[a(Date.now()).subtract(24,"hours"),a(Date.now())];if(/day/.test(n)){var i=n.match(/\d+/)[0];return[a(Date.now()).startOf("day").subtract(parseInt(i,10),"day"),a(Date.now())]}return"week"===n?[a(Date.now()).startOf("week"),a(Date.now())]:"month"===n?[a(Date.now()).startOf("month"),a(Date.now())]:"year"===n?[a(Date.now()).startOf("year"),a(Date.now())]:void 0}},{key:"componentDidUpdate",value:function(e,t){var a=this.state,n=a.showRange,r=a.getDate,i=a.mode,o=a.date,c=a.date2,s=this.props,l=s.onChange,u=s.start,d=s.end;if(u&&d&&!o)this.setState({date:u,date2:d,getDate:this.props.getDate});else if(t.getDate&&r&&!o||t.mode!==i&&"custom"!==i||t.showRange!==n){var m=this._getDates();return this.setState({date:m[0],date2:m[1]})}Ue(t.date)===Ue(o)&&Ue(t.date2)===Ue(c)||l&&l([o,c])}},{key:"_picker",value:function(){var e=this,t=this.state,a=t.showRange,n=t.mode,r=t.momentTz,i=t.open,o=t.date,c=t.date2,s=t.getDate;if(i){var l,u=[m.a.createElement("div",{key:1,className:"picker-wrap"},m.a.createElement("label",null,"From:"),m.a.createElement(Fe.a,{inline:!0,selected:new Date(r(o.format("YYYY-MM-DD")+" 00:00:00").valueOf()),onChange:function(t){var n=r(t),i=s(n.format("YYYY-MM-DD")+" 00:00:00");if(a){if(i.valueOf()>c.valueOf())return;e.setState({date:i,mode:"custom"})}else e.setState({date:i.clone().startOf("day"),date2:i.clone().endOf("day")})}}))];if(a){u.push(m.a.createElement("div",{key:2,className:"picker-wrap pw2"},m.a.createElement("label",null,"To:"),m.a.createElement(Fe.a,{inline:!0,selected:new Date(r(c.format("YYYY-MM-DD")+" 00:00:00").valueOf()),onChange:function(t){var a=r(t),n=s(a.format("YYYY-MM-DD")+" 00:00:00");n.valueOf()<o.valueOf()||e.setState({date2:n,mode:"custom"})}})));var d=Object(w.toPairs)(this.modes);u.push(m.a.createElement("div",{key:3,className:"chooser"},d.map(function(t){return m.a.createElement("a",{key:"a"+t[0],onClick:function(){return e.setState({mode:t[0]})},className:N()({active:t[0]===n})},t[1].label)}))),l=m.a.createElement("div",{className:"select-wrap"},m.a.createElement("span",null,"Choose Range:"),m.a.createElement("select",{onChange:function(t){return e.setState({mode:t.target.value})},value:n},d.map(function(e){return m.a.createElement("option",{value:e[0],key:e[0]},e[1].label)})))}return m.a.createElement("div",{className:"picker"},m.a.createElement("header",null,m.a.createElement("a",{onClick:function(){a&&e.setState({showRange:!1})},className:N()("single",{active:!a})},"Specific Date"),m.a.createElement("a",{onClick:function(){e.setState({showRange:!0})},className:N()("multi",{active:a})},"Date Range"),l),m.a.createElement("div",null,u),m.a.createElement("a",{className:"close",onClick:function(){return e.setState({open:!1})}},m.a.createElement("span",{className:"x"},"x")," Close"))}}},{key:"render",value:function(){var e=this,t=(this.props.device,this.state),a=t.showRange,n=t.momentTz,r=t.date,i=t.date2,o=(t.getDate,t.open);if(!n||!r)return m.a.createElement("div",null);var c="MMMM D, YYYY";return m.a.createElement("div",{ref:function(t){return e.node=t},className:N()("component-date-picker",{open:o,multi:a})},m.a.createElement("a",{onClick:function(){return e.setState({open:!o})}},r.format(c),a?" - "+i.format(c):null),this._picker())}}]),t}(d.PureComponent);Fe.a.displayName="DatePicker",Fe.a.displayName="DatePicker",Fe.a.displayName="DatePicker",Fe.a.displayName="DatePicker",Fe.a.displayName="DatePicker",Fe.a.displayName="DatePicker",Fe.a.displayName="DatePicker";var He=a(37);function Be(){return m.a.createElement("div",{className:"common-page-not-found"},"Page not found.")}Be.displayName="PageNotFound",Be.displayName="PageNotFound",Be.displayName="PageNotFound",Be.displayName="PageNotFound",Be.displayName="PageNotFound",Be.displayName="PageNotFound",Be.displayName="PageNotFound";var Ye=a(22),Ge=a(96),ze=Object(O.getGeocode)(),Ke=function(e,t){return"function"===typeof Object(w.path)(t,e)?Object(w.path)(t,e)():Object(w.path)(t,e)};function qe(e){var t=e.className,a=e.onClose,n=e.onFocus,r=e.onBlur,i=e.onChange,o=e.onPlaceSelected,c=e.placeholder,s=m.a.useState(""),l=Object(Ye.a)(s,2),u=l[0],p=l[1],h=m.a.useState(!1),f=Object(Ye.a)(h,2),b=f[0],v=f[1],g=Object(Ge.c)().online;Object(d.useEffect)(function(){i&&i(u)},[u,i]);var y=function(e){if(e&&o){var t=Ke(e,["geometry","location","lat"]),a=Ke(e,["geometry","location","lng"]);o({label:e.formatted_address,location:Object(O.findLocationFromGoogleRes)(e.address_components),coords:{lat:t,lon:a},geo:{type:"Point",coordinates:[a,t]}})}};return m.a.createElement("div",{className:N()("common-location-autocomplete",{"has-value":""!==u},t)},m.a.createElement(vr,{onChange:function(e){ze.fromLatLng(e.coords.latitude,e.coords.longitude).then(function(e){y(Object(w.path)(["results"],e)[0])})}}),m.a.createElement("div",{className:"autocomplete-wrap"},g&&m.a.createElement(qn,{types:[],type:"text",className:"autocomplete",placeholder:!b&&c||"Search for your location",value:u,onFocus:function(){v(!0),n&&n()},onBlur:function(){v(!1),r&&r()},onPlaceSelected:function(e,t){p(""),v(!1),y(e)},onChange:function(e){p(e.target.value)}}),m.a.createElement("a",{onClick:function(){p(""),a&&a()},className:"glyphicon x-gray"})))}qe.defaultProps={},qe.displayName="LocationAutocomplete",qe.displayName="LocationAutocomplete",qe.displayName="LocationAutocomplete";var Ve=a(24),$e=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={terms:!1,view:"home"},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_email",value:function(){return Object(O.getUrlQueryParam)(this.props.location,"email")}},{key:"_macAddress",value:function(){return Object(O.getUrlQueryParam)(this.props.location,"macAddress")}},{key:"_checkLoggedIn",value:function(){var e=this.props.user;if(!e.fetchUserPending&&Object(O.isLoggedIn)(e))return this.props.history.replace(this._macAddress()?"/devices?macAddress=".concat(this._macAddress()):"/dashboard"),!0}},{key:"componentDidMount",value:function(){!this._checkLoggedIn()&&this._email()&&this.setState({view:"signup"})}},{key:"componentWillUpdate",value:function(e){this._checkLoggedIn()}},{key:"render",value:function(){var e=this,t=this.state,a=t.view,n=t.terms,r=m.a.createElement("a",{className:"open-terms",onClick:function(){return e.setState({terms:!0})}},"Terms and Conditions");n&&(r=m.a.createElement("div",{className:"terms"},m.a.createElement("a",{className:"close",onClick:function(){return e.setState({terms:!1})}}),m.a.createElement("h2",null,"Terms Of Use"),m.a.createElement(Oe,null)));var i=m.a.createElement(E.a,{className:"btn btn-primary btn-lg white",to:"/devices"},"Create Your Account");/add-device/.test(window.location.href)||(i=m.a.createElement("a",{onClick:function(){return e.setState({view:"signup"})},className:"btn btn-primary btn-lg white"},"Create Your Account"));var o=m.a.createElement("div",{className:"jumbotron"},m.a.createElement("h1",null,Object(Ve.e)().sitename),m.a.createElement("p",null,Object(Ve.e)().tagline2),m.a.createElement("p",null,i),m.a.createElement("p",null,m.a.createElement(E.a,{className:"btn btn-primary btn-lg",to:"/signin"},"Login")),r);return"signup"===a&&(o=m.a.createElement(Je,null)),m.a.createElement("div",{className:"user-default-page"},o,m.a.createElement(Cr,null))}}]),t}(d.Component),Qe=g(Object(P.h)($e));$e.displayName="DefaultPage",$e.displayName="DefaultPage",$e.displayName="DefaultPage",$e.displayName="DefaultPage",$e.displayName="DefaultPage",$e.displayName="DefaultPage",$e.displayName="DefaultPage";var Xe=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={email:"",password:"",username:"",usernameOk:!1,termsOpen:!1,termsApproved:!1,plus13:!0,marketing:!0},n.submit=(a=n).submit.bind(a),n.handlePassword=(a=n).handlePassword.bind(a),n.toggleTerms=(a=n).toggleTerms.bind(a),n._checkUnique=Object(O.debounce)(n._checkUnique.bind(Object(He.a)(Object(He.a)(n))),600),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_email",value:function(){return Object(O.getUrlQueryParam)(this.props.location,"email")}},{key:"componentDidMount",value:function(){this._email()&&this.setState({email:this._email()})}},{key:"componentDidUpdate",value:function(e,t){Object(O.pathsChanged)(this.state,t,[["username"]])&&this._checkUnique()}},{key:"toggleTerms",value:function(){this.setState({termsOpen:!this.state.termsOpen})}},{key:"handlePassword",value:function(e){var t=e.password;this.setState({password:t})}},{key:"submit",value:function(e){var t=this;e.preventDefault();var a="I agree to Ambient Weather's Terms of Use";"km"===Ve.f&&(a="I agree to KestrelMet's Terms of Use"),(this.state.termsApproved||window.confirm(a))&&(this.state.submitted=!0,this.props.actions.createUser(this.state).then(function(e){e&&t.props.history.push("/where-to"+t.props.location.search)}))}},{key:"isOk",value:function(){var e=k.a.pipe(k.a.flip(k.a.prop)(this.state),k.a.isEmpty);return!k.a.any(e)(["email","password","confirmPassword"])&&(!!this.state.password&&(!!Object(O.goodEmail)(this.state.email)&&(!this.props.user.createUserPending&&(!!this.state.usernameOk&&!!this.state.plus13))))}},{key:"_checkUnique",value:function(){var e=this,t=this.props.actions,a=this.state.username;if(a.length<5)return this.setState({usernameOk:!1,usernameMessage:"Too short."});this.setState({loading:!0,usernameOk:!1}),t.fetchUsers({$select:["username"],username:a,$limit:1}).then(function(t){var a=!t[0].exists,n={loading:!1,usernameOk:a};a?n.usernameMessage="It's available!":(n.usernameOk=!1,n.usernameMessage="Sorry, that's taken."),e.setState(n)})}},{key:"render",value:function(){var e,t,a=this,n=this.props.user,r=this.state,i=r.usernameMessage,o=r.submitted,c=r.username,s=(r.password,r.plus13),l=r.marketing,u=n.fetchUsersPending,d="";if(o&&n.createUserError){switch(n.createUserError.name){case"Conflict":t="Email already exists"}t&&(e=m.a.createElement("div",{className:"error"},t))}this.state.termsOpen&&(d=m.a.createElement("div",{className:"terms"},m.a.createElement("h2",null,"Terms of Use"),m.a.createElement(Oe,null),m.a.createElement("div",{className:"agree"},m.a.createElement("a",{className:"btn btn-primary",onClick:function(){a.setState({termsOpen:!1,termsApproved:!0})}},"Agree"),m.a.createElement("a",{onClick:this.toggleTerms},"Disagree"))));var p=n.createUserPending?"Creating Account...":"Create Account";return m.a.createElement("div",{className:"user-signup"},d,m.a.createElement("form",{onSubmit:this.submit},m.a.createElement("h4",null,"Email"),m.a.createElement("input",{type:"email",onChange:this.handleChangeProp("email"),defaultValue:this.state.email}),m.a.createElement("h4",null,"Handle ",m.a.createElement("small",null,"(min 5 characters)")),m.a.createElement("div",{className:"username-wrap"},m.a.createElement("input",{type:"text",onChange:function(e){var t=e.target.value,n=t.replace(/[^A-Za-z0-9_]/g,"");n.length!==t.length&&(a.setState({usernameMessage:"Only letters, numbers and underscores are allowed"}),a._checkUnique(),setTimeout(function(){a.setState({usernameMessage:""})},4e3)),a.setState({username:n})},value:c}),u?m.a.createElement(fe,null):null),i?m.a.createElement("p",{className:N()("username-message",{ok:/avail/i.test(i)})},i):null,m.a.createElement(Ce,{onChange:this.handlePassword}),m.a.createElement("div",{className:"plus-13"},m.a.createElement("label",null,m.a.createElement("input",{type:"checkbox",checked:s,onChange:function(e){return a.setState({plus13:e.target.checked})}}),m.a.createElement("span",null,"I certify that I am 13 years of age or older"))),m.a.createElement("div",{className:"plus-13"},m.a.createElement("label",null,m.a.createElement("input",{type:"checkbox",checked:l,onChange:function(e){return a.setState({marketing:e.target.checked})}}),m.a.createElement("span",null,"I agree to receive marketing emails from AWN"))),e,m.a.createElement("div",null,m.a.createElement("input",{className:"btn btn-primary",type:"submit",disabled:!this.isOk(),value:p})),m.a.createElement("p",{className:"terms-btn"},m.a.createElement("a",{onClick:this.toggleTerms},"Terms and Conditions"))))}}]),t}(_e(d.PureComponent));Xe.propTypes={};var Je=g(Object(P.h)(Xe));Xe.displayName="Signup";var Ze=a(319),et=a.n(Ze),tt=a(128),at=a(129),nt=a(130),rt=a(132),it=function(e){var t=e.device,a=e.user,n=e.social,r=Object(tt.c)(),i=r.mapLocation,o=r.setMapLocation,c=Object(rt.c)().doModal,s=n.allPosts,l=Object(d.useState)(!1),u=Object(Ye.a)(l,2),p=u[0],h=u[1];return Object(d.useEffect)(function(){var e=Object(w.path)(["location","hash"],window);if(e&&!p){var t=document.getElementById(e.replace("#",""));t&&(t.scrollIntoView({behavior:"smooth"}),h(!0))}},[s,h,p]),m.a.createElement("div",{className:"social-default-page"},m.a.createElement(qe,{placeholder:Object(O.getMapLocationLabel)(i),onPlaceSelected:o}),m.a.createElement(gt,{geo:Object(w.path)(["geo"],i)}),Object(O.userCanSocialPost)(a,t)&&m.a.createElement("a",{className:"create-post-btn",onClick:function(){c({type:"create-post"})}}))},ot=ae(it);it.displayName="DefaultPage";var ct=a(33),st=a(140),lt=a.n(st),ut=a(29),dt=a(157),mt=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={text:"",image:null,tab:"main",step:1,expires:"week",type:"text"},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_type",value:function(){return this.props.postType||this.state.type}},{key:"_data",value:function(){var e=this,t=this.props,a=t.user,n=t.device,r=t.prompt,i=this.state,o=i.forecast,c=i.location,s=this._currentDevice(),l=null;if(/widget/.test(this._type())){var u=this._type().replace("widget-","");l={currentDevice:{lastData:s.lastData,settings:s.settings,tz:s.tz}};var d=Object(w.path)(["WIDGET_CONFIG",u,"share","paths"],oe.ambient);d&&d.forEach(function(t){var a=Object(w.lensPath)(t);l=Object(w.set)(a,Object(w.path)(t,e.props),l)}),/forecast/.test(this._type())&&(o?(l.forecast=function(e){var t=e.map(function(e){return Object.assign({},e,{time:parseInt(e.time/1e3,10),int:!0})});return{daily:{data:[t[0]].concat(Object(ct.a)(t))},hourly:[],currently:{}}}(o),l.currentDevice.settings["my-forecast"]={title:"Forecast created by ".concat(Object(w.path)(["info","name"],s))}):(l.forecast=n.forecastCache[Object(O.coordString)(s.info.coords.coords.lat,s.info.coords.coords.lon)],l.currentDevice.settings["my-forecast"]={title:"Official Forecast"}),l.currentDevice.lastData.dateutc=Date.now(),l.user={settings:{hour24:Object(O.getUserSetting)("hour24")(a)}})}return c&&((l=l||{}).location=c),r&&((l=l||{}).prompt=r),l}},{key:"_currentDevice",value:function(){var e=this.props,t=e.user,a=e.device;return e.currentDevice||Object(w.head)(Object(O.socialDevices)(t,a))}},{key:"_create",value:function(){var e=this.state,t=(e.type,e.expires,e.text),a=e.image,n=e.coords,r=e.video,o=this.props,c=o.social,s=(o.device,o.history),l=o.onSuccess,u=o.socialActions;o.postType;if(!c.createPostPending){var d=this._currentDevice();u.createPost({text:t,image:a,video:r,type:this._type(),geo:n.geo,deviceId:d._id,status:"published",expiresAt:this._expiration(),data:Object(i.a)({},this._data(),{centerGeo:n.geo})}).then(function(e){l&&l(e),s.push("/dashboard/".concat(Object(O.getDeviceSlug)(d),"/social"))})}}},{key:"_expiration",value:function(){var e=this.state,t=e.type,a=e.expires,n=e.forecast,r=this._expirations()[a];return"alert"===t?r=moment().add(6,"hours").valueOf():n&&(r=moment(Object(w.last)(n).time).endOf("day")),r}},{key:"_expirations",value:function(){return{month:moment().add("1","month").valueOf(),week:moment().add("1","week").valueOf(),tomorrow:moment().add(1,"day").valueOf(),tonight:moment().endOf("day").valueOf()}}},{key:"_createForecast",value:function(){var e=this,t=this.state,a=t.type,n=t.createForecast;if("text"===a)return n?m.a.createElement(Ct,{key:"create-forecast",onFinished:function(t){var a={createForecast:null};t&&(a.forecast=t,a.type="widget-my-forecast"),e.setState(a)}}):m.a.createElement("a",{onClick:function(){return e.setState({createForecast:!0})},className:"create-forecast-link"},"Create Your Own Forecast")}},{key:"_location",value:function(){var e=this,t=this.props.remote,a=this.state.coords;return a&&t?m.a.createElement("div",{className:"location"},m.a.createElement("div",null,"Posting from: ",a.location),m.a.createElement(er,{location:a,onChange:function(t){t.geo={type:"Point",coordinates:[t.coords.lon,t.coords.lat]},e.setState({coords:t,location:t.location})}})):null}},{key:"componentDidMount",value:function(){var e=this,t=this.props,a=t.webcamSnapshot,n=t.image,r=t.video,i=this._currentDevice(),o={coords:this.props.coords||Object(w.path)(["info","coords"],i)};a&&(o.loadingImage=!0,fetch("".concat(Object(ut.s)(),"/images/snapshot"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceId:a,video:r})}).then(function(e){return e.json()}).then(function(t){var a={loadingImage:!1};t.ok&&(a.image=t.url,a.video=t.video),e.setState(a)})),n&&(o.image=n),this.setState(o)}},{key:"render",value:function(){var e=this,t=this.state,a=t.type,n=t.text,r=t.loadingImage,i=t.image,o=t.step,c=t.createForecast,s=t.forecast,l=t.video,u=t.forecastChanged,d=this.props,p=d.prompt,h=d.share,f=d.currentDevice,b=d.social.createPostPending,v=/widget/.test(this._type()),g=v&&!/my-forecast/.test(this._type()),y=null;""===n&&!i||c||v||l||(y=m.a.createElement("label",null,m.a.createElement("input",{type:"checkbox",checked:"alert"===a,onChange:function(t){return e.setState({type:t.target.checked?"alert":"text"})}}),"My post is a weather alert"));var E=[m.a.createElement("div",{key:"text",className:N()("text-wrap",{"not-empty":""!==n,empty:""===n})},2===o?m.a.createElement("div",{className:"textarea"},n,m.a.createElement("a",{className:"edit",onClick:function(){return e.setState({step:1,createForecast:!!s})}},"Edit")):m.a.createElement("textarea",{className:N()({filled:""!==n}),placeholder:p||"How is the weather affecting your day?",value:n,onChange:function(t){return e.setState({text:t.target.value})}}),m.a.createElement("div",{className:N()("chars-left",{error:300-n.length<6})},300-n.length)),m.a.createElement("div",{key:"is-alert"+a,className:N()("is-alert",{"type-alert":"alert"===a})},y)];if(r?E.push(m.a.createElement(fe,{className:"image-loading",key:"loading-image"})):c&&1===o?E.push(m.a.createElement(Ct,{key:"create-forecast",onChange:function(t){var a={};a.forecast=t,a.type="widget-my-forecast",e.state.forecast&&(a.forecastChanged=!0),e.setState(a)}})):l?E.push(m.a.createElement("div",{className:"video-container",key:l},m.a.createElement(lt.a,{className:"video",url:l,light:i,controls:!0,muted:!0,loop:!0,width:"100%",height:"100%"}),m.a.createElement("a",{className:"close",onClick:function(){return e.setState({video:null,image:null})}}))):i?E.push(m.a.createElement("div",{className:"img-wrap",key:i},m.a.createElement("div",{className:"img img-contain",style:{backgroundImage:"url(".concat(i,")")}}),m.a.createElement(zr,{onSuccess:function(t){e.setState({image:t})}},"Edit"),m.a.createElement("a",{className:"close",onClick:function(){return e.setState({image:null})}}))):1===o&&E.push(m.a.createElement(zr,{key:"image-upload-link",onSuccess:function(t){e.setState({image:t})}},m.a.createElement("div",null,m.a.createElement("div",{className:"camera-btn"},m.a.createElement("div",{className:"camera"})),m.a.createElement("span",null,"Add photo")))),v&&!c){var O=this._type().replace("widget-","");this._data();E.push(m.a.createElement(Xo,Object.assign({key:"every-widget",snapshot:!0,type:O},this._data())))}if(2===o){var w=m.a.createElement(ai,{key:"quick-location",currentDevice:f,onChange:function(t){e.setState({location:t.location.location||t.label,coords:t.location})}});v&&(w=m.a.createElement("div",{key:"location",className:"component-quick-location fake"},m.a.createElement("b",null,f.info.name),m.a.createElement("span",null,f.info.coords.location))),E.push(w),E.push(this._expiresAfter())}var k=null;return 1===o&&(g||""!==n||i||c&&s&&u)?k=m.a.createElement("a",{className:"btn btn-primary",onClick:function(){return e.setState({step:2,createForecast:!1})}},"Next"):2===o&&(k=m.a.createElement("a",{className:N()("btn btn-primary",{loading:b}),onClick:this._create.bind(this)},b?m.a.createElement(fe,null):"Post")),m.a.createElement("div",{className:N()(this._classNames(),"multi-step","step-".concat(o))},m.a.createElement("div",{className:"top"},k),m.a.createElement("div",{className:"rect-tabs"},m.a.createElement("a",{className:N()("tab",{active:!c}),onClick:function(){return e.setState({createForecast:!1,forecast:null,type:"text"})}},"Create Post"),g?null:m.a.createElement("a",{className:N()("tab",{active:c}),onClick:function(){return e.setState({type:"text",createForecast:!0,image:null})}},"Create Forecast")),m.a.createElement("div",{className:"tab-content"},E,k&&m.a.createElement("div",{className:"bottom-btn"},k),h&&1===o?m.a.createElement("div",{className:"share-wrap"},m.a.createElement("h4",null,"or share outside of Ambient Weather"),m.a.createElement("div",null,m.a.createElement("div",{className:"fb"}),m.a.createElement("div",{className:"twitter"}),m.a.createElement("div",{className:"email"})),m.a.createElement(Rr,h)):null))}},{key:"_classNames",value:function(){var e=this.props,t=e.user,a=e.remote,n=this.state,r=n.image,i=n.createForecast,o=/widget/.test(this._type());return N()("social-create-post",{image:!!r,widget:o,remote:a,admin:Object(O.isAdmin)(t),"create-forecast":i},this._type())}},{key:"_expiresAfter",value:function(){var e=this,t=this.state,a=t.expires,n=t.forecast,r=t.type,i=m.a.createElement("select",{className:"form-control carrot-gray",value:a,onChange:function(t){return e.setState({expires:t.target.value})}},Object.keys(this._expirations()).map(function(e){return m.a.createElement("option",{value:e,key:e},e)}));if("alert"===r)i=m.a.createElement("span",null,6," hours");else if(n){var o=n.length;i=m.a.createElement("span",null,o," day",o>1?"s":null)}return m.a.createElement("div",{key:"expires-after",className:"expires"},m.a.createElement("label",null,"Expires after: "),i)}}]),t}(d.PureComponent),pt=ae(Object(P.h)(mt));mt.displayName="CreatePost";var ht=a(190),ft=a(28),bt=a(98),vt=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={fetchedPage:0,page:1,tab:"location"},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this._mounted=!0,this._fetchPage(),this._fetchBoosted()}},{key:"componentDidUpdate",value:function(e,t){this._fetchBoosted(),(Object(O.pathsChanged)(this.props,e,[["currentDevice","_id"],["postId"],["geo"],["user","userChecked"]])||Object(O.pathsChanged)(this.state,t,[["tab"]]))&&this._setState({page:1,fetchedPage:0},this._fetchPage.bind(this))}},{key:"componentWillUnmount",value:function(){this._mounted=!1}},{key:"_setState",value:function(e,t){this._mounted&&this.setState(e,t)}},{key:"_fetchBoosted",value:function(){var e=this.props,t=e.social,a=e.socialActions;t.fetchedBoosted||a.fetchPosts({dataKey:"boosted",$limit:20,status:"boosted",$sort:{createdAt:-1}})}},{key:"_showLocationBasedPosts",value:function(){var e=this.props,t=e.currentDevice,a=e.geo;return"location"===this.state.tab&&(t&&Object(w.path)(["info","coords","geo"],t)||a)}},{key:"_isUserDashboard",value:function(){return Object(w.path)(["currentDevice","userId"],this.props)}},{key:"_fetchPage",value:function(){var e=this;if(this.props.user.userChecked){var t=this.state,a=t.fetchedPage,n=t.page,r=this.props,i=r.geo,o=r.history,c=r.currentDevice,s=r.socialActions,l=r.postId,u=r.postIds,d=r.social.allPosts;if(a!==n&&-1!==n){this._setState({fetchedPage:n,fetching:!0},function(){var t={$limit:15,$skip:15*(n-1),$sort:{createdAt:-1}},a=Object.assign({},t);(c||i)&&(e._showLocationBasedPosts()?a=Object.assign({geo:{$near:{$geometry:i||c.info.coords.geo,$maxDistance:161e3}},status:"published",expiresAt:{$lt:0xd775c88bccb}},t,{$sort:{expiresAt:-1}}):a.deviceId=c._id),l&&(a={_id:l}),u&&(a={_id:{$in:u.filter(function(e){return!Object(w.pluck)("_id",d).includes(e)}).slice(0,20)}}),s.fetchPosts(a).then(function(t){var a={fetching:!1};if(t)if(0===t.data.length)a.page=-1;else if(e._isUserDashboard()&&1===n){var r=Object(w.map)(O.dateVal,Object(w.pluck)("createdAt",t.data)),i={expiresAt:{$gte:Math.min.apply(Math,Object(ct.a)(r))},$sort:{expiresAt:-1},personalized:c.userId};s.fetchPosts(i)}e._setState(a),l&&e._posts().length<1&&o.push(e._socialTabPath())})})}}}},{key:"_socialTabPath",value:function(){var e=window.location.pathname.split("/");return"social"===Object(w.last)(e)?window.location.pathname:e.slice(0,-1).join("/")}},{key:"_posts",value:function(){var e=this,t=this.props,a=t.social,n=t.user,r=t.geo,i=t.currentDevice,o=t.postId,c=t.postIds,s=a.allPosts,l=a.favs,u=this.state.tab,d=this._isUserDashboard()?(l||[]).map(function(e){return e.to._id}):[],m=s.filter(function(t){if(c)return c.includes(t._id);if(!i&&!r)return!0;if(e._showLocationBasedPosts()){var a=Object(w.path)(["geo"],t),n=r||Object(w.path)(["info","coords","geo"],i),o=!1;return a&&n&&("Point"===a.type?o=Object(O.latLonDistance)(a.coordinates[1],a.coordinates[0],n.coordinates[1],n.coordinates[0],"K")<161:"Polygon"===a.type&&(o=Object(bt.a)(ft.point(n.coordinates),ft.polygon(a.coordinates)))),i&&t.userId===i.userId||o}return t.deviceId===i._id}).filter(function(e){return!o||o===e._id}).filter(function(e){return Object(O.isAdmin)(n)||["published","boosted"].includes(e.status)}).sort(function(e,t){return Object(O.dateVal)(t.createdAt)-Object(O.dateVal)(e.createdAt)}),p=function(e){return Object(O.dateVal)(e.createdAt)>=Object(O.dateVal)(m[m.length-1].createdAt)};if(this._isUserDashboard()&&"user"!==u){var h=s.filter(function(e){return d.includes(e.deviceId)}).filter(p);m=Object(w.concat)(m,h)}if("user"!==u){var f=s.filter(function(e){return"boosted"===e.status});return m.length<2?Object(w.pipe)(Object(w.concat)(f),Object(w.uniqBy)(function(e){return e._id}),Object(w.sort)(function(e,t){return Object(O.dateVal)(t.createdAt)-Object(O.dateVal)(e.createdAt)}))(m):Object(w.pipe)(Object(w.concat)(f.filter(p)),Object(w.uniqBy)(function(e){return e._id}),Object(w.sort)(function(e,t){return Object(O.dateVal)(t.createdAt)-Object(O.dateVal)(e.createdAt)}))(m)}return m}},{key:"render",value:function(){var e=this,t=this.props,a=t.deviceActions,n=t.history,r=t.currentDevice,i=t.postId,o=t.postIds,c=this.state,s=c.tab,l=c.fetching,u=c.page,d=m.a.createElement("p",{className:"no-posts"},l?"Loading...":"No posts yet"),p=this._posts();p.length>0&&(d=p.map(function(e){return m.a.createElement(jo,{id:e._id,currentDevice:{_id:e.deviceId},layerParam:"social",post:e,key:e._id,onClick:function(e){a.setDashboardDevice(e),n.push(Object(O.getDeviceSharePath)(e)+"/social"),window.scrollTo({top:0,left:0,behavior:"smooth"})}})}));var h=[m.a.createElement("a",{className:N()("btn",{"btn-primary":"location"===s&&!i}),onClick:function(){return e.setState({tab:"location"})},key:"witin"},"Within 100mi"),m.a.createElement("a",{className:N()("btn",{"btn-primary":"user"===s&&!i}),onClick:function(){return e.setState({tab:"user"})},key:"stations"},"Station only")];return!l&&i&&(h=m.a.createElement(E.a,{className:"btn btn-primary show-all",to:this._socialTabPath()},"Show All Posts")),r||(h=null),m.a.createElement("div",{className:N()("social-my-timeline")},m.a.createElement("div",{className:"controls"},h),l?m.a.createElement(fe,null):null,d,l?m.a.createElement(fe,null):null,m.a.createElement(ht.a,{onChange:function(t,a){!t||l||-1===u||i||o||e._setState({page:u+1},e._fetchPage.bind(e))}}))}}]),t}(d.PureComponent),gt=ae(Object(P.h)(vt));vt.displayName="MyTimeline";var yt=a(247),Et=a.n(yt),Ot=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={showMore:!1,imgLoaded:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_tileSnapshot",value:function(){var e=this.props.post,t=void 0===e?{}:e;if(/widget/.test(t.type)){var a=t.type.replace("widget-",""),n=t.data||{};return m.a.createElement(Xo,Object.assign({snapshot:!0,type:a},n))}}},{key:"_imgLoad",value:function(e){var t={imgLoaded:!0},a=this.imageRef.clientHeight,n=this.imageRef.clientWidth/3*4;a>n&&(a=n),t.imgHeight=a,this.imageRef.clientHeight>this.imageRef.clientWidth&&(t.portrait=!0),this.setState(t)}},{key:"render",value:function(){var e=this,t=this.state,a=t.showMore,n=t.imgHeight,r=t.imgLoaded,i=t.portrait,o=this.props,c=o.actions,s=o.post,l=void 0===s?{}:s,u=c,d=l.image&&!l.video;return m.a.createElement("div",{className:N()("social-post",l.status,"type-".concat(l.type),{"show-more":a,"no-text":!l.text,"has-text":l.text,"no-img":!l.image,"has-img":l.image,"has-more":l.text&&l.image||this._tileSnapshot(),"img-loaded":r,portrait:i,expired:Object(O.postIsExpired)(l)})},l.text?m.a.createElement("div",{className:"text"},m.a.createElement(Et.a,{options:{nl2br:!0,target:{url:"_blank"}}},l.text)):null,l.video&&m.a.createElement("div",{className:"video-container"},m.a.createElement(lt.a,{className:"video",url:l.video,light:l.image,controls:!0,muted:!0,loop:!0,width:"100%",height:"100%",onPlay:function(){Object(O.trackEvent)("webcam","play",Object(O.camId2Slug)(l.video.split("/").slice(-2,-1)[0].replace(".mp4","")))}})),d&&[m.a.createElement("a",{key:"image-link",onClick:function(){return u.doModal({type:"image",data:{url:l.image}})},className:"img img-cover",style:{backgroundImage:"url(".concat(l.image,")"),height:n}}),m.a.createElement("img",{key:"image",ref:function(t){return e.imageRef=t},src:l.image,onLoad:this._imgLoad.bind(this),className:"ratio"})],this._tileSnapshot(),m.a.createElement("a",{className:"show-more",onClick:function(){return e.setState({showMore:!0})}},"show more..."),m.a.createElement("div",{className:"expiration"},Object(O.postIsExpired)(l)?"":"Expires "+moment(l.expiresAt).fromNow()))}}]),t}(d.PureComponent),wt=g(Ot);Ot.displayName="Post";var kt=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={comment:"",loading:!1,expanded:!1,page:1,showOlder:!1,usernamePrompt:!1},n._addComment=(a=n)._addComment.bind(a),n._showMore=(a=n)._showMore.bind(a),n._deleteComment=(a=n)._deleteComment.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_showMore",value:function(){var e=this,t=this.props,a=t.socialActions,n=t.post,r=this.state,i=r.comments,o=r.page;this.setState({expanded:!0,loading:!0}),a.fetchUserActions({type:"comment","to._id":n._id,$limit:100,$skip:100*(o-1),$sort:{createdAt:-1}}).then(function(t){var a=Object(w.uniqBy)(Object(w.prop)("_id"),Object(w.concat)(i||[],t.data));e.setState({comments:a,loading:!1,showOlder:t.total>a.length&&t.data.length>0})})}},{key:"_addComment",value:function(e){var t=this;e&&e.preventDefault();var a=this.state,n=a.comment,r=a.comments,i=this.props,o=i.socialActions,c=i.post,s=i.user;""!==n&&(this.setState({comment:"",loading:!0}),o.addUserAction({to:{_id:c._id,userId:c.userId,type:"post"},type:"comment",text:n,data:{username:s.info.username}}).then(function(e){var a={loading:!1};r&&(a.comments=Object(w.append)(e,r)),t.setState(a)}))}},{key:"_deleteComment",value:function(e){var t=this.props,a=t.socialActions,n=t.post,r=this.state.comments,i=e._id;window.confirm("Are you sure?")&&(a.removeUserAction(i),Object(O.trackEvent)("social","post","comment-delete"),this.setState({comments:(r||n.recentComments).filter(function(e){return e._id!==i})}))}},{key:"render",value:function(){var e=this,t=this.state,a=t.usernamePrompt,n=t.page,r=t.showOlder,i=t.expanded,o=t.comment,c=t.loading,s=t.comments,l=this.props,u=l.post,d=l.user,p=l.userActions;if(!u)return null;var h,f,b,v=Object(w.path)(["info","username"],d),g=m.a.createElement("form",{onSubmit:this._addComment},v?m.a.createElement("span",{className:"username"},v):null,m.a.createElement("input",{className:"form-control",type:"text",value:o,onChange:function(t){return e.setState({comment:t.target.value})},placeholder:"Add a comment..."}),m.a.createElement("button",{className:"a",onSubmit:this._addComment},"Add")),y=s||u.recentComments||[];u.comments>2&&!i&&(h=m.a.createElement("a",{onClick:this._showMore,className:"show-more"},"View all ",s?"":u.comments," comments")),r&&(f=m.a.createElement("a",{onClick:function(){e.setState({page:n+1},e._showMore)}},"Show older")),v||(b=m.a.createElement(Sr,{onClick:function(){return p.doModal({type:"create-username"})}}));var E=g;return c?E=m.a.createElement(fe,null):!v&&a?E=m.a.createElement("div",{className:"username-edit"},m.a.createElement("span",{className:"label"},"Before you comment please..."),m.a.createElement(kn,null)):Object(O.isLoggedIn)(d)&&!Object(O.isRole)("social",d)&&(E=null),m.a.createElement("div",{className:"social-comments"},m.a.createElement("div",{className:N()("comments",{empty:!u.recentComments||u.recentComments.length<1})},f,y.sort(function(e,t){return!e.createdAt&&t.createdAt?1:!t.createdAt&&e.createdAt?-1:e.createdAt||t.createdAt?Object(O.dateVal)(e.createdAt)-Object(O.dateVal)(t.createdAt):0}).map(function(t){var a=Object(w.path)(["data","username"],t)||"anonymous",n=Object(O.isAdmin)(d)||Object(w.path)(["info","_id"],d)===t.userId||Object(w.path)(["info","_id"],d)===u.userId;return m.a.createElement("div",{className:"comment",key:t._id},m.a.createElement("span",{className:"username"},a),t.text?m.a.createElement("span",{className:"body"},m.a.createElement(Et.a,{options:{nl2br:!0,target:{url:"_blank"}}},t.text)):null,n?m.a.createElement("a",{onClick:function(){return e._deleteComment(t)},className:"delete"},"delete"):null)}),h),E?m.a.createElement("div",{className:"add-comment"},b,E):null)}}]),t}(d.PureComponent),jt=ae(kt);kt.displayName="Comments",kt.displayName="Comments",kt.displayName="Comments",kt.displayName="Comments",kt.displayName="Comments",kt.displayName="Comments",kt.displayName="Comments";var Nt=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={page:1,first:!1},n.nextPage=(a=n).nextPage.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillMount",value:function(){var e=this.props.user;Object(O.isLoggedIn)(e)&&!this.state.first&&this.nextPage()}},{key:"componentDidUpdate",value:function(e){var t=e.user;Object(O.isLoggedIn)(t)&&!this.state.first&&this.nextPage()}},{key:"nextPage",value:function(){var e=this.state,t=e.page,a=e.first,n=this.props,r=n.deviceActions,i=n.device,o=n.user,c=n.alert,s=n.alertActions,l=c.fetchInstancesPagination;a||this.setState({first:!0});var u={userId:o.info._id,$sort:{createdAt:-1}};t>1&&(u.$skip=l.limit*(t-1)),s.fetchInstances(u).then(function(){var e=c.alertInstances;Object(w.pipe)(Object(w.pluck)("deviceId"),w.uniq,Object(w.filter)(function(e){return Object(O.shouldGetDevice)(i,e)}),Object(w.map)(function(e){return r.getDevice(e)}))(e)})}},{key:"render",value:function(){var e=this,t=this.props,a=t.alert,n=t.device,r=a.fetchInstancesPending,i=a.alertInstances,o=a.fetchInstancesPagination,c=n.deviceCache,s="";function l(e){var t,a,r="",i="",o="";return n.devices&&n.devices.length>0&&((t=Object(w.find)(Object(w.propEq)("_id",e.deviceId),n.devices))||(t=c[e.deviceId]),a=m.a.createElement("div",{className:"device"},Object(O.getDeviceLabel)(t))),/^leak/.test(e.origAlert.param)?i=m.a.createElement("span",null,1===e.origAlert.threshold?" Leak Detected":" Leak Sensor Offline"):"notReporting"!==e.origAlert.param&&(i=m.a.createElement("span",null,">"===e.origAlert.condition?" over ":" under ",m.a.createElement(le,{value:e.origAlert.threshold,type:e.origAlert.param})),o=m.a.createElement(le,{value:e.data[e.origAlert.param],type:e.origAlert.param}),e.closed&&(r+=", ")),e.closed&&(r+="Lasted for "+moment.duration(moment(e.closed).diff(e.createdAt,"minutes"),"minutes").humanize()),m.a.createElement("div",{className:"instance",key:e._id},m.a.createElement("div",{className:"time"},Object(O.fmtzDate)("HH:mm",e.createdAt)),m.a.createElement("div",{className:"info"},a,m.a.createElement("b",null,Object(O.getLabelForDevice)(e.origAlert.param,t),i,e.ifttt?m.a.createElement("i",{className:"ifttt",title:"This alert was create on IFTTT"}):""),m.a.createElement("p",null,o,r)),m.a.createElement(Vr,{dateutc:e.createdAt}))}var u=Object(w.groupBy)(Object(w.pipe)(Object(w.prop)("createdAt"),Object(O.fmtzDate)("M/D/YY")),i);return s=Object(w.pipe)(w.toPairs,Object(O.sortByDateDesc)("M/D/YY"),Object(w.map)(function(e){var t=e[0],a=e[1];return m.a.createElement("div",{key:t,className:"group"},m.a.createElement("div",{className:"date"},t),a.map(l))}),w.values)(u),r?s.push(m.a.createElement(fe,{key:"loader"})):o&&i.length<o.total&&s.push(m.a.createElement("a",{key:"all",className:"more",onClick:function(){e.setState({page:e.state.page+1},e.nextPage)}},"See More",m.a.createElement("i",{className:"glyphicon glyphicon-chevron-down"}))),i.length<1?m.a.createElement("div",null):m.a.createElement("div",{className:"block clearfix"},m.a.createElement("h3",null,"Timeline"),m.a.createElement("div",{className:"alert-instances"},s))}}]),t}(d.PureComponent),Dt=ae(Nt);Nt.displayName="Instances",Nt.displayName="Instances",Nt.displayName="Instances",Nt.displayName="Instances",Nt.displayName="Instances",Nt.displayName="Instances",Nt.displayName="Instances";var St=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={tab:"notifications",notifications:[],notificationLoading:!1},n._fetchSocialActivity=(a=n)._fetchSocialActivity.bind(a),n._close=(a=n)._close.bind(a),n.allUserActions=[],n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidUpdate",value:function(e,t){var a=this.props,n=a.userActions,r=a.user;a.commonActions;Object(O.pathsChanged)(this.props,e,[["common","appClass"]])&&this._isOpen()&&(n.patch(r.info._id,{notificationsLastChecked:Date.now()}),this._fetchSocialActivity())}},{key:"_isOpen",value:function(){return this.props.common.appClass.includes("notifications-open")}},{key:"_close",value:function(){this.props.commonActions.toggleAppClass("notifications-open",!1)}},{key:"_fetchSocialActivity",value:function(){var e=this,t=this.props,a=t.socialActions,n=t.user,r=this.state.lastChecked;clearTimeout(this._tout),this._tout=setTimeout(this._fetchSocialActivity,12e4);var i=Date.now()-12096e5,o={"to.userId":n.info._id,"to.type":"post",$limit:500};if(r)o.createdAt={$gt:r};else if(n.info.notificationsLastChecked){var c=Object(O.dateVal)(n.info.notificationsLastChecked);o.createdAt={$gt:c>i?i:c}}this.setState({notificationLoading:!0,lastChecked:Date.now()}),a.fetchUserActions(o).then(function(t){var n=Object(w.sort)(function(e,t){return Object(O.dateVal)(t.createdAt)-Object(O.dateVal)(e.createdAt)});if(t.data.length<1){var i={notificationLoading:!1};throw r||(i.tab="alerts"),e.setState(i),"skip the rest"}return e.allUserActions=e.allUserActions.concat(t.data),e.notificationData=Object(w.pipe)(Object(w.groupBy)(function(e){return"".concat(e.to._id,"-").concat(e.type)}),Object(w.mapObjIndexed)(function(e,t){return{key:t,createdAt:n(e)[0].createdAt,type:t.split("-")[1],postId:e[0].to._id,arr:e}}),w.values,n)(e.allUserActions),a.fetchPosts({_id:{$in:Object(w.uniq)(Object(w.pluck)("postId",e.notificationData))}})}).then(function(t){var a={notificationLoading:!1,notifications:e.notificationData.map(function(e){return Object.assign({post:Object(w.find)(Object(w.propEq)("_id",e.postId),t.data)},e)}).filter(function(e){return e.post})};e.setState(a)}).catch(function(e){})}},{key:"componentDidMount",value:function(){this._fetchSocialActivity()}},{key:"componentWillUnmount",value:function(){clearInterval(this._int)}},{key:"_tab",value:function(){var e=this,t=this.props,a=t.deviceActions,n=t.device,r=t.history,i=this.state,o=(i.tab,i.notifications),c={like:function(e){return m.a.createElement("div",{className:"like"},e.post.likes," ",1===e.post.likes?"person":"people"," liked your post.")},comment:function(e){var t=e.arr[0].userId,a=Object(w.pipe)(Object(w.pluck)("userId"),w.uniq,Object(w.filter)(function(e){return e!==t}),w.length)(e.arr);return m.a.createElement("div",{className:"comment"},e.arr[0].data.username," ",a>0?"and ".concat(a," other").concat(1===a?"":"s"):""," commented on your post.")}};return[m.a.createElement(E.a,{key:"alerts",onClick:this._close,to:"/alerts",className:"alerts-tab"},m.a.createElement(Dt,null)),m.a.createElement("div",{key:"notifications-".concat(this._isOpen()&&"open"),className:"notifications-tab"},o.map(function(t){var i=Object(w.find)(Object(w.propEq)("_id",t.post.deviceId),n.devices||[]);return m.a.createElement(E.a,{onClick:function(){e._close(),a.setDashboardDevice(i),r.push("/dashboard/".concat(Object(O.getDeviceSlug)(i),"/social/").concat(t.post._id))},key:t.key,className:"notification"},c[t.type](t),m.a.createElement(Vr,{dateutc:t.createdAt}))}))]}},{key:"_showBadge",value:function(){var e=this.props,t=e.user,a=e.alert.alertInstances,n=this.state,r=(n.tab,n.notifications),i=(n.notificationLoading,Object(w.path)(["info","notificationsLastChecked"],t));if(!i&&(r.length>0||a.length>0))return!0;var o=Object(w.filter)(function(e){return Object(O.dateVal)(e.createdAt)>Object(O.dateVal)(i)});return o(r).length>0||o(a).length>0}},{key:"render",value:function(){var e=this,t=this.props,a=t.user,n=t.alert,r=t.commonActions,i=n.fetchInstancesPending,o=this.state,c=o.tab,s=(o.notifications,o.notificationLoading),l=(Object(w.path)(["info","notificationsLastChecked"],a),i||s);return m.a.createElement("div",{className:N()("social-notifications",{open:this._isOpen(),active:this._showBadge()})},m.a.createElement("a",{onClick:function(){return r.toggleAppClass("notifications-open",!e._isOpen())},className:"notifications"}),m.a.createElement("div",{className:"notifications-wrap"},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"pills"},m.a.createElement("a",{onClick:function(){return e.setState({tab:"notifications"})},className:N()("notifications-btn btn btn-circle",{active:"notifications"===c})},"Notifications"),m.a.createElement("a",{onClick:function(){return e.setState({tab:"alerts"})},className:N()("alerts-btn btn btn-circle",{active:"notifications"!==c})},"Alerts")),m.a.createElement("div",{className:"right"},l&&m.a.createElement(fe,null),m.a.createElement(E.a,{onClick:this._close,to:"/alerts",className:"settings"}),m.a.createElement("a",{className:"close",onClick:this._close}))),m.a.createElement("div",{className:"notifications-list-wrap"},m.a.createElement("div",{className:N()("notifications-list","tab-".concat(c))},this._tab()))))}}]),t}(d.PureComponent),At=ae(Object(P.h)(St));St.displayName="Notifications",St.displayName="Notifications",St.displayName="Notifications",St.displayName="Notifications",St.displayName="Notifications",St.displayName="Notifications",St.displayName="Notifications";var _t=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={days:0,forecast:[]},n._setDays=(a=n)._setDays.bind(a),n._dayForecast=(a=n)._dayForecast.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidUpdate",value:function(e,t){var a=this.props.onChange,n=this.state.forecast;a&&Object(O.pathsChanged)(this.state,t,[["forecast"]])&&a(n)}},{key:"_setDays",value:function(e){var t={days:e};t.forecast=Object(w.range)(0,e).map(function(e){return{time:moment().startOf("day").add(e+1,"days").valueOf(),icon:"clear-day",temperatureHigh:70,temperatureLow:50,precipIntensity:0}}),this.setState(t)}},{key:"_changeEditKeyFn",value:function(e,t){var a=this,n=this.state.forecast,r=this.props.user,i="".concat(t,"Edit");return function(o){var c=n.slice(0),s=parseInt(c[e][i],10),l={activeDay:e};if(null===o){if(!isNaN(s)){var u=Object(O.getUserUnitI)("tempf",r);c[e][t]=u>0?Object(pe.convertUnitInverse)("tempf",u,s):s}l.activeDay=null}c[e][i]=o,l.forecast=c,a.setState(l)}}},{key:"_editableValue",value:function(e,t){var a=this,n=this.state.forecast,r=["temperatureHigh","temperatureLow"],i="tempf",o="\xb0",c="".concat(t,"Edit"),s=n[e];/precip/.test(t)&&(i="dailyrainin",o=null);var l=this._changeEditKeyFn(e,t),u=m.a.createElement("a",{onClick:function(){return l("")}},m.a.createElement(le,{type:i,value:s[t],valueTransform:function(e){return parseInt(e,10)},after:o}));return void 0!==s[c]&&null!==s[c]&&(u=m.a.createElement("input",{type:"text",autoFocus:!0,onKeyDown:function(n){if(9===n.keyCode||13===n.keyCode){n.preventDefault(),l(null);var i=r.indexOf(t);if(i===r.length-1){if(e!==t.length-1)a._changeEditKeyFn(e+1,r[0])("")}else a._changeEditKeyFn(e,r[i+1])("")}},value:s[c],onBlur:function(){return l(null)},onChange:function(e){return l(e.target.value)}})),u}},{key:"_icon",value:function(e){var t=this,a=this.state.forecast[e]||{};return m.a.createElement("a",{onClick:function(){return t.setState({iconsOpen:e})},className:N()("weather-icon",a.icon)})}},{key:"_dayForecast",value:function(e,t){var a=this.state,n=a.iconsOpen,r=a.activeDay,i=moment(e.time).format("dd").slice(0,1);return m.a.createElement("div",{key:"forecast-".concat(e.time),className:N()("day-forecast","title-".concat(i.replace(" ","-").toLowerCase()),{open:n===t,active:r===t||n===t})},m.a.createElement("div",{className:"title"},i),this._icon(t),m.a.createElement("div",{className:"hl"},this._editableValue(t,"temperatureHigh"),this._editableValue(t,"temperatureLow")))}},{key:"_iconChooser",value:function(){var e=this,t=this.state,a=t.iconsOpen,n=t.forecast,r={"clear-day":"Sun","partly-cloudy-day":"Part Cloud",thunderstorm:"Storm"};return m.a.createElement("div",{className:"icon-chooser"},["clear-day","partly-cloudy-day","part-sun","cloudy","sprinkles","rain","thunderstorm","lightning","wind","fog","sleet","hail","flurries","snow"].map(function(t){return m.a.createElement("a",{onClick:function(){var r=n.slice(0);r[a].icon=t,e.setState({iconsOpen:!1,forecast:r})},key:t},m.a.createElement("div",{className:"label"},r[t]||t.replace(/-/g," ").replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})),m.a.createElement("div",{className:N()("weather-icon",t)}))}))}},{key:"render",value:function(){var e=this,t=this.props.onFinished,a=this.state,n=a.iconsOpen,r=a.days,i=a.forecast,o=m.a.createElement("div",{className:"how-many"},m.a.createElement("h2",null,"Create Your Own Forecast"),m.a.createElement("h3",null,"Choose your forecast range"),m.a.createElement("div",{className:"day-options"},[1,3,5].map(function(t){return m.a.createElement("a",{onClick:function(){return e._setDays(t)},className:"option",key:"day-".concat(t)},1===t?"Today":"".concat(t," days"))})));return r>0&&(o=m.a.createElement("div",{className:N()("create-forecast",{icons:Object(O.isSomething)(n)})},m.a.createElement("h3",null,"Click to change forecast"),m.a.createElement("div",{className:"days"},i.map(this._dayForecast)),this._iconChooser(),m.a.createElement("div",{className:"text-center"},m.a.createElement("button",{className:"btn",onClick:function(){t&&t()}},"Cancel"),m.a.createElement("button",{className:"btn btn-primary",onClick:function(){t&&t(i)}},"Done")))),m.a.createElement("div",{className:"social-create-forecast"},o)}}]),t}(d.PureComponent),Ct=g(_t);_t.displayName="CreateForecast",_t.displayName="CreateForecast",_t.displayName="CreateForecast",_t.displayName="CreateForecast",_t.displayName="CreateForecast",_t.displayName="CreateForecast",_t.displayName="CreateForecast";var xt=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={deviceI:0,lastMac:!1,videoPlaying:!1,videoLoading:!1,top:!0,hideKeys:[],alertObj:{},pip:"map"},n.alertObjFetched=!1,n.handleSearch=(a=n).handleSearch.bind(a),n.doRefresh=(a=n).doRefresh.bind(a),n.fetchSummaries=(a=n).fetchSummaries.bind(a),n._dashHeader=(a=n)._dashHeader.bind(a),n._isTabActive=(a=n)._isTabActive.bind(a),n._onScroll=(a=n)._onScroll.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this.props.deviceActions;e.setThing("mapLayer",""),e.focusDevice(null),e.hoverDevice(null),this.ptr=et.a.init({onRefresh:this.doRefresh,distReload:0}),window.pageYOffset<1&&document.body.classList.add("ptr--top"),window.addEventListener("scroll",this._onScroll),this._checkDashboardDevice(),this.fetchSummaries(),this._checkPip(),this._resizeMap()}},{key:"fetchSummaries",value:function(){var e=this.state.lastMac,t=this.props,a=t.user,n=t.device,r=t.deviceActions,i=(n.deviceSummaries,n.devices,n.deviceI,n.fetchDeviceDataKeysPending,this._getDevice());if(a.userChecked&&i&&i.macAddress!==e){console.log("fetching summaries for new device"),r.setThing("mapLayer","");var o=i.macAddress;this.setState({lastMac:o},function(){r.fetchDeviceData({macAddress:o,dataKey:"deviceSummaries",start:Date.now()-31536e6*Object(O.yearsUserCanAccess)(a),stats:"summary"}).then(function(e){})})}}},{key:"componentWillUnmount",value:function(){this.ptr&&this.ptr.destroy(),window.removeEventListener("scroll",this._onScroll)}},{key:"_onScroll",value:function(e){this.setState({top:window.scrollY<10})}},{key:"_userRecent",value:function(){return Object(O.getUserSetting)("recent")(this.props.user)||!1}},{key:"_checkDashboardDevice",value:function(){var e=this.props,t=e.device,a=e.deviceActions,n=e.match,r=e.social,i=e.user,o=e.history,c=t.getDeviceFailures,s=t.dashboardDevice,l=t.devices,u=t.fetchDevicePending,d=i.userChecked,m=r.favs;if(!s){var p=Object(w.path)(["params","key"],n);if(p){var h=l&&l.find(function(e){return Object(O.getDeviceSlug)(e)===p});h?a.setDashboardDevice(h):u||a.fetchDevice({"public.slug":p}).then(function(e){a.clearFetchedDevices(),e.data[0]?a.setDashboardDevice(e.data[0]):d&&o.push("/dashboard")})}else{if(this._userRecent()&&this._userRecent()[0]){var f=this._userRecent()[0],b=l&&Object(w.find)(Object(w.propEq)("macAddress",f.macAddress),l);return a.setDashboardDevice(b||f)}if(m){var v=Object(w.pipe)(Object(w.pluck)("to"),Object(w.filter)(function(e){return!Object(w.contains)(e._id,c)}),Object(w.nth)(0))(m);if(v)return a.setDashboardDevice(v)}l&&l[0]&&a.setDashboardDevice(l[0])}}}},{key:"componentDidUpdate",value:function(e){var t=this.props,a=t.history,n=t.device,r=t.deviceActions,i=(t.location,n.dashboardDevice);this._checkDashboardDevice(),this.fetchSummaries(),i&&Object(O.shouldGetDevice)(n,i._id,1)&&r.getDevice(i._id),this._fsWebcam(),this._checkPip(),Object(O.pathsChanged)(e,this.props,[["match","params"]])&&this._resizeMap();var o=this._getDevice();(this._isTabActive("cam-charts")||this._isTabActive("cam-graphs"))&&o&&!Object(O.deviceHasEnhancedCam)(o)&&a.push("/dashboard/".concat(Object(O.getDeviceSlug)(o))),this._isTabActive("cam-charts")||this.setState({markerTime:null})}},{key:"_checkPip",value:function(){var e,t=Object(O.getUrlQueryParam)(this.props.location,"pip"),a=this.state.pip;t&&t!==a&&["map","webcam"].includes(t)&&(e=t);var n=this._getDevice();n&&Object(O.hasWebcam)(n)&&this._noLoc()&&(e="webcam"),n&&!Object(O.hasWebcam)(n)&&"webcam"===a&&(e="map"),e&&(this.setState({pip:e}),t&&e!==t&&this._doPip(e),this._resizeMap())}},{key:"_resizeMap",value:function(){var e=this;this._map&&setTimeout(function(){e._map.resize()},100)}},{key:"_fsWebcam",value:function(){var e=this.props,t=e.userActions,a=e.location,n=this._getDevice();if(n&&/show=webcam/.test(a.search)&&!this._modalShown){this._modalShown=!0;var r=this._archiveVideoObj();t.doModal({type:"webcam",data:r?r.dev:n})}}},{key:"_getDevice",value:function(){var e=this.props,t=e.user,a=e.device,n=(e.social,a.dashboardDevice),r=Object(O.getUserSetting)("favs")(t)||{};return n&&r[n.macAddress]&&(n=Object.assign({},n,{settings:Object.assign({},n.settings,r[n.macAddress].settings)})),!n||Object(O.deviceIsMine)(a,n._id)||r[n.macAddress]||((n=Object.assign({},n,{restrict:!0})).settings=n.settings||{},Object(w.path)(["settings","dashboard-top","expanded"],n)||(n.settings["dashboard-top"]={expanded:!0})),n}},{key:"handleSearch",value:function(e){var t=this._getDevice();if(""!==e){var a=Object(w.test)(new RegExp("^"+e,"i")),n=Object(w.pipe)(Object(w.prop)("keywords"),function(e){return e||[]},Object(w.filter)(a),w.isEmpty,w.not),r=Object(w.keys)(O.WIDGET_CONFIG),i=Object(w.keys)(Object(w.pickBy)(n,O.WIDGET_CONFIG)),o=Object(w.pickBy)(Object(w.path)(["title"]),t.settings||{}),c=Object(w.map)(function(e){return/\df/.test(e)?"sensors":e.replace(/(\d+)$/,"s")},Object(w.keys)(Object(w.pickBy)(Object(w.pipe)(Object(w.prop)("title"),a),o))),s=Object(w.concat)(i,c),l=Object(w.filter)(Object(w.pipe)(Object(w.flip)(w.contains)(s),w.not),r);this.setState({hideKeys:l})}else this.setState({hideKeys:[]})}},{key:"doRefresh",value:function(){var e=this.props.deviceActions;e.manualRefresh(),e.fetchDevices()}},{key:"_getUserSetting",value:function(e){return Object(O.getUserSetting)(e)(this.props.user)||{}}},{key:"_isTabActive",value:function(e){var t=this.props.match.params.tab,a=void 0===t?"tiles":t;return e?a===e:a}},{key:"_dashHeader",value:function(){var e=this.props,t=e.match,a=e.user,n=(e.userActions,e.device),r=t.params,i=(r.key,r.tab,this._getDevice()),o=!Object(O.isLoggedIn)(a)||!Object(O.deviceIsMine)(n,i._id)||i.public;Object(O.hasSocial)(a)&&i.lastData&&Object(w.path)(["info","coords"],i)&&Object(O.deviceIsMine)(n,i._id)&&i.public;return[m.a.createElement("div",{key:"dash-header",className:"dashboard-header"},m.a.createElement("div",{className:"tabs"},m.a.createElement(E.a,{to:"/dashboard/".concat(Object(O.getDeviceSlug)(i),"/tiles"),className:N()("widgets",{active:this._isTabActive("tiles")})},m.a.createElement("span",null,"Tiles")),m.a.createElement(E.a,{to:"/dashboard/".concat(Object(O.getDeviceSlug)(i),"/graphs"),className:N()("graphs",{active:this._isTabActive("graphs")})},m.a.createElement("span",null,"Charts &\xa0Graphs")),o?m.a.createElement(E.a,{to:"/dashboard/".concat(Object(O.getDeviceSlug)(i),"/social"),className:N()("social",{active:this._isTabActive("social")})},m.a.createElement("span",null,"Social")):null,Object(O.deviceHasEnhancedCam)(i)&&m.a.createElement(m.a.Fragment,null,m.a.createElement(E.a,{to:"/dashboard/".concat(Object(O.getDeviceSlug)(i),"/cam-charts"),className:N()("cam-charts",{active:this._isTabActive("cam-charts")})},m.a.createElement("span",{className:"beta"},"Weather Cam")),m.a.createElement(E.a,{to:"/dashboard/".concat(Object(O.getDeviceSlug)(i),"/cam-library"),className:N()("cam-library",{active:this._isTabActive("cam-library")})},m.a.createElement("span",{className:"beta"},"Library")))),m.a.createElement("div",{className:"device-info"},m.a.createElement(Nr,{currentDevice:i}),m.a.createElement(S,{u:i.unitSetting}),m.a.createElement("div",{className:"device-label"},Object(O.getDeviceLabel)(i))))]}},{key:"_noLoc",value:function(){var e=this._getDevice();return!Object(w.path)(["info","coords","coords"],e)}},{key:"_noTop",value:function(){var e=this._getDevice();return this._noLoc()&&!Object(O.hasWebcam)(e)}},{key:"_showWebcamTop",value:function(){var e=this._getDevice();return Object(O.hasWebcam)(e)&&Object(O.widgetExpanded)("webcam",e)}},{key:"_topExpanded",value:function(){var e=this._getDevice();return!1!==Object(O.widgetExpanded)("dashboard-top",e)}},{key:"_archiveVideoObj",value:function(){var e=this.props.match.params,t=this._getDevice(),a=Object(O.getWebcamArchives)(t);if(e.id){var n=a.findIndex(function(t){return e.id===t.date.format("YYYYMMDD")}),r=a[n];if(r)return{archiveVideo:r,archiveVideoI:n,dev:Object(i.a)({},t,{info:Object(i.a)({},t.info,{video:r.url,webcam:r.url.replace(".mp4","-sunrise.jpg")}),webcam:Object(i.a)({},t.webcam,{video:r.url})})}}}},{key:"_top",value:function(){var e=this,t=this.props,a=t.location,n=t.match,r=t.history,i=t.userActions,o=t.user,c=t.deviceActions,s=t.device,l=this.state,u=l.pip,d=l.videoPlaying,p=n.params,h=s.dashboardDevice,f=this._getDevice(),b=[],v=this._noLoc(),g=Object(O.handleWidgetChange)(i,o,s,f,c);if(this._restrict()||b.push(m.a.createElement("a",{key:"top-toggle",className:"top-toggle",onClick:function(){g({expanded:!e._topExpanded()},"dashboard-top")}})),b.push("map"===u&!this._isTabActive("cam-charts")&&!this._isTabActive("cam-library")?m.a.createElement(E.a,{key:"full-screen-map",to:"/",className:"full-screen"}):m.a.createElement("a",{key:"full-screen-webcam",className:"full-screen",onClick:function(){e._modalShown=!1,r.push({search:"?show=webcam",pathname:a.pathname}),e._fsWebcam()}})),b.push(m.a.createElement(wr,{className:N()({"no-loc":v}),key:"map",isDashboard:!0,onMapLoad:function(t){return e._map=t},onDeviceChange:function(e,t){if((!e||!h||h._id!==e._id)&&h){c.setDashboardDevice(e);var a=Object(O.getDeviceSlug)(e);if(a){var n="",i=Object(w.path)(["layer"],t);i?n="social"===i?"/social":"/tiles":p.tab&&(n="/".concat(p.tab)),r.replace("/dashboard/"+a+n+(p.id?"/".concat(p.id):""))}else r.push("/dashboard")}}})),Object(O.hasWebcam)(f)){var y={};if(Object(O.hasVideo)(f)&&("webcam"===u&&(y={light:!1,playVideo:!0,controls:!1,playsinline:!0,playing:!0}),this._isTabActive("cam-charts")||this._isTabActive("cam-library"))){y.light=!1,y.playVideo=!0,y.playsinline=!0,y.playing=d,y.controls=!0,y.onPlay=function(){return e.setState({videoPlaying:!0})},y.onPause=function(){return e.setState({videoPlaying:!1})};var k=this._archiveVideoObj(),j=0,D=[];if(k&&(f=k.dev,j=k.archiveVideoI+1,D=Object(O.getWebcamArchives)(f)),this._isTabActive("cam-charts")&&(y.config={file:{attributes:{crossOrigin:"anonymous"},tracks:[{kind:"chapters",src:Object(O.hasVideo)(f).replace(/mp4$/,"vtt").replace("https:",window.location.protocol),srcLang:"en",default:!0}]}},y.progressInterval=100,y.onReady=function(t){e._video=t,t.getInternalPlayer().textTracks[0].addEventListener("cuechange",function(a){if(t.getInternalPlayer()){var n=t.getInternalPlayer().textTracks[0];if(n){var r=n.activeCues[0];r&&e.setState({markerTime:parseInt(r.text,10)})}}})}),D.length>0){var S=Object(w.prepend)({label:"Today",value:0,id:""},D.map(function(e,t){return{label:e.date.format("M/D/YYYY"),value:t+1,id:e.date.format("YYYYMMDD")}}));b.push(m.a.createElement(Pe.a,{key:"archive-select-container",className:"archive-select-container",classNamePrefix:"archive-select",isSearchable:!1,options:S,value:S[j],onChange:function(t){r.push("/dashboard/".concat(Object(O.getDeviceSlug)(f),"/").concat(e._isTabActive(),"/").concat(t.id))}}))}}b.push(m.a.createElement(Ko,Object.assign({key:"webcam-".concat(f.macAddress,"-").concat(this._isTabActive("cam-charts")?"charts":""),currentDevice:f},y))),this._noLoc()||b.push(m.a.createElement("a",{key:"pip",className:"pip",onClick:function(){var t="map"===u?"webcam":"map";e._doPip(t)}}))}return m.a.createElement("div",{className:N()("dashboard-top expanded"),key:"top"},b)}},{key:"_doPip",value:function(e){var t=this.state.pip,a=this.props,n=a.location,r=a.history,i=new RegExp("&?pip=".concat(t)),o=n.search.replace(i,"");r.push({search:o&&"?"!==o?o+"&pip=".concat(e):"?pip=".concat(e),pathname:n.pathname})}},{key:"_restrict",value:function(){var e=this.props,t=e.user,a=e.device,n=this._getDevice(),r=Object(O.getUserSetting)("favs")(t)||{};return n&&!r[n.macAddress]&&!Object(O.deviceIsMine)(a,n._id)}},{key:"_socialTab",value:function(){var e=this.props.match.params,t=this._getDevice();return m.a.createElement(gt,{postId:e.id,currentDevice:t,key:"social"})}},{key:"render",value:function(){var e=this,t=this.props,a=t.alertActions,n=t.user,r=t.device,i=t.userActions,o=t.match,c=this.state,s=c.hideKeys,l=c.pip,u=c.markerTime,d=c.videoPlaying,p=c.videoLoading,h=c.top,f=o.params,b=this._getDevice(),v=[],g=Object(w.path)(["info","coords","coords"],b),y=this._noLoc();if(b)if(v.push(this._dashHeader()),v.push(this._top()),v.push(m.a.createElement(Tr,{alertActions:a,user:n,device:r,key:"site-alerts"})),this._isTabActive("tiles"))v.push(m.a.createElement("div",{key:"last-updated",className:"countdown-wrap"},m.a.createElement(So,{currentDevice:b}))),v.push(m.a.createElement(me,{key:"drd",currentDevice:b,hideKeys:s,userActions:i}));else if(this._isTabActive("graphs")||this._isTabActive("cam-charts")){var E=Object(O.deviceIsMine)(r,b._id)?s:Object(w.uniq)(Object(w.concat)(s,O.PRIVATE_PARAMS)),k=null;if(this._isTabActive("cam-charts")&&f.id){var j=moment.tz(f.id,"YYYYMMDD",Object(w.path)(["tz","name"],b));k=[j.clone().startOf("day"),j.clone().endOf("day")]}v.push(m.a.createElement(li,{key:"ddtw-".concat(this._isTabActive()),onGraphClick:function(t){if(e._video){console.log(e._video);var a=e._video.getInternalPlayer().textTracks[0];if(a){for(var n,r=0;r<a.cues.length;r++)if(t.timestamp<=parseInt(a.cues[r].text,10)){n=a.cues[r];break}n&&e._video.seekTo(n.startTime,"seconds")}d||e.setState({videoPlaying:!0})}},shortGraphs:this._isTabActive("cam-charts"),dates:k,markerTime:u,hideKeys:E,macAddress:b.macAddress}))}else this._isTabActive("social")?v.push(this._socialTab()):this._isTabActive("cam-library")&&v.push(m.a.createElement("div",{key:"cam-library",className:"cam-library"},m.a.createElement(fc,{currentDevice:b})));return m.a.createElement("div",{ref:function(t){return e.el=t},className:N()("device-dashboard-wrap","top-"+l,Object(w.path)(["match","params","tab"],this.props)||"tiles",{"video-playing":d,"video-loading":p,mine:Object(w.path)(["_id"],b)&&Object(O.deviceIsMine)(r,b._id),restrict:this._restrict(),"no-loc":b&&y,"no-top":this._noTop(),"no-maps":!g,"no-dash-top":!this._topExpanded(),top:h})},m.a.createElement("div",{className:"device"},v),Object(O.userCanSocialPost)(n,r)&&m.a.createElement("a",{className:"create-post-btn",onClick:function(){i.doModal({type:"create-post"})}}))}}]),t}(d.PureComponent),It=ae(Object(P.h)(xt));xt.displayName="DashboardWrap";var Tt=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_handleRedirect",value:function(){var e=this.props,t=e.user,a=e.match,n=t.fetchUserError,r=a.params.key;n&&!r&&this.props.history.replace("/")}},{key:"componentDidMount",value:function(){this._handleRedirect()}},{key:"componentDidUpdate",value:function(){this._handleRedirect()}},{key:"render",value:function(){return m.a.createElement("div",{className:"user-dashboard"},m.a.createElement(It,{params:this.props.params}))}}]),t}(d.Component),Pt=ae(Object(P.h)(Tt));Tt.displayName="Dashboard",Tt.displayName="Dashboard",Tt.displayName="Dashboard",Tt.displayName="Dashboard",Tt.displayName="Dashboard",Tt.displayName="Dashboard",Tt.displayName="Dashboard";var Mt=a(16),Rt=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).approve=(a=n).approve.bind(a),n.state={redirected:!1},n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"getService",value:function(){var e=this.props.location;return O.OAUTH_CONFIG[Object(O.getUrlQueryParam)(e,"client_id")]}},{key:"getRedirect",value:function(){var e=this.props.location;return this.getService().redirect||Object(O.getUrlQueryParam)(e,"redirect_uri")}},{key:"approve",value:function(){var e=this,t=this.props.location,a=this.props.actions.patch,n=this.props.user.info,r=n.oauth||{},i="aw-"+Object(O.guid)();r[this.getService().name.replace(" ","-").toLowerCase()]=i,a(n._id,{oauth:r}).then(function(){var a=e.getRedirect()+"?code="+i+"&state="+Object(O.getUrlQueryParam)(t,"state");e.setState({redirected:a}),window.open(a,"_self")})}},{key:"render",value:function(){var e=this.state.redirected,t=this.props,a=t.user,n=(t.location,a.patchPending),r=this.getService();console.log(r);var i=m.a.createElement("button",{onClick:this.approve,className:"btn btn-primary"},"Authorize app"),o=m.a.createElement("div",null,i,m.a.createElement("p",null,m.a.createElement("a",{href:"{this.getRedirect()}?error=access_denied"},"Cancel")),m.a.createElement("div",{className:"details"},m.a.createElement("p",null,m.a.createElement("b",null,"This Application will be able to:")),m.a.createElement("ul",null,m.a.createElement("li",null,"Read your device names"),m.a.createElement("li",null,"Access your devices' weather data")),m.a.createElement("p",null,m.a.createElement("b",null,"It will ",m.a.createElement("em",null,"not")," be able to:")),m.a.createElement("ul",null,m.a.createElement("li",null,"See your email address"),m.a.createElement("li",null,"See you password"))));return n&&Object(w.contains)("oauth",n)?o=m.a.createElement("p",null,"Ok, no problem..."):e&&(o=m.a.createElement("p",null,"Redirecting...if you're stuck ",m.a.createElement("a",{href:e},"click here"))),m.a.createElement("div",{className:"user-oauth-tile"},m.a.createElement("div",{className:"icon "+r.name.replace(" ","-").toLowerCase()}),m.a.createElement("h2",null,"Authorize ",r.name," to access your account?"),o)}}]),t}(d.PureComponent),Lt=g(Object(P.h)(Rt));Rt.displayName="OauthTile",Rt.displayName="OauthTile",Rt.displayName="OauthTile",Rt.displayName="OauthTile",Rt.displayName="OauthTile",Rt.displayName="OauthTile",Rt.displayName="OauthTile";var Ft=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={forgot:!1,email:"",resent:!1},n.submit=(a=n).submit.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"submit",value:function(e){var t=this;e.preventDefault();var a=this.state,n=a.forgot,r=a.email;n?r&&(this.setState({resetSent:"sending"}),Mt.b.sendResetPwd({email:r}).then(function(e){t.setState({resetSent:"success"})}).catch(function(e){t.setState({resetSent:"fail"})}),this.setState({resetSent:!0})):(this.state.submitted=!0,this.props.actions.fetchUser(this.state))}},{key:"handleLoggedInUser",value:function(e){var t=this.props.location;Object(O.isLoggedIn)(e)&&!Object(O.isOauth)(t)&&this.props.history.replace("/dashboard")}},{key:"componentWillMount",value:function(){this.props.actions.fetchUser()}},{key:"componentDidMount",value:function(){this.handleLoggedInUser(this.props.user)}},{key:"componentWillUpdate",value:function(e){this.handleLoggedInUser(e.user)}},{key:"render",value:function(){var e,t=this,a=this.props,n=a.location,r=a.user,i=a.actions,o=this.state,c=o.resent,s=o.forgot,l=o.resetSent,u=o.email;if(this.state.submitted&&r.fetchUserError){var d=/quota has been/.test(r.fetchUserError.message)?'Sorry, sign-in will not work in "Private Browsing" mode':r.fetchUserError.message;e=m.a.createElement("div",{className:"error"},d)}var p=this.state.submitted&&!r.fetchUserError?"Signing in...":"Signin",h=m.a.createElement("div",null,m.a.createElement("div",{className:"row"},m.a.createElement("label",null,"Email"),m.a.createElement("input",{type:"email",autoComplete:"email",onChange:function(e){return t.setState({email:e.target.value.toLowerCase()})},value:this.state.email})),m.a.createElement("div",{className:s?"hidden":"row"},m.a.createElement("label",null,"Password"),m.a.createElement("input",{type:"password",autoComplete:"current-password",onChange:this.handleChangeProp("password"),defaultValue:this.state.password})),e,m.a.createElement("input",{className:"btn btn-lg btn-primary",type:"submit",value:s?"Reset Password":p}),m.a.createElement("p",{className:"text-center"},m.a.createElement("a",{onClick:function(){return t.setState({forgot:!s})}},s?"I remember it":"Forgot your password?"))),f=m.a.createElement("p",null,"One sec...");"success"===l?f=m.a.createElement("p",null,"Check your inbox, bulk or spam folder for a password reset email."):"fail"===l&&(f=m.a.createElement(m.a.Fragment,null,m.a.createElement("p",null,m.a.createElement("b",{className:"error"},"Reset email not sent!"),m.a.createElement("br",null)," It looks like you haven't verified your email address yet.  Check your inbox or spam folder for an email with the subject line \"Confirm your account\". Once you've confirmed you'll be able to reset your password.  Sorry for the inconvenience."),c?m.a.createElement("p",null,"Sent! Check your inbox or spam folder for a new confirmation email. If you still don't see it you probably signed up with an email address other than \"",u,'". '):m.a.createElement("p",null,"Can't find it? ",m.a.createElement("a",{onClick:function(){i.sendConfirmation({user:u,confirmKey:!0}),t.setState({resent:!0})}},"Resend")," the confirmation email to ",m.a.createElement("b",null,'"',u,'"'))));var b=m.a.createElement("form",{onSubmit:this.submit},l?f:h);return Object(O.isLoggedIn)(r)&&Object(O.isOauth)(n)&&(b=m.a.createElement(Lt,{location:n})),m.a.createElement("div",{className:"user-signin form-center"},b,m.a.createElement(Cr,null))}}]),t}(_e(d.Component));Ft.propTypes={user:Ae.a.object.isRequired,actions:Ae.a.object.isRequired,history:Ae.a.object.isRequired};var Ut=g(Object(P.h)(Ft));Ft.displayName="Signin";var Wt=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillMount",value:function(){var e=this.props.location;console.log(e),this.setState({confirming:!0});var t=new URLSearchParams(e.search).get("key");e.search&&t?this.props.actions.confirmUser(t):this.props.history.push("/")}},{key:"render",value:function(){return m.a.createElement("div",{className:"user-confirm"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"Confirmation")),m.a.createElement("div",{className:"page-body"},m.a.createElement("div",{className:"block"},this.props.user.confirmUserPending?"Confirming...":this.props.user.confirmUserSuccess?"Confirmed!":"Confirmed")))}}]),t}(d.Component);var Ht=Object(h.c)(function(e){return{user:e.user}},function(e){return{actions:Object(p.b)(Object(i.a)({},f),e)}})(Object(P.h)(Wt));Wt.displayName="Confirm",Wt.displayName="Confirm",Wt.displayName="Confirm",Wt.displayName="Confirm",Wt.displayName="Confirm",Wt.displayName="Confirm",Wt.displayName="Confirm";var Bt=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.device,a=e.user,n=e.userActions,r=t.devices,i=void 0===r?[]:r,o=[["Temperature","tempf"],["Barometer","baromrelin"],["Wind Speed","windspeedmph"],["Rainfall","hourlyrainin"],["Solar Radiation","solarradiation"],["Soil Moisture","soilhum1"],["Time Format","hour24"],["Distance","metric"]];"km"===Object(w.path)(["info","settings","home"],a)&&(o.push(["Soil Tension","soiltens1"]),o.push(["Evapotranspiration","etos"]));var c=Object(O.rowsHave)(Object(w.pluck)("lastData",i));c(["airflowcfm"])&&o.push(["Volume Airflow","airflowcfm"]),c(["humidityratiogplb"])&&o.push(["Moisture Content","humidityratiogplb"]);var s=Object(w.map)(function(e){var t=e[0],r=e[1],i=Object(O.getUserSetting)(r)(a)||{},o=Object(O.getUserUnitI)(r,a),c=Object.assign({hour24:{units:["12hr","24hr"]},metric:{units:["imperial","metric"]}},oe.ambient.DATA_SPEC),s=Object(w.addIndex)(w.map)(function(e,t){return m.a.createElement(De,{key:t,selected:o===t,onClick:function(){i.unit=t,n.updateSetting(r,i)},label:" "===e?"index":e})})(c[r].units);return m.a.createElement("div",{className:"line",key:r},m.a.createElement("div",null,t),m.a.createElement("div",{className:"options"},s))})(o);return m.a.createElement("div",{className:"user-settings"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"Units")),m.a.createElement("div",{className:"page-body"},m.a.createElement("div",{className:"block"},m.a.createElement("h3",null,"Preferences"),s)))}}]),t}(d.Component),Yt=ae(Bt);Bt.displayName="Settings";var Gt=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.defaultValue,a=e.user,n=e.actions,r=e.setting,i=e.settingKey,o=e.value,c=e.label,s=Object(O.getUserSetting)(r)(a)||{};return m.a.createElement(De,{label:c,selected:s[i]===o||t&&!s[i]&&t===o,onClick:function(){s[i]=o,n.updateSetting(r,s)}})}}]),t}(d.PureComponent),zt=g(Gt);Gt.displayName="SettingRadio",Gt.displayName="SettingRadio",Gt.displayName="SettingRadio",Gt.displayName="SettingRadio",Gt.displayName="SettingRadio",Gt.displayName="SettingRadio",Gt.displayName="SettingRadio";var Kt=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.user,a=e.actions,n=e.setting,r=e.settingKey,i=e.values,o=e.label,c=Object(O.getUserSetting)(n)(t)||{},s=i.map(function(e){return m.a.createElement("option",{key:e[1],value:e[1]},e[0])});return m.a.createElement("select",{className:"user-setting-select form-control",value:c[r],onChange:function(e){var t=e.target.value;c[r]=t,a.updateSetting(n,c)}},m.a.createElement("option",null,o),s)}}]),t}(d.PureComponent),qt=g(Kt);Kt.displayName="SettingSelect";var Vt=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={phone:"",code:"",codeTries:0,tooMany:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillUpdate",value:function(e,t){var a=this.props,n=a.user,r=a.userActions;t.codeTries>2&&(r.patch(n.info._id,{phone:"",phoneConfirmKey:!1}),this.setState({phone:"",codeTries:0,tooMany:!0}))}},{key:"render",value:function(){var e=this,t=this.props,a=t.user,n=t.userActions,r=this.state,i=r.phone,o=r.code,c=r.codeTries,s=r.tooMany,l="";return Object(w.path)(["info","phone"],a)?Object(w.path)(["info","phoneConfirmKey"],a)&&(l=m.a.createElement("div",null,m.a.createElement("p",null,"Enter your phone number below. Standard message rates apply."),m.a.createElement("div",{className:"form-row"},m.a.createElement("p",{className:"warning"},"Please confirm the 4 digit code sent to ",a.info.phone,m.a.createElement("small",null,m.a.createElement("a",{className:"glyphicon glyphicon-trash",onClick:function(){window.confirm("Are you sure you'd like to remove this phone number?")&&n.patch(a.info._id,{phone:"",phoneConfirmKey:!1})}}))),m.a.createElement("input",{className:"form-control",value:o,type:"text",placeholder:"Enter Code",onChange:Object(w.pipe)(Object(w.path)(["target","value"]),Object(w.replace)(/[^0-9]/g,""),Object(w.take)(4),Object(w.set)(Object(w.lensProp)("code")),Object(w.bind)(this.setState,this))}),m.a.createElement("button",{disabled:4!==o.length,className:"btn btn-primary",onClick:function(){o===a.info.phoneConfirmKey?n.patch(a.info._id,{phoneConfirmKey:!1}):e.setState({code:"",codeTries:c+1})}},"Confirm")))):l=m.a.createElement("div",null,s?m.a.createElement("p",{className:"alert alert-danger"},"Too many tries!"):"",m.a.createElement("p",null,"Enter your phone number below. Standard message rates apply."),m.a.createElement("div",{className:"form-row"},m.a.createElement("input",{className:"form-control",value:i,type:"text",placeholder:"Phone",onChange:Object(w.pipe)(Object(w.path)(["target","value"]),Object(w.replace)(/[^0-9]/g,""),Object(w.splitEvery)(3),Object(w.join)("-"),Object(w.replace)(/(\d\d\d-\d\d\d-\d\d\d)-(\d)/,"$1$2"),Object(w.take)(12),Object(w.set)(Object(w.lensProp)("phone")),Object(w.bind)(this.setState,this))}),m.a.createElement("button",{disabled:12!==i.length,className:"btn btn-primary",onClick:function(){n.patch(a.info._id,{phone:i}),e.setState({tooMany:!1})}},"Save"))),m.a.createElement("div",{className:"user-phone-process"},l)}}]),t}(d.PureComponent),$t=ae(Vt);Vt.displayName="PhoneProcess",Vt.displayName="PhoneProcess",Vt.displayName="PhoneProcess",Vt.displayName="PhoneProcess",Vt.displayName="PhoneProcess",Vt.displayName="PhoneProcess",Vt.displayName="PhoneProcess";var Qt=a(25),Xt=a.n(Qt),Jt=a(36),Zt=a(100),ea=Object(O.isBillingDev)()?"https://ambient-weather-billing-test-z49ii.ondigitalocean.app":"https://rainmaker.ambientweather.net";function ta(e,t){return aa.apply(this,arguments)}function aa(){return(aa=Object(Jt.a)(Xt.a.mark(function e(t,a){var n,r,i;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=ea+t,r=localStorage.getItem("feathers-jwt"),e.prev=2,e.next=5,Zt(n,Object(O.mergeDeep)({headers:{Authorization:"Bearer ".concat(r)}},a));case 5:return i=e.sent,e.abrupt("return",i.json());case 9:e.prev=9,e.t0=e.catch(2),e.t0;case 12:case"end":return e.stop()}},e,null,[[2,9]])}))).apply(this,arguments)}function na(e){return ra.apply(this,arguments)}function ra(){return(ra=Object(Jt.a)(Xt.a.mark(function e(t){var a,n,r;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=ea+t,n=localStorage.getItem("feathers-jwt"),e.next=4,Zt(a,{headers:{Authorization:"Bearer ".concat(n)}});case 4:return r=e.sent,e.abrupt("return",r);case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ia(e,t){return oa.apply(this,arguments)}function oa(){return(oa=Object(Jt.a)(Xt.a.mark(function e(t,a){var n,r,i,o;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=ea+"/users/"+t+"/card-setup",r=localStorage.getItem("feathers-jwt"),e.next=5,Zt(n,{headers:{Authorization:"Bearer ".concat(r)}});case 5:return i=e.sent,e.next=8,i.json();case 8:o=e.sent,a(o.clientSecret),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),e.t0;case 15:case"end":return e.stop()}},e,null,[[0,12]])}))).apply(this,arguments)}function ca(e,t){return sa.apply(this,arguments)}function sa(){return(sa=Object(Jt.a)(Xt.a.mark(function e(t,a){var n,r,i;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n="/users/"+t+"/cards",e.next=4,na(n);case 4:return r=e.sent,e.next=7,r.json();case 7:return i=e.sent,a(i),e.abrupt("return",r.status>=200&&r.status<=299);case 12:return e.prev=12,e.t0=e.catch(0),e.t0,e.abrupt("return",!1);case 16:case"end":return e.stop()}},e,null,[[0,12]])}))).apply(this,arguments)}function la(e,t,a,n){return ua.apply(this,arguments)}function ua(){return(ua=Object(Jt.a)(Xt.a.mark(function e(t,a,n,r){var i,o,c,s;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,i=ea+"/subscriptions?userId="+t+"&macAddress="+a+"&productName="+n,o=localStorage.getItem("feathers-jwt"),c=!r,e.next=6,Zt(i,{method:"PUT",headers:{Authorization:"Bearer ".concat(o),"Content-Type":"application/json"},body:JSON.stringify({cancel_at_period_end:c})});case 6:return s=e.sent,e.next=9,s.json();case 9:return e.sent,e.abrupt("return",s.status>=200&&s.status<=299);case 13:return e.prev=13,e.t0=e.catch(0),e.t0,e.abrupt("return",!1);case 17:case"end":return e.stop()}},e,null,[[0,13]])}))).apply(this,arguments)}function da(e,t,a){return ma.apply(this,arguments)}function ma(){return(ma=Object(Jt.a)(Xt.a.mark(function e(t,a,n){var r,i,o,c,s,l,u=arguments;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.length>3&&void 0!==u[3]?u[3]:{},i=localStorage.getItem("feathers-jwt"),c={Authorization:"Bearer ".concat(i)},r.body&&(o=JSON.stringify(r.body),c["Content-Type"]="application/json"),e.prev=4,s=ea+"/subscriptions?userId="+t+"&macAddress="+a+"&productName="+n,e.next=8,Zt(s,{method:r.method||"POST",headers:c,body:o});case 8:return l=e.sent,e.next=11,l.json();case 11:if(e.sent,!(l.status>=200&&l.status<=299)){e.next=16;break}return e.abrupt("return",!0);case 16:return e.abrupt("return",!1);case 17:e.next=23;break;case 19:return e.prev=19,e.t0=e.catch(4),e.t0,e.abrupt("return",!1);case 23:case"end":return e.stop()}},e,null,[[4,19]])}))).apply(this,arguments)}function pa(e,t){return ha.apply(this,arguments)}function ha(){return(ha=Object(Jt.a)(Xt.a.mark(function e(t,a){var n,r,i;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=ea+"/users/"+t+"/cards/"+a+"/default",r=localStorage.getItem("feathers-jwt"),e.next=5,Zt(n,{method:"POST",headers:{Authorization:"Bearer ".concat(r)}});case 5:return i=e.sent,e.next=8,i.json();case 8:if(e.sent,!(i.status>=200&&i.status<=299)){e.next=13;break}return e.abrupt("return",!0);case 13:return e.abrupt("return",!1);case 14:e.next=20;break;case 16:return e.prev=16,e.t0=e.catch(0),e.t0,e.abrupt("return",!1);case 20:case"end":return e.stop()}},e,null,[[0,16]])}))).apply(this,arguments)}function fa(e,t){return ba.apply(this,arguments)}function ba(){return(ba=Object(Jt.a)(Xt.a.mark(function e(t,a){var n,r,i;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=ea+"/users/"+t+"/cards/"+a,r=localStorage.getItem("feathers-jwt"),e.next=5,Zt(n,{method:"DELETE",headers:{Authorization:"Bearer ".concat(r)}});case 5:return i=e.sent,e.next=8,i.json();case 8:if(e.sent,!(i.status>=200&&i.status<=299)){e.next=13;break}return e.abrupt("return",!0);case 13:return e.abrupt("return",!1);case 14:e.next=20;break;case 16:return e.prev=16,e.t0=e.catch(0),e.t0,e.abrupt("return",!1);case 20:case"end":return e.stop()}},e,null,[[0,16]])}))).apply(this,arguments)}function va(e){var t,a,n,r=e.user,i=e.actions,o=Object(d.useState)(!1),c=Object(Ye.a)(o,2),s=c[0],l=c[1],u=Object(d.useState)(null),p=Object(Ye.a)(u,2),h=p[0],f=p[1],b=Object(w.path)(["info","payments","defaultPaymentMethod"],r);if(Object(d.useEffect)(function(){if(Object(O.isLoggedIn)(r)&&!s&&b){var e=Object(w.path)(["cards"],h);if(!e||0!==e.length)(e||[]).find(function(e){return e.id===b})||function(){t.apply(this,arguments)}()}function t(){return(t=Object(Jt.a)(Xt.a.mark(function e(){var t;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),t=Object(w.path)(["info","_id"],r),e.next=4,ca(t,f);case 4:if(e.sent){e.next=8;break}return console.log("\xaf\\_(\u30c4)_/\xaf   billingGetUserCards failed"),e.abrupt("return");case 8:l(!1);case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}},[r,s,h,b]),!b)return null;var v="",g="You do not currently have any credit cards on file.",y=!1;if(h&&h.cards&&h.cards.length){var E=h.cards[0].card;E&&(y=!0,t=(t=Object(w.path)(["brand"],E)).charAt(0).toUpperCase()+t.slice(1),a=Object(w.path)(["exp_month"],E),n=Object(w.path)(["exp_year"],E),v=Object(w.path)(["last4"],E),g="Only one card may be kept on file to perform subscription auto-renewal.  If you would like to change cards you must delete this one first.  The change will affect all auto-renewing subscriptions.")}function k(){return(k=Object(Jt.a)(Xt.a.mark(function e(t){var a,n;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),window.confirm("Your subscriptions will not renew if you don't have a card on file. Are you sure you want to delete this card?")){e.next=3;break}return e.abrupt("return");case 3:if(a=Object(w.path)(["info","_id"],r),n=Object(w.path)(["info","payments","defaultPaymentMethod"],r),a&&n){e.next=7;break}return e.abrupt("return");case 7:return l(!0),e.next=10,fa(a,n);case 10:return e.sent||console.log("\xaf\\_(\u30c4)_/\xaf   billingDeleteCard failed"),delete r.info.payments.defaultPaymentMethod,e.next=15,i.refreshUser();case 15:l(!1);case 16:case"end":return e.stop()}},e)}))).apply(this,arguments)}var j=s?m.a.createElement(fe,null):m.a.createElement("button",{onClick:function(e){return k.apply(this,arguments)},className:"btn btn-primary"},"Delete Card");return m.a.createElement("div",{className:"payment-display-card"},m.a.createElement("div",{className:"aw-fields"},m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Card Type"),t),m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Last 4"),"****-****-****-",v),m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Exp"),a," / ",n)),m.a.createElement("div",null,g),m.a.createElement("br",null),m.a.createElement("div",null,y&&j))}va.defaultProps={};var ya=g(va);va.displayName="DisplayCard";var Ea=a(141),Oa=a.n(Ea),wa=a(109),ka=function(e){var t=e.children;return m.a.createElement("div",{className:"ErrorContainer",role:"alert"},m.a.createElement("svg",{width:"16",height:"16",viewBox:"0 0 17 17"},m.a.createElement("path",{fill:"#FFF",d:"M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,17 Z"}),m.a.createElement("path",{fill:"#6772e5",d:"M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"})),t)},ja=ka;ka.displayName="CheckoutError";var Na=function(e){var t=e.userId,a=(e.deviceId,e.subscribe,e.onSuccess),n=e.reset,r=e.user,i=e.actions,o=Object(d.useState)(!1),c=Object(Ye.a)(o,2),s=c[0],l=c[1],u=Object(d.useState)(!1),p=Object(Ye.a)(u,2),h=p[0],f=p[1],b=Object(d.useState)(null),v=Object(Ye.a)(b,2),g=v[0],y=v[1],E=Object(d.useState)(""),O=Object(Ye.a)(E,2),k=O[0],j=O[1],N=Object(d.useState)(""),D=Object(Ye.a)(N,2),S=D[0],A=D[1],_=Object(d.useState)(""),C=Object(Ye.a)(_,2),x=C[0],I=C[1],T=Object(d.useState)(""),P=Object(Ye.a)(T,2),M=P[0],R=P[1],L=Object(d.useState)(""),F=Object(Ye.a)(L,2),U=F[0],W=F[1],H=Object(d.useState)(""),B=Object(Ye.a)(H,2),Y=B[0],G=B[1],z=Object(w.path)(["info","payments","defaultPaymentMethod"],r),K=Object(wa.useStripe)(),q=Object(wa.useElements)(),V=function(e){return new Promise(function(t){return setTimeout(t,e)})};if(z)return null;var $=function(){var e=Object(Jt.a)(Xt.a.mark(function e(r){var o,c,s,u,d,m,p,h,b,v,g;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r.preventDefault(),o=U.trim(),c=Y.trim(),s=k.trim(),u=S.trim(),d=x.trim(),m=M.trim(),o&&c&&s&&d){e.next=10;break}return alert("Please enter name, address and card information."),e.abrupt("return");case 10:return l(!0),e.next=13,K.confirmSetup({elements:q,confirmParams:{return_url:"http://ambientweather.net/devices",payment_method_data:{billing_details:{name:o+" "+c,address:{line1:s,line2:u,city:d,state:m}}}},redirect:"if_required"});case 13:if(p=e.sent,h=p.setupIntent,!(b=p.error)){e.next=22;break}console.log("  There was an error: "+b.message),y(b.message),f(!0),e.next=33;break;case 22:if(!h||!h.payment_method){e.next=33;break}return v=h.payment_method,e.next=26,pa(t,v);case 26:return g=e.sent,e.next=29,V(1e3);case 29:return e.next=31,i.refreshUser();case 31:g&&a&&a(!0),n(!0);case 33:l(!1);case 34:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),Q={iconStyle:"solid",style:{base:{color:"#000",fontSize:"16px",iconColor:"#fff","::placeholder":{color:"black"}},invalid:{iconColor:"red",color:"red"},complete:{iconColor:"#cbf4c9"}},hidePostalCode:!0};return m.a.createElement("div",{className:"payment-add-card"},m.a.createElement("form",{onSubmit:function(e){$(e)}},m.a.createElement("div",{className:"aw-fields"},m.a.createElement("div",{className:"item two"},m.a.createElement("label",null,"First Name"),m.a.createElement("input",{name:"billFirstName",type:"text",value:U,onChange:function(e){return W(e.target.value)},required:!0})),m.a.createElement("div",{className:"item two"},m.a.createElement("label",null,"Last Name"),m.a.createElement("input",{name:"billLastName",type:"text",value:Y,onChange:function(e){return G(e.target.value)},required:!0}))),m.a.createElement("div",{className:"aw-fields"},m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Address"),m.a.createElement("input",{name:"billLine1",type:"text",value:k,onChange:function(e){return j(e.target.value)},required:!0})),m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Address 2"),m.a.createElement("input",{name:"billLine2",type:"text",value:S,onChange:function(e){return A(e.target.value)}})),m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"City"),m.a.createElement("input",{name:"billCity",type:"text",value:x,onChange:function(e){return I(e.target.value)},required:!0})),m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"State"),m.a.createElement("input",{name:"billState",type:"text",value:M,onChange:function(e){return R(e.target.value)}}))),m.a.createElement(wa.PaymentElement,{options:Q}),m.a.createElement("div",{className:"row"},h&&m.a.createElement(ja,null,g)),m.a.createElement("button",{className:"btn-long btn btn-primary",disabled:s},"Register Card")))};Na.defaultProps={};var Da=g(Na);Na.displayName="AddCard";var Sa=a(484),Aa=Object(O.isBillingDev)()?"pk_test_51JXnb3DQ6Y4AP0xhC9A8YRZYlxh9RPyZWamiw43N7g7LGDaut7K4qkiqo5nAi7HKhY9Q66mQpgQ6CiXY4uxVmS0300QsulYdRi":"pk_live_51JXnb3DQ6Y4AP0xh7DTfb527tVYVoDC3GWjSOQEOSxFXPNw79SE36zdxxSnq61dGTPqrAMLY2nkvnFixAx97eghR00Q3UMqPqE",_a=Object(Sa.a)(Aa),Ca=function(e){var t=e.userId,a=e.deviceId,n=e.mode,r=e.onSuccess,i=Object(d.useState)(),o=Object(Ye.a)(i,2),c=o[0],s=o[1],l=Object(d.useState)(!1),u=Object(Ye.a)(l,2),p=u[0],h=u[1];Object(d.useEffect)(function(){function e(){return(e=Object(Jt.a)(Xt.a.mark(function e(){return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:ia(t,s);case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}c&&!p||(!function(){e.apply(this,arguments)}(),h(!1))},[t,c,n,p]);var f={clientSecret:c},b=[];"register"===n&&b.push(m.a.createElement(Da,{key:"register",userId:t,deviceId:a,subscribe:"kestrelmet-one-year-subscription",onSuccess:r,reset:h})),"file"===n&&b.push(m.a.createElement(Da,{key:"file",userId:t,deviceId:a,subscribe:"",onSuccess:r,reset:h}));var v=m.a.createElement(wa.Elements,{stripe:_a,options:f,key:c},m.a.createElement("div",{className:"payment-all-payments"},b));return c?v:m.a.createElement("div",null,"Loading, please wait...")},xa=Ca;function Ia(){return m.a.createElement("div",{className:"payment-delete-card"},"Component content: payment/DeleteCard")}function Ta(e,t,a){return m.a.createElement("div",{className:"payment-add-subscription"},"Component content: payment/AddSubscription")}function Pa(e){var t=e.user,a=e.currentDevice,n=e.userActions,r=za(t,a.macAddress),i=Object(P.f)(),o=Object(d.useState)(1),c=Object(Ye.a)(o,2),s=c[0],l=c[1],u=Object(d.useState)(0),p=Object(Ye.a)(u,2),h=p[0],f=p[1],b=Object(d.useState)(!1),v=Object(Ye.a)(b,2),g=(v[0],v[1]),y=Object(d.useState)(Ha(t)),E=Object(Ye.a)(y,2),O=E[0],k=E[1],j=Object(d.useState)(!1),D=Object(Ye.a)(j,2),S=D[0],A=D[1],_=Object(d.useState)(!1),C=Object(Ye.a)(_,2),x=C[0],I=C[1],T=Object(w.path)(["info","_id"],t),M=Object(w.path)(["_id"],a),R=Object(w.path)(["macAddress"],a),L=m.a.createElement(Oa.a,{onChange:function(){return I(function(e){return!x})},checked:x}),F=x?"yearly":"monthly",U=m.a.createElement(m.a.Fragment,null,m.a.createElement("header",null,m.a.createElement("h2",null,"Choose the camera subscription that best fits your needs."),m.a.createElement("p",null,"Your current subscription is ",m.a.createElement("strong",null,r.label," Camera")),m.a.createElement("div",{className:"term"},L," ",m.a.createElement("span",null,"Save up to 17% with an annual subscription!"))),m.a.createElement("div",{className:"tiers"},Ra.map(function(e,t){if(e.term===F||"both"===e.term){var a=t===r.tier||"yearly"===F&&t===r.tier+1||"monthly"===F&&t===r.tier-1,o=!1,c="Upgrade",u=function(){l(2),f(t)};return a?(o=!0,c="Current"):t<r.tier&&(c="Downgrade",0===t&&(u=function(){i.push("/account#subscriptions"),n.doModal(null)})),m.a.createElement("div",{className:N()("tier tier-".concat(t," step-").concat(s),{active:a}),key:t},m.a.createElement("div",{className:"top"},m.a.createElement("h3",null,e.label," Camera"),m.a.createElement("h2",null,e.price),m.a.createElement("button",{className:"btn btn-primary",disabled:o,onClick:u},c)),m.a.createElement("div",{className:"bottom"},m.a.createElement("strong",null,"Features"),m.a.createElement("div",{className:"group"},m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Time lapse resolution:"),m.a.createElement("div",{className:"val"},e.timelapseRes)),m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Regeneration rate:"),m.a.createElement("div",{className:"val"},e.regenRate)),m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Weather banner:"),m.a.createElement("div",{className:"val"},e.banner)),m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Sampling:"),m.a.createElement("div",{className:"val"},e.sampling)),m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Time lapse storage:"),m.a.createElement("div",{className:"val"},e.storage)),m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Map Icon:"),m.a.createElement("div",{className:"val"},e.mapIcon)))))}}))),W=function(e){return new Promise(function(t){return setTimeout(t,e)})},H=!1;function B(){return(B=Object(Jt.a)(Xt.a.mark(function e(){var a,r,i;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(Ya(t,R,Ra[h].productName)){e.next=16;break}return a=Ra[h].productName,r=Object(w.range)(1,Ra.length).find(function(e){return Ya(t,R,Ra[e].productName)}),i={},r&&Ra[r].productName!==a&&(a=Ra[r].productName,i.body={new_product_name:Ra[h].productName},i.method="PUT"),A(!0),e.next=8,da(T,R,a,i);case 8:return H=e.sent,e.next=11,W(7e3);case 11:return e.next=13,n.refreshUser();case 13:A(!1),g(H),H&&l(3);case 16:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Y=m.a.createElement(m.a.Fragment,null,m.a.createElement("h1",null,"Choose payment method for your ",Ra[h].label," plan."),m.a.createElement("div",null,m.a.createElement(ya,{user:t}),m.a.createElement(xa,{userId:T,deviceId:M,mode:"file",onSuccess:k})),m.a.createElement("div",{className:"buyBtn"},m.a.createElement("button",{className:"btn btn-primary buy-plan",disabled:!O||S,onClick:function(){return B.apply(this,arguments)}},"Buy Plan"),S?m.a.createElement(m.a.Fragment,null,m.a.createElement("br",null),m.a.createElement("p",null,"Please wait"),m.a.createElement(fe,null)):"")),G="";switch(Ka(t,R,Ra[h].productName)){case"active":G=m.a.createElement(m.a.Fragment,null,m.a.createElement("h1",null,"You have successfully subscribed to the ",Ra[h].label," plan."),m.a.createElement("p",null,"You can cancel your subscription renewal at any time under your Accounts page."),m.a.createElement("p",null,"There may be a delay for payment processing before the features are available."));break;case"incomplete":G=m.a.createElement(m.a.Fragment,null,m.a.createElement("h1",null,"There has been a delay in confirming your payment method for the ",Ra[h].label," plan."),m.a.createElement("p",null,"We apologize for the inconvenience.  Please check the status of your subscription later on your Account page."));break;default:G=m.a.createElement(m.a.Fragment,null,m.a.createElement("h1",null,"An error occured while attempting to subscribe to the ",Ra[h].label," plan."),m.a.createElement("p",null,"We are sorry for the inconvenience.  Please try again later."))}var z="";switch(s){case 1:z=U;break;case 2:z=Y;break;case 3:z=G;break;default:z=m.a.createElement("h1",null,"Error processing.  Please try again later.")}return m.a.createElement("div",{className:"payment-enhanced-cam-modal"},z)}function Ma(e){var t=e.user,a=e.currentDevice,n=e.userActions,r=Object(d.useState)(Ha(t)),i=Object(Ye.a)(r,2),o=i[0],c=(i[1],Object(d.useState)(!1)),s=Object(Ye.a)(c,2),l=s[0],u=s[1],p=Object(d.useState)(!1),h=Object(Ye.a)(p,2),f=h[0],b=h[1],v=Object(w.path)(["macAddress"],a),g=Object(w.path)(["info","name"],a),y=Object(w.path)(["info","_id"],t),E=function(e){return new Promise(function(t){return setTimeout(t,e)})};function O(){return(O=Object(Jt.a)(Xt.a.mark(function e(){var t;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return b(!0),e.next=3,da(y,v,"kestrelmet-one-year-subscription");case 3:return t=e.sent,e.next=6,E(7e3);case 6:return e.next=8,n.refreshUser();case 8:b(!1),u(t);case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}var k=m.a.createElement("div",null,"In order to add a cellular plan for your station, you must first have a credit card on file.  Please return to your Account page and add one."),j=m.a.createElement("div",{className:"tiers"},m.a.createElement("div",{className:N()("tier","active")},m.a.createElement("div",{className:"top"},m.a.createElement("h3",null,Fa[0].label),m.a.createElement("h2",null,"$",Fa[0].price,"*"),m.a.createElement("button",{className:"btn btn-primary",disabled:!o||f,onClick:function(){return O.apply(this,arguments)}},"Purchase"),f?m.a.createElement(m.a.Fragment,null,m.a.createElement("br",null),m.a.createElement("br",null),m.a.createElement("p",null,"Please wait"),m.a.createElement(fe,null)):""),m.a.createElement("div",{className:"bottom"},m.a.createElement("div",{className:"group"},m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Station Name:"),m.a.createElement("div",{className:"val"},g)),m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"label"},"Station MAC:"),m.a.createElement("div",{className:"val"},v))),m.a.createElement("br",null),"* Plus tax as applicable by the laws of your state."))),D=m.a.createElement("div",null,m.a.createElement("h1",null,"You have successfully subscribed to a year of cellular service for your KestrelMet6000."),m.a.createElement("p",null,"You can cancel control auto-renewal at any time under your Accounts page."),m.a.createElement("p",null,"There may be a delay for payment processing before the plan is activated."));return m.a.createElement("div",{className:"payment-cell-plan-modal"},l?D:o?j:k)}Ca.displayName="AllPayments",Ia.defaultProps={},Ia.displayName="DeleteCard",Ta.defaultProps={},Ta.displayName="AddSubscription",Pa.defaultProps={},Pa.displayName="EnhancedCamModal",Ma.defaultProps={},Ma.displayName="CellPlanModal";var Ra=[{label:"Standard",timelapseRes:"640x320",price:"Free",regenRate:"4 times per day",banner:"Standard",sampling:"5 minutes",storage:"1 day",mapIcon:"Standard",productName:"",term:"both"},{label:"Silver Monthly",price:"$4.99/month",timelapseRes:"1280x720",regenRate:"6 times per day",banner:"HD",sampling:"3 minutes",storage:"30 days",mapIcon:"Silver",productName:"awn-camera-tier1-monthly",term:"monthly"},{label:"Silver Annual",price:"$49.99/year",timelapseRes:"1280x720",regenRate:"6 times per day",banner:"HD",sampling:"3 minutes",storage:"30 days",mapIcon:"Silver",productName:"awn-camera-tier1-yearly",term:"yearly"},{label:"Gold Monthly",price:"$9.99/month",timelapseRes:"1920x1080",regenRate:"8 times per day",banner:"Full HD",sampling:"3 minutes",storage:"60 days",mapIcon:"Gold",productName:"awn-camera-tier2-monthly",term:"monthly"},{label:"Gold Annual",price:"$99.99/year",timelapseRes:"1920x1080",regenRate:"8 times per day",banner:"Full HD",sampling:"3 minutes",storage:"60 days",mapIcon:"Gold",productName:"awn-camera-tier2-yearly",term:"yearly"}],La=Object(w.pluck)("productName",Ra),Fa=[{productName:"kestrelmet-one-year-subscription",label:"KestrelMet Standard 1 Year Cellular Plan",price:49.99,SKU:281055},{productName:"kestrelmet-three-year-subscription",label:"KestrelMet Standard 3 Year Cellular Plan",price:150,SKU:281057},{productName:"kestrelmet-pro-one-year-subscription",label:"KestrelMet Pro 1 Year Cellular Plan",price:120,SKU:281053},{productName:"kestrelmet-pro-three-year-subscription",label:"KestrelMet Pro 3 Year Cellular Plan",price:360,SKU:281058}],Ua=function(e){return"NK_KestrelMet6000"===Object(w.path)(["lastData","stationtype"],e)},Wa=Object(w.curry)(function(e,t){return(Object(w.path)(["info","payments","subscriptions"],e)||[]).filter(function(e){return e.macAddress===t}).filter(function(e){return t=e.productName,Fa.find(function(e){return e.productName===t});var t}).length>0}),Ha=(Object(w.path)(["info","payments"]),Object(w.path)(["info","payments","defaultPaymentMethod"])),Ba=Object(w.curry)(function(e,t){return(Object(w.path)(["info","payments","subscriptions"],e)||[]).find(function(e){return e.macAddress===t})}),Ya=Object(w.curry)(function(e,t,a){return(Object(w.path)(["info","payments","subscriptions"],e)||[]).filter(function(e){return e.macAddress===t}).find(function(e){return e.productName===a})}),Ga=Object(w.curry)(function(e,t){var a=Ra.length-1,n=Object(w.reverse)(La).findIndex(function(a){return Ya(e,t,a)});return n>-1?a-n:0}),za=Object(w.curry)(function(e,t){var a=Ga(e,t);return Object.assign({tier:a},Ra[a])}),Ka=Object(w.curry)(function(e,t,a){var n=(Object(w.path)(["info","payments","subscriptions"],e)||[]).filter(function(e){return e.macAddress===t}).find(function(e){return e.productName===a});return n?n.status:""});function qa(e){var t=e.user,a=e.device,n=e.userActions,r=Object(d.useState)([]),i=Object(Ye.a)(r,2),o=i[0],c=i[1],s=Object(w.path)(["info","payments","subscriptions"],t)||[],l=Object(w.path)(["devices"],a)||[],u=!1;s.length>0&&(u=!0);var p=m.a.createElement("tr",null,m.a.createElement("td",{colspan:"6"},"You currently have no subscriptions."));return Object(d.useEffect)(function(){n.refreshUser()},[n]),m.a.createElement("div",{className:"payment-display-subscription"},m.a.createElement("div",{className:"aw-fields"},m.a.createElement("table",null,m.a.createElement("thead",null,m.a.createElement("th",null,"Station MAC"),m.a.createElement("th",null,"Product"),m.a.createElement("th",null,"Price"),m.a.createElement("th",null,"Status"),m.a.createElement("th",null,"Expires"),m.a.createElement("th",null,"Auto-renew")),m.a.createElement("tbody",null,l.map(function(e,a){var r=Object(w.path)(["macAddress"],e);if(!(Ua(e)&&!Wa(t,r)))return null;u=!0;var i=e;return m.a.createElement("tr",{key:a},m.a.createElement("td",null,r),m.a.createElement("td",null,"KestrelMet Standard 1 Year Subscription"),m.a.createElement("td",null,"$49.99"),m.a.createElement("td",null,"--"),m.a.createElement("td",null,"--"),m.a.createElement("td",null,m.a.createElement("button",{onClick:function(){return n.doModal({type:"cell-plan",data:{currentDevice:i}})},className:"btn btn-primary btn-lg"},"Add Plan")))}),s.map(function(e,a){var r,i=Object(w.path)(["items","data"],e);i&&(r=i[0]);var s=Object(w.path)(["price","unit_amount"],r),l="n/a";s&&(l="$"+s/100);var u=m.a.createElement(Oa.a,{onChange:Object(Jt.a)(Xt.a.mark(function r(){var i,s;return Xt.a.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return c([].concat(Object(ct.a)(o),[a])),i=!e.cancelAtPeriodEnd,r.next=4,ta("/subscriptions?userId=".concat(Object(w.path)(["info","_id"],t),"&macAddress=").concat(e.macAddress,"&productName=").concat(e.productName),{method:"PUT",body:JSON.stringify({cancel_at_period_end:i}),headers:{"Content-Type":"application/json"}});case 4:return r.sent,(s=Object.assign({},t.info)).payments.subscriptions[a].cancelAtPeriodEnd=i,r.next=9,n.refreshUser(s);case 9:c(o.filter(function(e){return e!==a}));case 10:case"end":return r.stop()}},r)})),checked:!e.cancelAtPeriodEnd});return o.includes(a)?u=m.a.createElement(fe,null):(o.length>0||"active"!==e.status)&&(u=m.a.createElement("div",{className:"placeholder"})),m.a.createElement("tr",{key:a},m.a.createElement("td",null,e.macAddress),m.a.createElement("td",null,e.nickname),m.a.createElement("td",null,l),m.a.createElement("td",null,e.status.charAt(0).toUpperCase()+e.status.slice(1)),m.a.createElement("td",null,moment(1e3*e.currentPeriodEnd).format("MMM, D, YYYY")),m.a.createElement("td",{className:"switch"},u))}),u?"":p))))}var Va=ae(qa);function $a(e){var t=e.user,a=Object(w.path)(["info","_id"],t);Object(w.path)(["info","payments","subscriptions"],t);return m.a.createElement("div",{className:"payment-manage-subscriptions block"},m.a.createElement("h2",null,"Manage Subscriptions"),m.a.createElement("br",null),m.a.createElement("br",null),m.a.createElement("h3",null,"Credit Card on File"),m.a.createElement("p",null,"This card will be used if you choose the auto-renew option for any of your subscriptions."),m.a.createElement(ya,{user:t}),m.a.createElement(xa,{userId:a,mode:"file"}),m.a.createElement("h3",{id:"subscriptions"},"Your Subscriptions"),m.a.createElement("p",null,"Cancel your subscription at any time by turning off auto-renew.  You can turn auto-renew back on any time before the subscritpion expires."),m.a.createElement("div",{className:"subscription-list"},m.a.createElement(Va,null)))}qa.defaultProps={},qa.displayName="DisplaySubscription",$a.defaultProps={},$a.displayName="ManageSubscriptions";var Qa=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={emailEdit:!1,email:"",passEdit:!1,password:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this,t=this.props,a=t.user,n=t.userActions,r=t.device,i=(Object(w.path)(["devices"],r),this.state),o=i.password,c=i.passEdit,s=i.emailEdit,l=i.email,u=a.patchPending,d=u&&Object(w.contains)("image",u),p=[];if(Object(w.path)(["info","confirmKey"],a)){var h=a.sendConfirmationSucceeded?m.a.createElement("b",null,"Confirmation Sent!"):m.a.createElement("a",{className:"btn btn-primary",onClick:function(){n.sendConfirmation({user:a.info._id,confirmKey:!0})}},"Resend");p.push(m.a.createElement("span",{key:1,className:"warning"},m.a.createElement("span",null,a.info.email," is not yet confirmed. "),h))}else p.push(m.a.createElement("span",{key:1},a.info.email));p.push(m.a.createElement("a",{key:3,className:"edit",onClick:function(){return e.setState({emailEdit:!0})}},"Edit"));var f=m.a.createElement("form",{onSubmit:function(t){t.preventDefault(),n.patch(a.info._id,{email:l,confirmKey:Object(O.guid)()}).then(function(){n.sendConfirmation({user:a.info._id,confirmKey:!0}),e.setState({email:"",emailEdit:!1})})}},m.a.createElement("input",{type:"email",value:l,placeholder:"New Email",onChange:function(t){return e.setState({email:t.target.value.toLowerCase()})}}),m.a.createElement("div",{className:"mt"},m.a.createElement("input",{type:"submit",className:"btn btn-primary",value:"Save",disabled:!Object(O.goodEmail)(l)}),m.a.createElement("a",{className:"btn btn-default",onClick:function(){return e.setState({emailEdit:!1,email:""})}},"Cancel"))),b=m.a.createElement("form",{onSubmit:function(t){t.preventDefault(),o&&n.patch(a.info._id,{password:o}).then(function(){return e.setState({passEdit:!1})})}},m.a.createElement(Ce,{onChange:function(t){return e.setState({password:t.password})}}),m.a.createElement("div",{className:"mt"},m.a.createElement("input",{disabled:!o,type:"submit",className:"btn btn-primary",value:"Save"}),m.a.createElement("a",{className:"btn btn-default",onClick:function(){return e.setState({passEdit:!1})}},"Cancel"))),v=m.a.createElement("div",null,"***",m.a.createElement("a",{className:"edit",onClick:function(){return e.setState({passEdit:!0})}},"Edit")),g=Object(O.isCordova)()?"":m.a.createElement(zr,{className:"edit",pickerOptions:{transformations:{crop:{aspectRatio:1,force:!0}}},onSuccess:function(e){n.patch(a.info._id,{image:e})}},"Edit"),y=Object(O.getUserSetting)("theme")(a)||{},E=["light","dark","auto"].map(function(e){return m.a.createElement(De,{key:e,label:"auto"===e?"Automatically change with time of day":"".concat(Object(O.ucFirst)(e)," Mode"),selected:y.theme===e||!y.theme&&"light"===e,onClick:function(){n.updateSetting("theme",{theme:e})}})});"auto"===y.theme&&E.push(m.a.createElement("div",{key:"location",className:"choose-location"},m.a.createElement("h5",null,"My Location"),m.a.createElement(ai,{location:y.location,onChange:function(e){n.updateSetting("theme",{location:e})}})));var k=Object(O.getUserSetting)("appStart")(a)||{},j=null,N=Object(w.path)(["info","settings","info","phone"],a);return(N||"rw"===Object(w.path)(["info","settings","home"],a))&&(j=m.a.createElement(m.a.Fragment,null,m.a.createElement("h3",null,"Contact Phone"),m.a.createElement("input",{type:"text",value:N,placeholder:"Contact Phone",onChange:function(e){return n.updateSetting("info",Object.assign({},Object(O.getUserSetting)("info")(a),{phone:e.target.value.toLowerCase()}))}}))),m.a.createElement("div",{className:"user-account"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"My Account")),m.a.createElement("div",{className:"page-body"},m.a.createElement("div",{className:"block"},m.a.createElement("h3",null,"Email"),s?f:p,m.a.createElement("p",null),m.a.createElement("h3",null,"Password"),c?b:v),m.a.createElement("div",{className:"block"},m.a.createElement("h3",null,"Handle"),m.a.createElement(kn,null),m.a.createElement("h3",null,"Avatar"),m.a.createElement(S,null),d?m.a.createElement(fe,null):g,j,Object(O.isCordova)()&&m.a.createElement("div",{className:"app-start"},m.a.createElement("h3",null,"App Start Page"),m.a.createElement("div",{className:"flex"},m.a.createElement(De,{label:"Dashboard",selected:!k.path||"/dashboard"===k.path,onClick:function(){n.updateSetting("appStart",{path:"/dashboard"})}}),m.a.createElement(De,{label:"Map",selected:"/"===k.path,onClick:function(){n.updateSetting("appStart",{path:"/"})}})))),m.a.createElement("div",{className:"block theme"},m.a.createElement("h3",null,"Theme"),E),a&&m.a.createElement($a,{user:a}),a&&a.info&&m.a.createElement(an,null),m.a.createElement("div",{className:"block"},m.a.createElement(Ln,null))))}}]),t}(d.Component),Xa=ae(Qa);Qa.displayName="Account";var Ja=a(328),Za=a.n(Ja),en=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={open:n.props.open||!1,val:""},n.handleInput=(a=n).handleInput.bind(a),n.lookForEscape=(a=n).lookForEscape.bind(a),n.toggleOpen=(a=n).toggleOpen.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"handleInput",value:function(e){var t=this.props.onChange,a=e.target.value;this.setState({val:a}),t&&t(a)}},{key:"lookForEscape",value:function(e){var t=this.props.onChange;27===e.keyCode&&(this.toggleOpen(),t&&t(""))}},{key:"toggleOpen",value:function(){var e=!this.state.open;this.setState({open:e}),e?this.refs.input.focus():(this.refs.input.blur(),this.setState({val:""}))}},{key:"componentDidMount",value:function(){Za.a.bind(["ctrl+s","ctrl+f"],this.toggleOpen)}},{key:"componentWillUnmount",value:function(){Za.a.unbind(["ctrl+s","ctrl+f"],this.toggleOpen)}},{key:"render",value:function(){var e=this.props.placeholder,t=void 0===e?"Enter Keyword":e,a=this.state,n=a.open,r=a.val,i="device-search-bar";return n&&(i+=" open"),m.a.createElement("div",{className:i},m.a.createElement("input",{className:"search",type:"text",ref:"input",value:r,onChange:this.handleInput,onKeyDown:this.lookForEscape,placeholder:t}),m.a.createElement("a",{tabIndex:"-1",onClick:this.toggleOpen,title:"Ctrl+S opens the search and Esc closes it"},m.a.createElement("i",{className:"glyphicon glyphicon-search"})))}}]),t}(d.PureComponent);en.displayName="SearchBar";var tn=function(e){function t(e){var a,n;Object(o.a)(this,t);var r=(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).props,i=r.user,c=r.u;n.handleName=(a=n).handleName.bind(a),n.getUser=(a=n).getUser.bind(a),n.createApiKey=(a=n).createApiKey.bind(a),n.doSave=Object(O.debounce)(n.doSave.bind(Object(He.a)(Object(He.a)(n))),500);var u=c||i.info;return n.state={api:u.api||{},showDevKeyBox:!1,description:""},n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidUpdate",value:function(){var e=this.state.api;this.props.user;e&&!Object(w.isEmpty)(e)||Object(w.isEmpty)(this.getUser().api)||this.setState({api:this.getUser().api})}},{key:"getUser",value:function(){var e=this.props,t=e.user;return e.u||t.info}},{key:"doSave",value:function(){var e=this,t=this.state.api,a=this.props.actions,n=this.getUser();a.patch(n._id,{api:t}).then(function(){e.setState({api:Object(w.map)(function(e){return delete e.description,e},t)})})}},{key:"handleName",value:function(e){var t=this;return function(a){var n=t.state.api;n[e].name=a.target.value,t.setState({api:Object(w.clone)(n)},t.doSave)}}},{key:"createApiKey",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"user",t=arguments.length>1?arguments[1]:void 0,a=this.state.api,n=void 0===a?{}:a;n[(Object(O.guid)()+Object(O.guid)()).replace(/-/g,"")]={type:e,name:"",description:t},this.setState({api:Object(w.clone)(n)},this.doSave)}},{key:"_createAppKey",value:function(){this.createApiKey("app",this.state.description),this.setState({showDevKeyBox:!1,description:""})}},{key:"render",value:function(){var e=this,t=this.props,a=(t.actions,t.u),n=this.state,r=n.description,i=n.api,o=n.showDevKeyBox,c="",s="";return Object(w.keys)(i).length>0&&(c=m.a.createElement("table",{className:"table table-striped"},m.a.createElement("thead",null,m.a.createElement("tr",null,m.a.createElement("th",null,"Label"),m.a.createElement("th",null,"API Key"),m.a.createElement("th",null))),m.a.createElement("tbody",null,Object(w.values)(Object(w.mapObjIndexed)(function(t,n){return m.a.createElement("tr",{key:n},m.a.createElement("td",null,m.a.createElement("input",{key:n,type:"text",placeholder:"Your Label",value:t.name,className:"editable-title",onChange:e.handleName(n)}),"app"===t.type?m.a.createElement("em",null,"(application key)"):""),m.a.createElement("td",null,n),m.a.createElement("td",null,"app"!==t.type||a?m.a.createElement("a",{className:"",onClick:function(){window.confirm("Are you sure?")&&(delete i[n],e.setState({api:Object(w.clone)(i)},e.doSave))}},m.a.createElement("i",{className:"glyphicon glyphicon-trash"})):""))},i))))),o&&(s=m.a.createElement("div",{className:"app-key-form"},m.a.createElement("h3",null,"Application Key"),m.a.createElement("p",null,"Please tell us a about the application you're building."),m.a.createElement("textarea",{value:r,onChange:function(t){return e.setState({description:t.target.value})}}),m.a.createElement("a",{className:"btn btn-primary",disabled:""===r,onClick:this._createAppKey.bind(this)},"Create Application Key"),m.a.createElement("a",{className:"btn nm",onClick:function(){return e.setState({showDevKeyBox:!1,description:""})}},"Nevermind"))),m.a.createElement("div",{className:"user-api-keys block"},m.a.createElement("h3",null,"API Keys",m.a.createElement("a",{className:"pull-right btn btn-primary",onClick:function(){e.createApiKey()}},"Create API Key"),a?m.a.createElement("a",{className:"pull-right btn btn-primary",onClick:function(){e.createApiKey("app")}},"Create Developer API Key"):""),a?"":m.a.createElement("p",null,"An API Key is used to securely connect your weather station to applications created by outside developers. We've listed a few of them ",m.a.createElement("a",{href:"https://ambientweather.com/faqs/question/view/id/1779/"},"here"),"."),c,a?"":m.a.createElement("p",{className:"gray"},m.a.createElement("b",null,"Developers:")," An Application Key is also required for each application that you develop. ",m.a.createElement("a",{onClick:function(){return e.setState({showDevKeyBox:!0})}},"Click here")," to create one."),s)}}]),t}(d.PureComponent),an=g(tn);tn.displayName="ApiKeys",tn.displayName="ApiKeys",tn.displayName="ApiKeys",tn.displayName="ApiKeys",tn.displayName="ApiKeys",tn.displayName="ApiKeys",tn.displayName="ApiKeys";var nn=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={roles:e.u.roles},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_webcam",value:function(e){if(!e.webcam)return null;var t=this.props,a=t.userActions,n=t.deviceActions,r=t.u,i=za({info:r},e.macAddress);console.log("camTierObj",i);var o=null;if(i.tier<1){var c=function(t){return function(){if(window.confirm("Grant Free tier ".concat(t,"?"))){var n=r.payments||{};n.subscriptions=n.subscriptions||[],n.subscriptions.push({productName:"awn-camera-tier".concat(t,"-monthly"),macAddress:e.macAddress,status:"free",stationId:e._id,created:Math.floor(Date.now()/1e3)}),a.patch(r._id,{payments:n})}}};o=m.a.createElement("div",null,m.a.createElement("button",{className:"btn btn-primary",onClick:c(1)},"Grant Free Tier 1"),m.a.createElement("button",{className:"btn btn-primary",onClick:c(2)},"Grant Free Tier 2"))}var s=null;return"free"===Ka({info:r},e.macAddress,i.productName)&&(s=m.a.createElement(m.a.Fragment,null,"\u2b50\ufe0f FREE! \u2b50\ufe0f \xa0",m.a.createElement("button",{className:"btn",onClick:function(){if(window.confirm("Remove Free Tier?")){var t=r.payments||{};t.subscriptions=t.subscriptions||[],t.subscriptions=Object(w.filter)(function(t){return t.macAddress!==e.macAddress&&/camera/.test(t.productName)},t.subscriptions),a.patch(r._id,{payments:t})}}},"Remove Free Tier"))),m.a.createElement("div",null,m.a.createElement(Ko,{currentDevice:e}),m.a.createElement("div",null,e.webcam.public?"public":"private"),m.a.createElement("label",null,m.a.createElement("input",{type:"checkbox",checked:e.webcam.approved,onChange:function(t){n.patch(e._id,{webcam:Object.assign({},e.webcam,{approved:t.target.checked})}),n.patch(e._id,{rank:t.target.checked?2.1:0})}}),"Approved"),m.a.createElement("label",null,"Cam Tier: ",i.label," ",s),o)}},{key:"render",value:function(){var e,t=this,a=this.props,n=a.device,r=a.u,i=a.userActions,o=a.deviceActions,c=a.user,s=o.setDashboardDevice,l=o.setDeviceI,u=o.fetchDevices,d=o.patch,p=i.becomeUser,h=n.allDevices,f=this.state.roles,b=h&&Object(w.filter)(Object(w.propEq)("userId",r._id),h),v=Object(O.fmtzDate)("MMM Do YYYY");b&&b.length>0&&(e=b.map(function(e){return m.a.createElement("div",{className:"device",key:e._id},m.a.createElement("label",null,m.a.createElement("input",{type:"checkbox",checked:e.active,onChange:function(){return d(e._id,{active:!e.active})}}),"\xa0",Object(O.getDeviceLabel)(e)," - ",e.macAddress),e.public?m.a.createElement(E.a,{className:"dashboard-link",to:Object(O.getDeviceSharePath)(e)},"dashboard"):null,t._webcam(e))}));var g="";return c.info._id!==r._id&&(g=m.a.createElement("a",{className:"btn btn-primary",onClick:function(){c.adminImpersonation&&c.adminImpersonation._id===r._id?window.location.reload():(l(0),s(!1),p(r),u())}},"Become")),m.a.createElement("div",{className:"user-user-card"},m.a.createElement("div",{className:"top"},m.a.createElement(S,{u:r}),m.a.createElement("div",{className:"name"},r.email,m.a.createElement("div",{className:"details"},"Created: ",v(r.createdAt)),m.a.createElement("div",{className:"roles"},["user","admin","social","dev"].map(function(e){return m.a.createElement("label",{className:"role",key:e},e,m.a.createElement("input",{type:"checkbox",checked:Object(w.contains)(e,f),onChange:function(a){var n=Object(w.contains)(e,f)?Object(O.removeFromArr)(e,f):Object(w.append)(e,f);t.setState({roles:n}),i.patch(r._id,{roles:n})}}))}))),g),m.a.createElement("div",{className:"bottom"},e,m.a.createElement(an,{u:r})))}}]),t}(d.PureComponent),rn=ae(nn);nn.displayName="UserCard";var on=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.message,a=e.link,n=e.children,r=e.className,i=[];return a&&("string"===typeof a?i.push(m.a.createElement("a",{key:"link",target:"_blank",href:a},"more info")):i.push(m.a.createElement("a",{key:"link",target:"_blank",href:a.link},a.text))),m.a.createElement("div",{className:N()("device-alert-banner",{hide:!t},r)},m.a.createElement("span",null,t),m.a.createElement("div",{className:"btns"},i,n))}}]),t}(d.PureComponent);on.displayName="AlertBanner",on.displayName="AlertBanner",on.displayName="AlertBanner",on.displayName="AlertBanner",on.displayName="AlertBanner",on.displayName="AlertBanner",on.displayName="AlertBanner";var cn=a(100),sn=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={rand:"hi",q:"",whitelist:"",stats:{},alertObj:{}},n.alertObjFetched=!1,n.fetchDevices=(a=n).fetchDevices.bind(a),n.downloadCsv=(a=n).downloadCsv.bind(a),n.appendWhitelist=(a=n).appendWhitelist.bind(a),n.doSearch=Object(O.debounce)(n.doSearch.bind(Object(He.a)(Object(He.a)(n))),300),n.doAlertSave=Object(O.debounce)(n.doAlertSave.bind(Object(He.a)(Object(He.a)(n))),500),n.autoColon=(a=n).autoColon.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this;return this.fetchUsers(),cn(Object(O.getUrl)()+"/misc/admin/stats").then(function(e){return e.json()}).then(function(t){e.setState({stats:t})})}},{key:"componentDidUpdate",value:function(e){var t=this.props,a=t.user,n=t.history;Object(O.pathsChanged)(this.props,e,[["user","userChecked"]])&&(Object(O.isLoggedIn)(a)||Object(O.isAdmin)(a)||n.replace("/dashboard")),this.fetchUsers()}},{key:"doAlertSave",value:function(){var e=this.state.alertObj;Mt.a.service("siteStats").patch(this.alertObjFetched,{body:e})}},{key:"autoColon",value:function(e){return 12===e.length&&/^30/.test(e)&&/^[0-9a-fA-F]+$/.test(e)?Object(w.pipe)(w.toUpper,Object(w.splitEvery)(2),Object(w.join)(":"))(e):e}},{key:"doSearch",value:function(e){var t=this,a=this.props,n=a.userActions,r=a.deviceActions;if(!(e.length<3)){n.clearUsers();var i=this.autoColon(e);Object(w.test)(/:/,i)?r.fetchAllDevices({macAddress:{$regex:"^".concat(i.toUpperCase())},$limit:1e3}).then(function(){var e=t.props.device.allDevices;e&&e.length>0&&n.fetchUsers({_id:{$in:Object(w.pluck)("userId",e)},$limit:1e3})}):n.fetchUsers({email:{$regex:"^".concat(i)},$limit:1e3}).then(function(){var e=t.props.user.users;e&&e.length>0&&r.fetchAllDevices({userId:{$in:Object(w.pluck)("_id",e)},$limit:1e3})})}}},{key:"appendWhitelist",value:function(){var e=this,t=this.props.deviceActions,a=Object(w.pipe)(Object(w.split)("\n"),Object(w.filter)(w.identity))(this.state.whitelist);t.updateDeviceData("whitelist",a,{}).then(function(){return e.setState({whitelist:""})})}},{key:"fetchDevices",value:function(){var e=this,t=this.props.deviceActions;return function(a){t.fetchDevices(a).then(function(){return e.setState({rand:Math.random()})})}}},{key:"fetchUsers",value:function(){var e=this,t=this.props,a=(t.deviceActions,t.userActions,t.user),n=t.history,r=t.alert,i=t.device;t.alertActions,a.fetchUsersPending,a.users,r.fetchIftttAlertsPending,r.iftttAlerts,i.fetchAllDevicesPending,i.allDevices;Object(O.isLoggedIn)(a)&&!Object(O.isAdmin)(a)&&n.replace("/dashboard"),Object(O.isLoggedIn)(a)&&!this.alertObjFetched&&(this.alertObjFetched=!0,Mt.a.service("siteStats").find({query:{key:"aw"===Object(Ve.e)().token?"alert":"alert-".concat(Object(Ve.e)().token)}}).then(function(t){e.alertObjFetched=t.data[0]._id,e.setState({alertObj:t.data[0].body||{}})}))}},{key:"downloadCsv",value:function(){var e=this.props.user.users,t="data:text/csv;charset=utf-8,"+Object(w.pluck)("email",e).join("\n"),a=document.createElement("a");a.setAttribute("href",encodeURI(t)),a.setAttribute("download","ambient-weather-net-users.csv"),document.body.appendChild(a),a.click()}},{key:"render",value:function(){var e=this,t=this.state,a=t.alertObj,n=(t.q,t.whitelist),r=t.stats,i=this.props,o=i.user,c=i.device,s=i.alert,l=o.fetchUsersPending,u=o.users,d=c.fetchAllDevicesPending,p=(c.allDevices,s.iftttAlerts),h="";if(p){var f=Object(w.pipe)(Object(w.pluck)("userId"),w.uniq)(p);h=m.a.createElement("div",null,m.a.createElement("i",{className:"ifttt"}),f.length," users / ",p.length," applets")}return u&&(Object(w.pipe)(Object(w.filter)(Object(w.path)(["oauth","alexa"])),w.length)(u),Object(w.pipe)(Object(w.filter)(Object(w.path)(["oauth","google-assistant"])),w.length)(u)),m.a.createElement("div",{className:"user-admin"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"Admin"),m.a.createElement("div",{className:"children"},m.a.createElement(en,{onChange:this.doSearch,placeholder:"Email or MAC Address",open:!0}))),m.a.createElement("div",{className:"banner-wrap"},m.a.createElement(on,a)),m.a.createElement("div",{className:"page-body"},m.a.createElement("div",{className:"block"},m.a.createElement("div",{className:"top-bar"},m.a.createElement("h3",null,"Users"),m.a.createElement("div",null,"Total:",u&&u.length>0?" "+u.length+" of ":"",r.users),m.a.createElement("div",null,"Devices: ",r.devices),h,m.a.createElement("div",null,m.a.createElement("i",{className:"alexa"}),r.al),m.a.createElement("div",null,m.a.createElement("i",{className:"google-assistant"}),r.ga)),d||l?m.a.createElement(fe,null):u.length>0?u.map(function(e,t){return m.a.createElement(rn,{key:t,u:e})}):""),m.a.createElement("div",{className:"alert-banner block"},m.a.createElement("h3",null,"Alert Banner"),m.a.createElement("input",{type:"text",value:a.message||"",placeholder:"message",onChange:function(t){a.message=t.target.value,e.setState({alertObj:a},e.doAlertSave)}}),m.a.createElement("input",{type:"text",value:a.link||"",placeholder:"more info link - http://...",onChange:function(t){a.link=t.target.value,e.setState({alertObj:a},e.doAlertSave)}}),m.a.createElement(De,{selected:a.active,onClick:function(){a.active=!a.active,e.setState({alertObj:a},e.doAlertSave)},label:"Live on the site?"})),m.a.createElement("div",{className:"block whitelist"},m.a.createElement("h3",null,"Whitelist",m.a.createElement("a",{className:"btn btn-primary",disabled:""===n,onClick:this.appendWhitelist},"Append")),m.a.createElement("textarea",{onChange:function(t){e.setState({whitelist:t.target.value})},value:n}))))}}]),t}(d.Component),ln=ae(Object(P.h)(sn));sn.displayName="Admin",sn.displayName="Admin",sn.displayName="Admin",sn.displayName="Admin",sn.displayName="Admin",sn.displayName="Admin",sn.displayName="Admin";var un=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={ok:!1,reset:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillMount",value:function(){var e=this.props,t=e.location,a=e.history,n=new URLSearchParams(t.search).get("key");t.search&&n||a.push("/"),this.setState({key:n})}},{key:"render",value:function(){var e=this,t=this.state,a=t.ok,n=t.key,r=t.reset,i=t.err,o=m.a.createElement("div",null,m.a.createElement("h1",null,"Reset your Password"),m.a.createElement(Ce,{onChange:function(t){return e.setState(t)}}),m.a.createElement("p",{className:"text-center"},m.a.createElement("input",{type:"submit",disabled:!a,name:"reset",className:"btn btn-primary"})));return r&&(o=m.a.createElement("div",null,m.a.createElement("h2",null,"Your password has been reset!"),m.a.createElement("p",null,m.a.createElement("b",null,m.a.createElement(E.a,{to:"/signin"},"Sign in")," to try it out.")))),i&&(o=m.a.createElement("p",null,"Something went wrong.")),m.a.createElement("div",{className:"user-password-reset form-center"},m.a.createElement("form",{onSubmit:function(t){var a=e.state.password;t.preventDefault(),Mt.b.resetPwdLong(n,a).then(function(){return e.setState({reset:!0})}).catch(function(){return e.setState({err:!0})})}},o))}}]),t}(d.Component),dn=Object(P.h)(un);un.displayName="PasswordReset",un.displayName="PasswordReset",un.displayName="PasswordReset",un.displayName="PasswordReset",un.displayName="PasswordReset",un.displayName="PasswordReset",un.displayName="PasswordReset";var mn=function(e){return m.a.createElement("div",{key:e,className:"line"},e)},pn=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).fetchData=(a=n).fetchData.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"fetchData",value:function(){var e=this.props,t=e.userActions,a=e.user,n=a.fetchUsersPending,r=a.users;!a.fetchAlexaDataPending&&a.alexaData.length<1&&t.fetchAlexaData(),n||r||t.fetchUsers({$limit:4e3})}},{key:"componentDidMount",value:function(){this.fetchData()}},{key:"componentDidUpdate",value:function(){this.fetchData()}},{key:"userAvatar",value:function(e){var t=this.props.user.users,a=t&&Object(w.find)(Object(w.propEq)("_id",e.userId),t);return a?m.a.createElement(S,{u:a}):""}},{key:"alexaCard",value:function(e){this.props.user.users;var t={};t.intent=Object(w.path)(["request","intent","name"],e),["deviceParam","device","timeRange"].forEach(function(a){t[a]=Object(w.path)(["request","intent","slots",Object(O.capitalizeFirstLetter)(a),"value"],e)});var a=Object(w.pipe)(Object(w.mapObjIndexed)(function(e,t){return!!e&&t+": "+e}),Object(w.filter)(w.identity),w.values,Object(w.map)(mn))(t),n=Object(w.path)(["response","response","outputSpeech","ssml"],e)||"";return m.a.createElement("div",{className:"intent",key:e._id},this.userAvatar(e),Object(O.formatDate)(!1,new Date(e.request.timestamp)),m.a.createElement("i",{className:"alexa"}),m.a.createElement("br",null),a,m.a.createElement("div",{className:"output"},n.replace(/<\/?speak>/g,"")))}},{key:"googleCard",value:function(e){var t=["intent: "+e.result.metadata.intentName,"utterance: "+e.result.resolvedQuery];return t=Object(w.pipe)(w.toPairs,Object(w.filter)(Object(w.pipe)(Object(w.nth)(1),Object(w.equals)(""),w.not)),Object(w.map)(function(e){return e[0]+": "+e[1]}),Object(w.concat)(t))(e.result.parameters),m.a.createElement("div",{className:"intent",key:e._id},this.userAvatar(e),Object(O.formatDate)(!1,new Date(e.request.timestamp)),m.a.createElement("i",{className:"google-assistant"}),m.a.createElement("br",null),t.map(mn),m.a.createElement("div",{className:"output"},e.response.replace(/<\/?speak>/g,"")))}},{key:"render",value:function(){var e=this,t=this.props.user.alexaData.map(function(t){return t.originalRequest?e.googleCard(t):e.alexaCard(t)});return m.a.createElement("div",{className:"user-admin-alexa"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"Alexa")),m.a.createElement("div",{className:"page-body"},m.a.createElement("div",{className:"block"},m.a.createElement("h3",null,"Recent Commands"),t)))}}]),t}(d.Component),hn=ae(pn);pn.displayName="AdminAlexa",pn.displayName="AdminAlexa",pn.displayName="AdminAlexa",pn.displayName="AdminAlexa",pn.displayName="AdminAlexa",pn.displayName="AdminAlexa",pn.displayName="AdminAlexa";var fn=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={currentNotificationLocation:!1,lastNotificationTime:Object(O.getStorage)("lastNotificationTime")},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.match,a=e.history;/index\.html/.test(t.url)&&a.push("/"),window.addEventListener("resize",this._resize.bind(this)),this._socialPrompt()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this._resize.bind(this))}},{key:"componentDidUpdate",value:function(e){var t=this;if(Object(O.isLoggedIn)(this.props.user)&&!Object(O.isLoggedIn)(e.user)&&Object(O.isCordova)()){var a=Object(O.getUserSetting)("appStart")(this.props.user)||{};a.path&&"/dashboard"!==a.path||this.props.history.push("/dashboard")}if(Object(O.isLoggedIn)(this.props.user)&&!Object(O.isLoggedIn)(e.user)&&"km"===Object(Ve.e)().token&&this.props.history.push("/dashboard"),Object(O.isLoggedIn)(this.props.user)||"km"!==Object(Ve.e)().token||this.props.history.push("/welcome"),Object(O.pathsChanged)(this.props,e,[["common","mapLocation"],["user","userChecked"],["device","devices"]])&&this._socialPrompt(),Object(O.pathsChanged)(this.props,e,[["social","allPosts"]])){var n=Object(O.postsSort)(Object(O.activePosts)(this.props.social.allPosts)).find(function(e){return e.text&&"boosted"===e.status}),r=(Object(O.getStorage)("postsNotified")||[]).filter(function(e){return e.time>Date.now()-864e5}),i=r.map(function(e){return e.id});n&&!i.includes(n._id)&&(Object(O.setStorage)("postsNotified",[].concat(Object(ct.a)(r),[{time:Date.now(),id:n._id}])),I.store.addNotification(this._notificationOpts({message:m.a.createElement(jo,{layerParam:"social",post:n,currentDevice:{_id:n.deviceId},onClick:function(e){Object(O.isLtBreakpoint)("phone-max")?t.props.history.push("/social#"+n._id):(t.props.deviceActions.focusDevice(e),t.props.deviceActions.setSidebar(!0))}}),type:"info",dismiss:{duration:2e4,showIcon:!1}})))}}},{key:"_notificationOpts",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(i.a)({},e,{insert:Object(ut.D)("phone-max")?"bottom":"top",container:Object(ut.D)("phone-max")?"bottom-right":"top-left",animationIn:["animate__animated","animate__fadeIn"],animationOut:["animate__animated","animate__fadeOut"]})}},{key:"_socialPrompt",value:function(){var e=this.props,t=e.user,a=e.device,n=e.common,r=e.userActions,i=n.mapLocation,o=this.state,c=o.currentNotificationLocation,s=o.lastNotificationTime;if(Object(O.userCanSocialPost)(t,a)){var l=Object(w.path)(["location"],i);if(l&&l!==c&&(!s||s<Date.now()-36e6)){var u=["How about this weather we're having?","What do you like best about today's weather?","Take a picture of the sky and share your weather conditions \ud83d\udcf8","What activities do you like to do in this weather?","What does your weekend forecast look like?","How do people ask about the weather in your neck of the woods?"],d=u[Math.floor(Math.random()*u.length)];I.store.addNotification(this._notificationOpts({id:"how_about_this_weather",message:m.a.createElement("a",{onClick:function(){r.doModal({type:"create-post",data:{prompt:d}})}},d),type:"default",dismiss:{duration:15e3,onScreen:!0}})),Object(O.setStorage)("lastNotificationTime",Date.now()),this.setState({currentNotificationLocation:l,lastNotificationTime:Date.now()})}}}},{key:"_resize",value:function(){this.setState({rand:Math.random()})}},{key:"render",value:function(){var e=this.props,t=e.user,a=e.device;return m.a.createElement("div",{className:N()("user-home-page",{"social-ok":Object(O.userCanSocialPost)(t,a)})},Object(O.isLtBreakpoint)("phone-max")?m.a.createElement(Tn,null):m.a.createElement(m.a.Fragment,null,m.a.createElement(On,null),m.a.createElement(wr,null),m.a.createElement(Qo,null)))}}]),t}(d.Component),bn=ae(Object(P.h)(fn));fn.displayName="HomePage";var vn=Object(h.c)(b,function(e){return{actions:Object(p.b)(Object(i.a)({},r),e)}}),gn=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){Object(O.getUrlQueryParam)(this.props.location,"macAddress")&&this.props.history.push("/devices"+this.props.location.search)}},{key:"render",value:function(){var e=this.props.social.fetchUserActionsPendingDataKeys;return console.log(e),console.log(e.includes("favs")),m.a.createElement("div",{className:"user-where-to"},m.a.createElement("div",{className:"wrap"},m.a.createElement("h1",null,"Do you have a device to add?"),Object(Ve.e)().sharePublicly&&m.a.createElement("a",{href:"https://www.amazon.com/stores/page/EAA7AF90-380A-4AEA-A8A9-F4E0368510BB",target:"_blank"},m.a.createElement("img",{src:"https://ambientweather.net/ambient-cta.jpg"})),m.a.createElement(E.a,{to:"/devices",className:"btn btn-primary btn-long"},"Add Device"),!e.includes("favs")&&m.a.createElement(E.a,{to:"/dashboard"},"Continue to Dashboard"),m.a.createElement(Cr,null),m.a.createElement(Nr,{currentDevice:{_id:"use this to load our favs"}})))}}]),t}(d.Component),yn=vn(Object(P.h)(gn));gn.displayName="WhereTo",gn.displayName="WhereTo";var En=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_onClick",value:function(e){var t=this.props.actions;return function(){t.setUnits(e)}}},{key:"render",value:function(){var e=this.props.user.userUnits;return m.a.createElement("div",{className:"user-metric-chooser"},m.a.createElement("a",{className:N()({active:!e}),onClick:this._onClick(!1)},"F\xb0"),m.a.createElement("a",{className:N()({active:e}),onClick:this._onClick("metric")},"C\xb0"))}}]),t}(d.PureComponent),On=g(En);En.displayName="MetricChooser",En.displayName="MetricChooser",En.displayName="MetricChooser",En.displayName="MetricChooser",En.displayName="MetricChooser",En.displayName="MetricChooser",En.displayName="MetricChooser";var wn=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={open:!0,username:"",ok:!1},a._checkUnique=Object(O.debounce)(a._checkUnique.bind(Object(He.a)(Object(He.a)(a))),500),a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this._checkExistingUsername()}},{key:"componentDidUpdate",value:function(e,t){var a=this.props.onChange;Object(O.pathsChanged)(this.state,t,[["username"]])&&this._checkUnique(),Object(O.pathsChanged)(this.state,[["ok"],["username"]])&&a&&a(Object(w.pick)(["ok","username"],this.state)),Object(O.pathsChanged)(this.props,e,[["user","info","username"]])&&this._checkExistingUsername()}},{key:"_checkExistingUsername",value:function(){var e=this.props.user,t=Object(w.path)(["info","username"],e);t&&this.setState({username:t,open:!1})}},{key:"_isMyUsername",value:function(){return Object(w.path)(["info","username"],this.props.user)===this.state.username}},{key:"_checkUnique",value:function(){var e=this,t=this.props,a=t.actions,n=(t.user,this.state.username);if(n.length<5)return this.setState({ok:!1,message:"Too short"});this._isMyUsername()||(this.setState({loading:!0,ok:!1}),a.fetchUsers({$select:["username"],username:n,$limit:1}).then(function(t){var a=!t[0].exists,n={loading:!1,ok:a};a&&(n.message="It's available!"),e.setState(n)}))}},{key:"render",value:function(){var e=this,t=this.props,a=t.actions,n=t.user,r=t.hideSave,i=this.state,o=i.open,c=i.username,s=i.message,l=i.loading,u=i.ok,d=n.info,p=null;return this._isMyUsername()?p=m.a.createElement("a",{className:"edit",onClick:function(){return e.setState({open:!1})}},"Close"):l?p=m.a.createElement(fe,null):s&&(p=m.a.createElement("div",{className:N()("message",{ok:u})},s)),m.a.createElement("span",{className:N()("user-username-edit",{open:o})},m.a.createElement("span",{className:"user-label"},m.a.createElement("span",null,c),m.a.createElement("a",{className:"edit",onClick:function(){return e.setState({open:!0})}},"Edit")),m.a.createElement("div",{className:"form"},m.a.createElement("input",{type:"text",onChange:function(t){var a=t.target.value,n=a.replace(/[^A-Za-z0-9_]/g,"");n.length!==a.length&&(e.setState({message:"Only letters, numbers and underscores are allowed"}),e._checkUnique(),setTimeout(function(){e.setState({message:"",messageClass:""})},4e3)),e.setState({username:n,ok:!1})},className:"form-control",value:c,placeholder:"weather_influencer4000"}),u&&!r?m.a.createElement("button",{className:"btn btn-primary",onClick:function(){a.patch(d._id,{username:c})}},"Save"):null,p))}}]),t}(d.PureComponent),kn=g(wn);wn.displayName="UsernameEdit",wn.displayName="UsernameEdit",wn.displayName="UsernameEdit",wn.displayName="UsernameEdit",wn.displayName="UsernameEdit",wn.displayName="UsernameEdit",wn.displayName="UsernameEdit";var jn=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={terms:!1,username:"",usernameOk:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this,t=this.props,a=t.onDone,n=t.user,r=t.actions,i=this.state,o=i.username,c=i.terms,s=i.usernameOk;return m.a.createElement("div",{className:"user-create-username-modal"},m.a.createElement("h2",null,"Join the conversation,",m.a.createElement("br",null),"create your handle."),m.a.createElement("h4",null,"Handle ",m.a.createElement("small",null,"(min 5 characters)")),m.a.createElement(kn,{hideSave:!0,onChange:function(t){var a=t.username,n=t.ok;e.setState({username:a,usernameOk:n})}}),m.a.createElement("label",null,m.a.createElement("input",{checked:c,onChange:function(t){return e.setState({terms:t.target.checked})},type:"checkbox"})," ",m.a.createElement("a",{href:"https://help.ambientweather.net/help/image-and-text-guidelines/",target:"_blank"}," \xa0I agree to the community guidelines")),m.a.createElement("button",{disabled:!c||!s,className:"btn btn-primary",onClick:function(){r.patch(n.info._id,{username:o}),a&&a()}},"Create Handle"),m.a.createElement("p",{className:"small"},"Don't worry. You can change your handle later in your settings."))}}]),t}(d.PureComponent),Nn=g(jn);jn.displayName="CreateUsernameModal",jn.displayName="CreateUsernameModal",jn.displayName="CreateUsernameModal",jn.displayName="CreateUsernameModal",jn.displayName="CreateUsernameModal",jn.displayName="CreateUsernameModal",jn.displayName="CreateUsernameModal";var Dn=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={stats:[],page:1,commentPostIds:[]},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this._fetchStats()}},{key:"componentDidUpdate",value:function(e){var t=this.props,a=t.user,n=t.history;Object(O.pathsChanged)(this.props,e,[["user","userChecked"]])&&(Object(O.isLoggedIn)(a)||Object(O.isAdmin)(a)||n.replace("/dashboard"),this._fetchStats())}},{key:"_fetchStats",value:function(){var e=this,t=this.props,a=t.socialActions,n=t.user,r=this.state.page;n.userChecked&&(a.getPost("stats").then(function(t){var a=moment();e.setState({stats:Object(w.pipe)(Object(w.sort)(function(e,t){return e.year===t.year?e.day-t.day:e.year-t.year}),Object(w.reduce)(function(e,t){return e.length>0?t.year===a.year()&&t.day>moment().dayOfYear()?e:(t.all=Object(w.sum)([t.posts,t.likes,t.comments]),e.push(t),e.length>7&&(t.allAvg=Object(w.sum)(Object(w.pluck)("all",e.slice(-7)))/7,t.postsAvg=Object(w.sum)(Object(w.pluck)("posts",e.slice(-7)))/7,t.likesAvg=Object(w.sum)(Object(w.pluck)("likes",e.slice(-7)))/7,t.commentsAvg=Object(w.sum)(Object(w.pluck)("comments",e.slice(-7)))/7),e):t.posts<1?[]:[t]},[]),Object(w.map)(function(e){return e.dateutc=moment("".concat(e.year,"-").concat(e.day),"YYYY-DDD").valueOf(),e}),w.reverse)(t)})}),a.fetchUserActions({type:"comment",$limit:20,$skip:20*(r-1),$select:["to._id"],$sort:{createdAt:-1}}).then(function(t){e.setState({commentPostIds:Object(w.uniq)(t.data.map(function(e){return e.to._id}))})}))}},{key:"render",value:function(){var e=this.state,t=e.stats,a=e.commentPostIds;return m.a.createElement("div",{className:"user-admin-social"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"Social")),m.a.createElement("div",{className:"page-body"},["all","posts","likes","comments"].map(function(e){return m.a.createElement("div",{key:e},m.a.createElement("h3",null,Object(O.ucFirst)(e)),m.a.createElement(Di,{height:200,graphData:t,id:e,composed:!0,tooltipProps:{itemStyle:{color:"black"}}},m.a.createElement(he.a,{dataKey:e,type:"monotone",stroke:"#f5f5f5",strokeWidth:2,fill:"#f5f5f5",dot:!1,legendType:"circle",isAnimationActive:!0,name:e,connectNulls:!0,fillOpacity:"1"}),m.a.createElement(he.g,{dataKey:"".concat(e,"Avg"),type:"monotone",fill:"#2c9ce6",stroke:"#2c9ce6",dot:!1,legendType:"circle",isAnimationActive:!0,name:"7-day Avg",connectNulls:!0})))}),m.a.createElement("div",{className:"posts"},m.a.createElement("div",null,m.a.createElement("h3",null,"Most Recent Posts"),m.a.createElement(gt,null)),m.a.createElement("div",null,m.a.createElement("h3",null,"Posts with Recent Comments"),a.length>0&&m.a.createElement(gt,{postIds:a})))))}}]),t}(d.PureComponent),Sn=ae(Object(P.h)(Dn));Dn.displayName="AdminSocial",Dn.displayName="AdminSocial",Dn.displayName="AdminSocial",Dn.displayName="AdminSocial",Dn.displayName="AdminSocial",Dn.displayName="AdminSocial",Dn.displayName="AdminSocial";var An=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){return m.a.createElement("div",{className:"user-kmsupport"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"Support")),m.a.createElement("div",{className:"page-body"},m.a.createElement("h1",null,"KestrelMet 6000 Product Support"),m.a.createElement("div",{className:"prodSupport"},m.a.createElement("div",{className:"page-img"},m.a.createElement("br",null),m.a.createElement("center",null,m.a.createElement("img",{src:a(865)}))),m.a.createElement("div",{className:"videos"},m.a.createElement("h2",null,"Support Videos"),m.a.createElement("ul",null,m.a.createElement("li",null,m.a.createElement("a",{href:"https://vimeo.com/510354539",target:"_blank"},"Weather Station Setup Guide")),m.a.createElement("li",null,m.a.createElement("a",{href:"https://vimeo.com/499270640",target:"_blank"},"Mono mount installation")),m.a.createElement("li",null,m.a.createElement("a",{href:"https://vimeo.com/499799036",target:"_blank"},"Tripod mount installation")))),m.a.createElement("div",{className:"manuals"},m.a.createElement("h2",null,"Support Materials"),m.a.createElement("ul",null,m.a.createElement("li",null,m.a.createElement("a",{href:"https://kestrelinstruments.com/mwdownloads/download/link/id/1090/",target:"_blank"},"KestrelMet 6000 Cellular Weather Station Instruction Manual")),m.a.createElement("li",null,m.a.createElement("a",{href:"https://kestrelinstruments.com/help/battery-mode",target:"_blank"},"KestrelMet 6000 Battery Level, LED Indicator and Operating Modes")),m.a.createElement("li",null,m.a.createElement("a",{href:"https://kestrelmet.com/faqs/question/view/id/1265/",target:"_blank"},"KestrelMet 6000  Cellular Signal Optimization")),m.a.createElement("li",null,m.a.createElement("a",{href:"https://kestrelmet.com/faqs/question/view/id/3365/",target:"_blank"},"KestrelMet Soil Sensor Array Kit - Installation and Integration References"))))),m.a.createElement("br",null),m.a.createElement("br",null),m.a.createElement("h3",null,"For the full Kestrel Instruments product line or to contact our Customer service, please visit ",m.a.createElement("a",{href:"https://kestrelmet.com/",target:"_blank"},"KestrelMet.com"),".")))}}]),t}(d.Component);An.displayName="KmSupport";var _n=a(194),Cn=a.n(_n),xn=a(1028),In=function(e){var t=e.user,a=e.device,n=e.socialActions,r=e.social,i=e.deviceActions,o=e.userActions,c=a.sidebar,s=(a.focusDevice,r.allPosts,Object(nt.c)()),l=s.forecastOpen,u=s.setForecastOpen,p=Object(d.useState)(!1),h=Object(Ye.a)(p,2),f=h[0],b=h[1],v=Object(d.useRef)(),g=Object(at.c)().toggleAppClass,y=Object(d.useState)(!1),E=Object(Ye.a)(y,2),k=E[0],j=E[1],D=Object(tt.c)(),S=D.mapLocation,A=D.setMapLocation,_=Object(d.useState)(null),C=Object(Ye.a)(_,2),x=C[0],I=C[1],T=Object(d.useState)(null),P=Object(Ye.a)(T,2),M=P[0],R=P[1],L=Object(d.useState)(null),F=Object(Ye.a)(L,2),U=F[0],W=F[1],H=Object(d.useState)(!1),B=Object(Ye.a)(H,2),Y=B[0],G=B[1],z=Object(d.useCallback)(function(){i.setSidebar(!1),i.hoverDevice(!1),i.focusDevice(null)},[i]);Object(d.useEffect)(function(){return z(),Object(O.isCordova)()||(document.body.style.position="fixed"),document.body.style.height="100vh",document.body.style.width="100%",document.body.style.overflow="hidden",function(){document.body.style.position=null,document.body.style.height=null,document.body.style.width=null,document.body.style.overflow=null}},[z]),Object(d.useEffect)(function(){var e=Object(w.path)(["geo","coordinates"],x)&&!Object(ut.f)(x,S)&&f||!Object(w.path)(["geo","coordinates"],x)&&S&&!f;if(x||S||!Object(O.isCordova)()||Object(O.findMyLocation)().then(function(e){e&&I(e)}),e){var t=x||S;I(t),W(t.geo.coordinates),b(!1),A(t);var a={$publicNear:{coords:t.geo.coordinates},rank:2.1,$limit:3},r=[];i.fetchDevice(a).then(function(e){r=e.data.map(function(e){return e.info.coords.geo.coordinates});var a={geo:{$near:{$geometry:t.geo,$maxDistance:16e4}},status:{$in:["boosted","published"]},expiresAt:{$gte:Date.now()},$limit:3};return n.fetchPosts(a)}).then(function(e){e&&e.data.length>0&&(r=r.concat(e.data.map(function(e){return e.geo.coordinates})));var t=r.map(Object(w.nth)(0)),a=r.map(Object(w.nth)(1)),n=[[Math.min.apply(Math,Object(ct.a)(t)),Math.min.apply(Math,Object(ct.a)(a))],[Math.max.apply(Math,Object(ct.a)(t)),Math.max.apply(Math,Object(ct.a)(a))]];R(n)})}},[i,n,x,A,S,I,f]),Object(d.useEffect)(function(){g("search-mode",f),f&&z()},[f,g,z]),Object(d.useEffect)(function(){c&&b(!1)},[b,c]),Object(d.useEffect)(function(){!l&&v.current&&Object(ut.F)()&&setTimeout(function(){return v.current.resize()},300),i.setThing("forecastOpen",l),l||G(!1)},[l,v,i,G]);var K=Object(w.path)(["geo","coordinates"],S);if(!K)return null;var q=function(e){console.log(e),z(),Object(ut.f)(e,S)?(W(e.geo.coordinates),b(!1)):(W(!1),b(!0),I(e))};return m.a.createElement("div",{className:N()("user-mobile-home-page",{ios:Object(ut.F)(),search:f,focused:k&&!x,forecast:l,settings:Y})},m.a.createElement("a",{className:"back back-map",onClick:function(){u(!1)}},"Map"),m.a.createElement("a",{className:"back back-search",onClick:function(){Y?G(!1):(b(!1),z())}},"Back"),m.a.createElement(fr,{onMapLoad:function(e){v.current=e},onDeviceClick:function(e,t){i.hoverDevice(e),t.map._hoverDevice=null},onViewDashboardClick:function(){return console.log("hi")},coords:U,mapBounds:M,setSidebarCheck:function(e){return["social","webcam","alert","video","video-enhanced"].includes(e.features[0].layer.id)}}),m.a.createElement("a",{className:"search-btn",onClick:function(){I(null),b(!0),u(!1)}}),m.a.createElement(qe,{className:"find-my-location",onPlaceSelected:q}),m.a.createElement(xn.a,{in:f,timeout:400,classNames:"search-wrap"},m.a.createElement("div",{className:N()("search-wrap")},m.a.createElement(Cn.a,{shadowTip:!1,overlay:!1,overflowHeight:0,open:f,onChange:function(e){e||b(!1)}},m.a.createElement(qe,{key:"search",onClose:function(){return I(null)},onChange:function(e){j(""!==e)},onPlaceSelected:q})))),m.a.createElement(xn.a,{in:c,timeout:400,classNames:"sidebar-wrap"},m.a.createElement(Cn.a,{shadowTip:!1,overlay:!1,overflowHeight:0,open:c,onChange:function(e){e||z()}},m.a.createElement(Qo,null))),m.a.createElement(xn.a,{in:!f&&!c,timeout:400,classNames:"bottom-sheet-wrap"},m.a.createElement(m.a.Fragment,null,Y&&m.a.createElement(Pn,{user:t,userActions:o}),m.a.createElement(Gn,{open:l,onChange:u,onShowSettingsChange:G,update:!f&&!c,coords:K,onPlaceSelected:q}))))},Tn=ae(In);function Pn(e){var t=e.user,a=e.userActions,n=Object(O.getForecastParams)(t),r=Object(d.useState)(!1),i=Object(Ye.a)(r,2),o=i[0],c=i[1];return Object(d.useEffect)(function(){o&&setTimeout(function(){c(!1)},7e3)},[o]),Object(O.isLoggedIn)(t)?m.a.createElement("div",{className:"user-forecast-settings"},m.a.createElement("header",null,m.a.createElement("h1",null,"Customize your hourly weather details"),m.a.createElement("p",{className:N()("error",{flash:o})},"You must one have at least one forecast parameter enabled.")),Pn.settings.map(function(e){return m.a.createElement("label",{key:e},m.a.createElement("span",null,e),m.a.createElement(Oa.a,{onColor:"#2ec04f",offColor:"#e6e6e8",checkedIcon:!1,uncheckedIcon:!1,onChange:function(r){var i=Object(O.getUserSetting)("forecast")(t)||{};i.params=n,r?i.params.push(e):1===i.params.length?c(!0):i.params=i.params.filter(function(t){return t!==e}),a.updateSetting("forecast",i)},checked:n.includes(e)}))})):m.a.createElement("div",{className:"user-forecast-settings create-account"},m.a.createElement("header",null,m.a.createElement("h1",null,"Customize Your Forecast"),m.a.createElement("p",null,"Create a free account to customize you hourly forecast"),m.a.createElement(E.a,{className:"btn btn-primary",to:"/welcome"},"Create An Account")))}function Mn(){var e=Object(d.useState)({info:{}}),t=Object(Ye.a)(e,2),a=t[0],n=t[1];return m.a.createElement("div",{className:"user-barometer-calibration"},m.a.createElement("label",null,"Where is your device located?"),m.a.createElement(er,{location:Object.assign({},a.info.coords),onChange:function(e){var t=Object.assign({},a);e.coords?t.info.coords=e:t.info.coords=null,n(t)}}),m.a.createElement(hc,{currentDevice:a}))}function Rn(e){var t=e.socialActions,a=e.userActions,n=Object(d.useState)(0),r=Object(Ye.a)(n,2),i=r[0],o=r[1],c=Object(d.useState)(!1),s=Object(Ye.a)(c,2),l=s[0],u=s[1];Object(d.useEffect)(function(){!1!==l&&(l>1?setTimeout(function(){u(l-1)},1e3):a.logoutUser())},[l,a]);var p=m.a.createElement(m.a.Fragment,null,"To delete your ",Object(Ve.e)().sitename," account ",m.a.createElement("a",{onClick:function(){return o(1)}},"click here"),".");return 1===i?p=m.a.createElement(m.a.Fragment,null,m.a.createElement("p",null,"Are you sure you want to delete your ",Object(Ve.e)().sitename," account? This will remove all your devices and personal data."),m.a.createElement("p",null,m.a.createElement("a",{className:"btn btn-primary",onClick:function(){return o(0)}},"Nevermind"),m.a.createElement("a",{className:"btn",onClick:function(){t.addUserAction({type:"delete-account"}),o(2)}},"Yes, delete my account"))):2===i&&(p=m.a.createElement(m.a.Fragment,null,m.a.createElement("p",null,"Okie doke.  We've initiated the account deletion process. ",m.a.createElement("b",null,"Please check your email to confirm your account deletion.")," Thanks for using ",Object(Ve.e)().sitename,"!"))),m.a.createElement("div",{className:"user-delete-account"},p)}In.defaultProps={},In.displayName="MobileHomePage",Pn.defaultProps={},Pn.settings=["Cloud Cover","Temperature","Precipitation","Wind","UV Index","Humidity","Pressure"],Pn.displayName="ForecastSettings",Mn.defaultProps={},Mn.displayName="BarometerCalibration",Mn.displayName="BarometerCalibration",Mn.displayName="BarometerCalibration",Mn.displayName="BarometerCalibration",Mn.displayName="BarometerCalibration",Mn.displayName="BarometerCalibration",Mn.displayName="BarometerCalibration";var Ln=ae(Rn);function Fn(){var e=Object(P.g)(),t=Object(at.c)(),a=t.toggleAppClass,n=t.appClass,r=Object(nt.c)(),i=r.setForecastOpen,o=r.forecastOpen,c=n.includes("notifications-open"),s=function(t){return t.test(e.pathname)&&!c},l=function(){a("notifications-open",!1),i(!1)};return m.a.createElement("div",{className:"common-mobile-nav"},m.a.createElement(E.a,{onClick:function(){l(),i(!0)},to:"/",className:N()("forecast",{active:s(/^\/$/)&&o})}),m.a.createElement(E.a,{onClick:l,to:"/",className:N()("map",{active:s(/^\/$/)&&!o})}),m.a.createElement(E.a,{onClick:l,to:"/dashboard",className:N()("dashboard",{active:s(/^\/dashboard/)})}),m.a.createElement("a",{className:N()("alerts",{active:c})}),m.a.createElement(E.a,{onClick:l,to:"/social",className:N()("social",{active:s(/^\/social/)})}),m.a.createElement(E.a,{onClick:l,to:"/common/menu",className:N()("menu",{active:s(/menu/)})}),m.a.createElement("div",{className:"login-wrap"},m.a.createElement(E.a,{className:"login btn btn-primary btn-long",to:"/welcome"},"Login")))}Rn.defaultProps={},Rn.displayName="DeleteAccount",Fn.defaultProps={},Fn.displayName="MobileNav",Fn.displayName="MobileNav",Fn.displayName="MobileNav",Fn.displayName="MobileNav",Fn.displayName="MobileNav",Fn.displayName="MobileNav",Fn.displayName="MobileNav";var Un=function(e){var t,a=e.f,n=e.selected,r=e.hourlies,o=e.user;return n&&r&&r.length>0&&(t=m.a.createElement("div",{className:"device-forecast-widget"},m.a.createElement(Wn,{hoursToShow:r,user:o,width:r.length<24&&"".concat(78.3*r.length,"px")}))),m.a.createElement("div",{className:N()("other-days",{selected:n})},m.a.createElement(xr,{title:moment(1e3*a.time).format("dddd"),forecast:Object(i.a)({},a,{int:!0})}),t)},Wn=function(e){var t=e.hoursToShow,a=e.user,n=e.width,r=moment().dayOfYear(),i=Object(O.getForecastParams)(a),o=t.map(function(e){return{value:Math.round(100*e.humidity),time:e.time}}),c=t.map(function(e){return{value:Math.round(e.pressure),time:e.time}}),s=moment(1e3*t[0].time).startOf("day"),l=function(e){var t=moment(1e3*e);if(t.dayOfYear()!==s.dayOfYear()&&!(Math.floor(moment.duration(t.diff(s)).asDays())>1))return"alt"};return m.a.createElement("div",{className:"hourly-wrap"},m.a.createElement("div",{className:"scrollable-wrap",style:n?{width:n}:{}},m.a.createElement("div",{className:"hourly"},Object(w.range)(0,t.length).map(function(e){var n=t[e],o="Now",c=moment(1e3*n.time);return e>0&&(o=c.format(1===Object(O.getUserUnitI)("hour24",a)?"H":"ha")),r!==c.dayOfYear()&&(r=c.dayOfYear(),o=c.format("M/D")),m.a.createElement("div",{key:"hour-".concat(e),className:N()("hour",l(n.time))},m.a.createElement("div",{className:"title"},o),i.includes("Cloud Cover")&&m.a.createElement("div",{className:N()("weather-icon",n.icon)}),i.includes("Temperature")&&m.a.createElement(le,{type:"tempf",value:n.temperature,after:"\xb0",valueTransform:Math.round}),i.includes("Precipitation")&&m.a.createElement("div",{className:"precip"},m.a.createElement("span",{className:"drop"},parseInt(100*n.precipProbability,10),"%"),m.a.createElement(le,{type:"dailyrainin",value:n.precipIntensity})))})),i.includes("Wind")&&m.a.createElement("div",{className:"wind labels"},t.map(function(e,t){return m.a.createElement("div",{className:N()("label",l(e.time),{"high-winds":e.windGust&&e.windGust>18}),key:"wind-".concat(t)},e.windBearing?m.a.createElement(le,{type:"winddir",value:e.windBearing}):m.a.createElement("span",{className:"no-wind"},"--"),m.a.createElement("div",{className:"arrow-wrap"},m.a.createElement("div",{className:N()("arrow",{"no-wind":!Object(O.isSomething)(e.windBearing)}),style:Object(O.isSomething)(e.windBearing)?{transform:"rotate(".concat(e.windBearing+180,"deg)")}:{}})),m.a.createElement(le,{type:"windspeedmph",value:e.windSpeed,valueTransform:Math.round}),e.windGust&&e.windGust>18&&m.a.createElement(le,{type:"windgustmph",value:e.windGust,valueTransform:Math.round}))})),i.includes("UV Index")&&m.a.createElement("div",{className:"uv-index labels"},t.map(function(e,t){return m.a.createElement("div",{className:N()("label",l(e.time)),key:"uv-index-".concat(t)},m.a.createElement("div",{className:"bar uv-".concat(e.uvIndex>11?11:e.uvIndex)}),m.a.createElement("b",null,e.uvIndex),m.a.createElement("span",{className:"suff"},"UV"))})),i.includes("Humidity")&&m.a.createElement("div",{className:"line-graph-wrap"},m.a.createElement(Vn,{data:o,margin:{left:37,right:40,top:5,bottom:5},dot:function(e){if(l(e.payload.time))return m.a.createElement("circle",Object.assign({},e,{className:"alt"}))}}),m.a.createElement("div",{className:"labels"},o.map(function(e,t){return m.a.createElement("div",{key:"humidity-".concat(t),className:N()("label",l(e.time))},m.a.createElement("b",null,e.value,"%"),m.a.createElement("span",{className:"suff"},"hum"))}))),i.includes("Pressure")&&m.a.createElement("div",{className:"line-graph-wrap"},m.a.createElement(Vn,{data:c,margin:{left:37,right:40,top:5,bottom:5},dot:function(e){if(l(e.payload.time))return m.a.createElement("circle",Object.assign({},e,{className:"alt"}))}}),m.a.createElement("div",{className:"labels"},c.map(function(e,t){return m.a.createElement("div",{key:"barom-".concat(t),className:N()("label",l(e.time))},m.a.createElement(le,{type:"baromrelin",value:Object(O.convertUnitInverse)("baromrelin",2,e.value)}))})))))};function Hn(e){var t=e.forecast,a=e.label,n=e.user,r=(e.currentTemp,e.currentConditions),i=Object(d.useState)(null),o=Object(Ye.a)(i,2),c=o[0],s=o[1];if(!t)return m.a.createElement(fe,null);console.log("forecast",t);var l=Object(O.getAstroValue)(moment,{lat:t.lat,lon:t.lon,tz:t.tz});console.log(l(ve.a.solar.rise,Date.now()));var u=t.currently,p=void 0===u?{}:u,h=t.hourly,f=void 0===h?{data:[]}:h,b=t.daily,v=(void 0===b?{data:[]}:b).data.filter(function(e){return moment(1e3*e.time).startOf("day").valueOf()>=moment().startOf("day").valueOf()}),g=v[0],y=f.data.slice(0,48),E=m.a.createElement(Wn,{hoursToShow:y,user:n}),k=v.slice(1,11);return m.a.createElement("div",{className:"forecast"},m.a.createElement("div",{className:"forecast-header"},m.a.createElement("div",{className:"location"},a),m.a.createElement("div",{className:"forecast-summary"},r||m.a.createElement(le,{type:"tempf",value:p.temperature,valueTransform:Math.round,after:"\xb0"}),m.a.createElement("div",{className:"the-rest"},m.a.createElement("div",{className:"forecast-container"},m.a.createElement("div",{className:"forecast-summary__currently"},Object(w.path)(["currently","summary"],t)),m.a.createElement("div",{className:N()("weather-icon",g.icon)})),m.a.createElement("div",{className:"high-lows"},m.a.createElement("span",null,"H",m.a.createElement(le,{type:"tempf",value:g.temperatureMax,valueTransform:Math.round,after:"\xb0"})),m.a.createElement("span",null,"L",m.a.createElement(le,{type:"tempf",value:g.temperatureMin,valueTransform:Math.round,after:"\xb0"}))))),m.a.createElement("div",{className:N()("device-forecast-widget component-forecast-long-term has-hourly")},E),m.a.createElement("div",{className:"extended"},m.a.createElement("div",{className:"extended-summary"},m.a.createElement("div",{className:"forecast-summary__today"},m.a.createElement(le,{value:g.summary})," ",Object(w.path)(["daily","summary"],t)),m.a.createElement("div",{className:"forecast-summary__details"},m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Feels like"),m.a.createElement(le,{type:"tempf",value:p.apparentTemperature,valueTransform:Math.round})),m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Precip chance"),m.a.createElement(le,{value:p.precipProbability,after:"%",valueTransform:function(e){return Math.round(100*e)}})),m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Wind"),m.a.createElement(le,{type:"windspeedmph",value:p.windSpeed,valueTransform:Math.round})),p.precipIntensity>0&&m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Precip"),m.a.createElement(le,{value:p.precipIntensity,type:"hourlyrainin"})),m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Humidity"),m.a.createElement(le,{type:"humidity",value:p.humidity,valueTransform:function(e){return Math.round(100*e)}})),m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Pressure"),m.a.createElement(le,{type:"baromrelin",value:Object(O.convertUnitInverse)("baromrelin",2,p.pressure),valueTransform:Math.round})),m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Sunrise"),m.a.createElement("span",{className:"fdp"},l(ve.a.solar.rise,Date.now()).format(Object(O.timeFormatForUser)(n)).replace(" ",""))),m.a.createElement("div",{className:"label"},m.a.createElement("div",{className:"label-title"},"Sunset"),m.a.createElement("span",{className:"fdp"},l(ve.a.solar.set,Date.now()).format(Object(O.timeFormatForUser)(n)).replace(" ",""))))),m.a.createElement("div",{className:"extended-forecast"},m.a.createElement("div",{className:"other-days"},k.map(function(e,t){return m.a.createElement("a",{className:"other-day-a",onClick:function(){return s(t===c?null:t)},key:"forecast-".concat(e.time)},m.a.createElement(Un,{f:e,user:n,hourlies:f.data.filter(function(t){return moment(1e3*t.time).dayOfYear()===moment(1e3*e.time).dayOfYear()}),selected:c===t}))}))))))}function Bn(){var e=Object(P.f)();return Object(d.useEffect)(function(){function t(){Object(O.isLtBreakpoint)("phone-max")||e.push("/")}return window.addEventListener("resize",t),t(),function(e){return window.removeEventListener("resize",t)}},[e]),m.a.createElement("div",{className:"common-menu"},m.a.createElement(ke,null))}function Yn(e){var t=e.onShowSettingsChange,a=e.onChange,n=e.open,r=e.update,i=e.coords,o=(e.forecastUpdate,e.device),c=e.user,s=(e.deviceActions,e.userActions,e.onPlaceSelected),l=(o.sidebar,o.focusDevice),u=o.mapLayer,p=Object(tt.c)(),h=p.mapLocation,f=(p.setMapLocation,Object(d.useState)(0)),b=Object(Ye.a)(f,2),v=b[0],g=b[1],y=250;Object(O.isCordova)()&&(y+=40);var E,k=Object(d.useMemo)(function(){return function(e){Object(ut.F)()&&g(e.target.scrollTop)}},[g]),j=Object(O.getMapLocationLabel)(h),D=Object(O.getLayerParam)(u);if(l){j=m.a.createElement(jo,{currentDevice:l,layerParam:D});var S=Object(w.path)(["lastData",D],l);if(Object(O.isSomething)(S)){var A={};"tempf"===D?(A.valueTransform=Math.round,A.after="\xb0"):"hourlyrainin"===D&&(S<.01?S=S.toFixed(1):S<1&&(S=S.toFixed(2).replace(/^0/,""))),E=m.a.createElement(le,Object.assign({type:D,value:S},A))}}var _=m.a.createElement("div",{className:N()("bottom-card",{"has-device-detail":!!l})},m.a.createElement("div",{className:"settings-nav"},m.a.createElement("a",{className:"show-settings",onClick:function(){return t&&t(!0)}})),m.a.createElement("div",{onScroll:k,className:N()("forecast-first",{"hyper-local":l,local:!l})},m.a.createElement("a",{className:"forecast-open",onClick:function(){return a(!0)}}),m.a.createElement(qe,{className:"open",onPlaceSelected:s}),void 0,m.a.createElement(_r,{coords:i,label:j,update:r,currentConditions:E},m.a.createElement(Hn,{user:c}))));if(Object(ut.F)()){var C={bottom:"calc(-100vh + ".concat(y,"px)")};return m.a.createElement("div",{className:N()("ios-bottom-sheet",{open:n})},m.a.createElement(qr,{threshold:100,onSwipeDown:function(e){v<10&&a(!1)},onSwipeUp:function(){n||a(!0)}},m.a.createElement("div",{style:C,className:"mobile-post"},_)))}return m.a.createElement(Cn.a,{shadowTip:!1,overlay:!1,overflowHeight:y,open:n,fullScreen:!0,onChange:a,swipeableViewsProps:{}},m.a.createElement("div",{className:"mobile-post"},_))}Hn.defaultProps={},Hn.displayName="ForecastCard",Bn.defaultProps={},Bn.displayName="Menu";var Gn=ae(Yn);Yn.defaultProps={},Yn.displayName="BottomSheet";var zn=a(76),Kn=a.n(zn);function qn(e){return Object(Ge.c)().online&&window.google?m.a.createElement(Kn.a,e):null}function Vn(e){var t=e.className,a=e.data,n=void 0===a?[]:a,r=e.height,i=void 0===r?50:r,o=e.margin,c=e.dot;return m.a.createElement("div",{className:N()("common-simple-line-graph",t)},m.a.createElement(he.l,{height:i},m.a.createElement(he.h,{data:n,syncId:"simple-line-graph",margin:o},m.a.createElement(he.p,{hide:!0,type:"number",domain:["dataMin","dataMax"]}),m.a.createElement(he.c,{horizontal:!1,strokeWidth:1,stroke:"#eeeeee"}),m.a.createElement(he.g,{type:"monotone",dataKey:"value",stroke:"#000",isAnimationActive:!1,dot:function(e){if(c){var t=c(e);if(t)return t}return m.a.createElement("circle",e)}}))))}function $n(e){var t=e.match,a=e.location,n=e.history,r=e.user,i=e.social,o=e.socialActions,c=e.userActions,s=t.params.id,l=r.userChecked,u=i.getUserActionPending,p=i.patchUserActionPending,h=i.addUserActionPending,f=Object(d.useState)(null),b=Object(Ye.a)(f,2),v=b[0],g=b[1],y=Object(O.getUrlQueryParam)(a,"code"),E=Object(d.useState)(y),w=Object(Ye.a)(E,2),k=w[0],j=w[1],N=Object(d.useState)(""),D=Object(Ye.a)(N,2),S=D[0],A=D[1],_=Object(d.useState)(""),C=Object(Ye.a)(_,2),x=C[0],I=C[1],T=Object(d.useState)(!1),P=Object(Ye.a)(T,2),M=P[0],R=P[1];Object(d.useEffect)(function(){!1!==M&&(M>1?setTimeout(function(){R(M-1)},1e3):c.logoutUser())},[M,c]),Object(d.useEffect)(function(){!y||!l||u||v&&v._id===s||o.getUserAction(s).then(function(e){if(!e)throw new Error("no auth");"delete-account"!==e.type||Object(O.isLoggedIn)(r)||n.push("/"),"multi-sms-link"!==e.type&&"multi-sms-verification"!==e.type||(e.data.code!==parseInt(y)&&n.push("/"),j("")),g(e)}).catch(function(e){console.log(e),n.push("/")})},[l,r,n,y,o,u,v,g,s]);var L=function(e){return u||p||h?m.a.createElement(fe,null):e},F="...",U=m.a.createElement(fe,null);return v&&(F="Verify Account Deletion",U=m.a.createElement("div",{className:"verify-form"},m.a.createElement("p",null,"Please enter the code from your email to delete your account."),m.a.createElement("input",{type:"text",value:k,onChange:function(e){return j(e.target.value)}})," ",m.a.createElement("button",{className:"btn btn-primary",onClick:function(){window.confirm("Are you sure?")&&(o.patchUserAction(s,{data:Object.assign({},v.data,{verifyCode:k})}),R(3))}},"Delete")),"multi-sms-link"===v.type?(F="Verify your SMS number",U=m.a.createElement("div",{className:"verify-form"},m.a.createElement("p",null,"An AWN user wants to add you to their account. Please use the form below to verify the phone number you would like to use to recieve SMS alerts."),m.a.createElement("label",null,"Your Name"),m.a.createElement("input",{type:"text",value:S,onChange:function(e){return A(e.target.value)}}),m.a.createElement("label",null,"Phone Number"),m.a.createElement("input",{type:"text",value:x,onChange:function(e){return I(e.target.value)}}),m.a.createElement("br",null),L(m.a.createElement("button",{className:"btn btn-primary",disabled:!(S&&x.length>=10),onClick:function(){var e={userId:v.userId,type:"multi-sms-verification",data:{name:S,phone:x.replace(/[^0-9]/g,""),code:Math.floor(1e4*Math.random()),verifyCode:Math.floor(1e4*Math.random()),userActionId:v._id}};o.addUserAction(e).then(function(t){n.push("/common/ua/".concat(t._id,"?code=").concat(e.data.code))})}},"Send SMS Code")))):"multi-sms-verification"===v.type&&(F="Verify your SMS number",U=m.a.createElement("div",{className:"verify-form"},m.a.createElement("p",null,"Please enter the code from your SMS to verify your phone number."),m.a.createElement("input",{type:"text",value:k,onChange:function(e){return j(e.target.value)}}),L(m.a.createElement("button",{className:"btn btn-primary",onClick:function(){o.patchUserAction(s,{data:Object.assign({},v.data,{verifiedCode:k})}).then(function(e){e.result.ok?A(!0):A("fail")}).catch(function(e){A("fail")})}},"Verify"))),!0===S?U=m.a.createElement("div",{className:"verify-form"},m.a.createElement("p",null,"Success! Your phone number has been verified.")):"fail"===S&&(U=m.a.createElement("div",{className:"verify-form"},m.a.createElement("p",null,"Sorry, that code was incorrect. Please try again.")))),M>0&&(U=m.a.createElement("div",{className:"verify-form"},m.a.createElement("p",null,"Thanks for using ",Object(Ve.e)().sitename,"!"),m.a.createElement("p",null,"We'll ",m.a.createElement("a",{onClick:c.logoutUser},"log you out")," in ",M,".")))),m.a.createElement("div",{className:"common-ua-page"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,F)),m.a.createElement("div",{className:"page-body"},U))}Kn.a.propTypes={},Kn.a.defaultProps={},Kn.a.displayName="Autocomplete",Kn.a.displayName="Autocomplete",Kn.a.displayName="Autocomplete",Kn.a.displayName="Autocomplete",Kn.a.displayName="Autocomplete",Kn.a.displayName="Autocomplete",Kn.a.displayName="Autocomplete",Vn.defaultProps={},Vn.displayName="SimpleLineGraph",Vn.displayName="SimpleLineGraph",Vn.displayName="SimpleLineGraph",Vn.displayName="SimpleLineGraph",Vn.displayName="SimpleLineGraph",Vn.displayName="SimpleLineGraph",Vn.displayName="SimpleLineGraph";var Qn=ae($n);$n.defaultProps={},$n.displayName="UaPage";var Xn=a(255),Jn=Object(O.getGeocode)(),Zn=Object(Xn.withGoogleMap)(function(e){var t=e.coords,a=e.onDrag,n={lat:48.7023029,lng:-113.7515022};return function(e){return e&&e.lat&&e.lon}(t)&&(n={lat:t.lat,lng:t.lon}),m.a.createElement(Xn.GoogleMap,{defaultZoom:10,defaultCenter:n,center:n},m.a.createElement(Xn.Marker,{draggable:!0,onDragEnd:a,position:n}))}),er=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={findingLocation:!1,coords:!1,elevation:"",address:"",location:"",meters:!0,showMap:!1},a._onChange=Object(O.debounce)(a._onChange.bind(Object(He.a)(Object(He.a)(a))),300),a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this.props.location;e&&this.setState(Object.assign({},this.state,e))}},{key:"_locationNotOk",value:function(){var e=this.state.coords;return!(e&&e.lat&&e.lon)}},{key:"_setGoogleResult",value:function(e,t){this.state.coords;if(e){var a={address:e.formatted_address,location:Object(O.findLocationFromGoogleRes)(e.address_components)};t&&(a.coords={},a.coords.lat=e.geometry.location.lat(),a.coords.lon=e.geometry.location.lng()),this.setState(a)}}},{key:"_reset",value:function(){this.setState({elevation:"",address:"",location:"",coords:!1})}},{key:"_onChange",value:function(){var e=this.props.onChange;e&&e(Object(w.pick)(["coords","address","location","elevation"],this.state))}},{key:"componentDidUpdate",value:function(e,t){var a=this,n=this.state,r=n.coords,i=n.address;n.elevation,n.location,this.props.onChange;Object(O.pathsChanged)(this.state,t,[["coords"]])&&r&&(""===i&&Jn.fromLatLng(r.lat,r.lon).then(function(e){a._setGoogleResult(e.results[0])}),r&&r.lat&&r.lon&&(new google.maps.ElevationService).getElevationForLocations({locations:[{lat:r.lat,lng:r.lon}]},function(e,t){e[0]&&a.setState({elevation:e[0].elevation})}));Object(O.pathsChanged)(this.state,t,[["coords"],["elevation"],["location"]])&&this._onChange()}},{key:"onPlaceSelected",value:function(e){this._setGoogleResult(e,!0)}},{key:"onDrag",value:function(e){this.setState({coords:{lat:e.latLng.lat(),lon:e.latLng.lng()},address:""})}},{key:"_map",value:function(){var e=this.state.coords;return m.a.createElement(Zn,{coords:e,onDrag:this.onDrag.bind(this),containerElement:m.a.createElement("div",{style:{height:"400px"}}),mapElement:m.a.createElement("div",{style:{height:"100%"}})})}},{key:"render",value:function(){var e=this,t=this.state,a=t.showMap,n=t.meters,r=t.elevation,i=t.coords,o=t.address,c=(t.findingLocation,this.props.onSave),s=n?r:O.METERS_TO_FEET*r,l=m.a.createElement("div",{className:"show-map"},m.a.createElement("div",{className:"map"},m.a.createElement("p",null,"Move Pin to set the correct location:"),this._map()),m.a.createElement("div",{className:"middle"},m.a.createElement("div",{className:"item"},m.a.createElement("span",null,"Latitude"),m.a.createElement("input",{type:"text",value:i.lat||"",onChange:function(t){var a=Object.assign({},i)||{};a.lat=parseFloat(t.target.value),e.setState({coords:a})}})),m.a.createElement("div",{className:"item"},m.a.createElement("span",null,"Longitude"),m.a.createElement("input",{type:"text",value:i.lon||"",onChange:function(t){var a=Object.assign({},i)||{};a.lon=parseFloat(t.target.value),e.setState({coords:a})}})),m.a.createElement("div",{className:"item"},m.a.createElement("span",null,"Elevation"),m.a.createElement("input",{type:"text",value:s,onChange:function(t){return e.setState({elevation:n?t.target.value:t.target.value/O.METERS_TO_FEET})}}),m.a.createElement("div",{className:"units"},m.a.createElement(De,{selected:n,label:"meters",onClick:function(){return e.setState({meters:!0})}}),m.a.createElement(De,{selected:!n,label:"feet",onClick:function(){return e.setState({meters:!1})}})))),m.a.createElement("p",null,m.a.createElement("a",{onClick:function(){return e.setState({showMap:!1})}},"Hide map view")),m.a.createElement("div",{className:"btns-wrap"},m.a.createElement("a",{className:"skip",onClick:function(){c&&c(null)}},"Don't Set Location"),m.a.createElement("button",{className:"btn btn-primary btn-long",onClick:function(){c&&c(Object(w.pick)(["coords","address","location","elevation"],e.state))},key:"set",disabled:this._locationNotOk()},"Set Location")));return a||(l=m.a.createElement("p",null,m.a.createElement("a",{onClick:function(){return e.setState({showMap:!0})}},"Select location from map view"))),m.a.createElement("div",{className:"component-location"},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"autocomplete-wrap"},m.a.createElement(qn,{value:o,types:[],type:"text",className:"autocomplete",placeholder:"Street Address or Region",onPlaceSelected:this.onPlaceSelected.bind(this),onChange:function(t){e.setState({address:t.target.value})}}),""===o?null:m.a.createElement("a",{onClick:this._reset.bind(this),className:"glyphicon x-gray"})),m.a.createElement("span",null,"Or"),m.a.createElement(vr,{onClick:function(){return e.setState({address:""})},onChange:function(t){e.setState({coords:{lat:t.coords.latitude,lon:t.coords.longitude}})}})),l)}}]),t}(d.PureComponent);er.displayName="Location",er.displayName="Location",er.displayName="Location";var tr=Object(O.getGeocode)(),ar=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={open:!1,address:"",showMyStationsTab:!0,page:1,userRecentI:0},n.state.open=n.props.open,n._esc=(a=n)._esc.bind(a),n._toggleOpen=(a=n)._toggleOpen.bind(a),n._favStar=(a=n)._favStar.bind(a),n._reset=(a=n)._reset.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_isHomePage",value:function(){return this.props.open}},{key:"_setDefaultDevice",value:function(){var e=this,t=this.props,a=t.history,n=t.deviceActions,r=(t.open,t.skipIpSearch),i=t.device,o=t.user,c=t.userActions,s=t.match,l=i.dashboardDevice,u=i.devices,d=i.getDeviceFailures,m=i.fetchDevicePending,p=o.fetchInfoPending,h=o.fetchInfoError,f=o.ipInfo,b=o.userChecked,v=this.state,g=v.firstSearch,y=(v.theDevice,v.userRecentI),E=this._userFavs();if(this._isHomePage()){var k=Object(O.getStorage)("lastLocationSearch");if(k)return void(g||this.setState({firstSearch:!0,manualSearch:!0},function(){e._doSearch([k.coords.lon,k.coords.lat])}))}else{if(l)return;var j=Object(w.path)(["params","key"],s);if(j){var N=u&&u.find(function(e){return Object(O.getDeviceSlug)(e)===j});return void(N?this._onChange(N):m||n.fetchDevice({"public.slug":j}).then(function(t){n.clearFetchedDevices(),t.data[0]?e._onChange(t.data[0]):b&&a.push("/dashboard")}))}if(this._userRecent()&&this._userRecent()[y]){var D=this._userRecent()[y],S=u&&Object(w.find)(Object(w.propEq)("macAddress",D.macAddress),u);return this._onChange(S||D)}if(E){var A=Object(w.pipe)(Object(w.pluck)("to"),Object(w.filter)(function(e){return!Object(w.contains)(e._id,d)}),Object(w.nth)(0))(E);if(A)return this._onChange(A)}u&&u[0]&&this._onChange(u[0])}f?g||this.setState({firstSearch:!0},function(){e._doSearch([f.longitude,f.latitude],e._isHomePage()?"":f.city).then(function(t){e._onChange(t[0])})}):p||h||r||c.fetchInfo()}},{key:"componentDidMount",value:function(){var e=this.props.onRef;this._setDefaultDevice(),e&&e(this)}},{key:"componentWillUnmount",value:function(){var e=this.props.onRef;e&&e(void 0)}},{key:"componentDidUpdate",value:function(e,t){var a=this.props,n=(a.deviceActions,a.onLocationChange),r=a.device,i=a.match;r.getDeviceFailures,r.dashboardDevice;this._setDefaultDevice();Object(w.path)(["params","key"],i);Object(O.pathsChanged)(this.state,t,["address","coords"])&&n&&n({address:this.state.address,coords:this.state.coords})}},{key:"_onChange",value:function(e){var t=this.props,a=t.commonActions,n=t.deviceActions,r=t.userActions,i=t.user,o=t.onChange;if(n.setDashboardDevice(e),Object(O.isLoggedIn)(i)&&e){var c=this._userRecent()||[],s=Object(O.cleanDeviceToStore)(e);Object(w.path)(["info"],s)&&(c.unshift(s),c=Object(w.uniqBy)(Object(w.prop)("_id"),c).slice(0,3),r.updateSetting("recent",c))}o&&o(e);var l=Object(w.path)(["info","coords"],e);l&&a.setMapLocation(l)}},{key:"_doSearch",value:function(e,t){var a=this,n=this.props,r=n.hideSearch,i=(n.onLocationChange,n.onSearch),o=n.deviceActions,c=this.state,s=c.page,l=c.searchDevices,u=c.manualSearch;this.setState({address:t,coords:e,searching:!0});var d={$publicNear:{coords:e},$limit:15,skipCache:!0};return s>1&&(d.$skip=15*(s-1)),o.fetchDevice(d).then(function(e){if(e){var t=s>1?Object(w.concat)(l,e.data):e.data;t=t.filter(O.showDeviceOnMap),i&&i(t,{searched:u});var n={searchDevices:t,searching:!1};return r&&delete n.searchDevices,a.setState(n),a.selectRef&&a.selectRef.focus(),t}})}},{key:"_onPlaceSelected",value:function(e){var t=this,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.props.commonActions;if(e.geometry){var r=function(e){return"function"===typeof e?e():e},i=[r(e.geometry.location.lng),r(e.geometry.location.lat)];console.log("_onPlaceSelected",e);var o=Object(O.formatCoords)({address:e.formatted_address,label:e.formatted_address,location:Object(O.findLocationFromGoogleRes)(e.address_components)},{lat:i[1],lon:i[0]});n.setMapLocation(o),this.setState({page:1,manualSearch:!0},function(){return t._doSearch(i,a?e.formatted_address:null)})}}},{key:"searchByPosition",value:function(e){var t,a=this;t=Array.isArray(e)?{lon:e[0],lat:e[1]}:e.coords,tr.fromLatLng(t.latitude||t.lat,t.longitude||t.lon).then(function(e){a._onPlaceSelected(e.results[0],!1)})}},{key:"_esc",value:function(e){27===e.keyCode&&(this.setState({open:!1}),this._reset())}},{key:"_reset",value:function(){this.setState({coords:null,address:"",searchDevices:!1})}},{key:"_userFavs",value:function(){return this.props.social.favs}},{key:"_refreshFavs",value:function(){var e=this.props,t=e.device,a=e.deviceActions,n=this._userFavs();n&&n.forEach(function(e){var n=e.to;Object(O.shouldGetDevice)(t,n._id,1)&&a.getDevice(n._id)})}},{key:"_userRecent",value:function(){return Object(O.getUserSetting)("recent")(this.props.user)||!1}},{key:"_favStar",value:function(e){if(e)return m.a.createElement(Nr,{currentDevice:e})}},{key:"formatOptionLabel",value:function(e,t){var a=this,n=this.props,r=n.user,i=n.device,o=this.state.coords,c=i.deviceCache,s=e.d;if(!s)return m.a.createElement("div",{className:N()({load:e.loadMore,help:e.help})},e.component||e.label);var l=c[s._id];l&&(s=l);var u,d,p=Object(w.path)(["info","coords","geo"],s);if(o&&p){var h=Object(w.path)(["d","info","coords","geo","coordinates",1],e)||Object(w.path)(["d","info","coords","coords","lat"],e),f=Object(w.path)(["d","info","coords","geo","coordinates",0],e)||Object(w.path)(["d","info","coords","coords","lon"],e),b=1===Object(O.getUserUnitI)("metric",r)?Object(O.latLonDistance)(o[1],o[0],h,f,"K").toFixed(1)+" km":Object(O.latLonDistance)(o[1],o[0],h,f).toFixed(1)+" mi";u=m.a.createElement("span",{className:"dist"},b)}s.lastData&&(d=moment(new Date(s.lastData.dateutc)));var v,g=m.a.createElement("div",{className:N()("subtitle",{old:!d||Date.now()-d.valueOf()>864e5})},d?"updated "+d.from(Date.now()):"not reporting...");(e.search||e.fav)&&(v=this._favStar(s)),e.fav&&e.disabled&&(g=m.a.createElement("a",{onClick:function(){a._doSearch(s.info.coords.geo.coordinates,s.info.coords.location)},className:"subtitle"},"Find nearby")),(e.recent||e.search)&&(g=null);var y=/noaa-/.test(s.macAddress)?m.a.createElement("span",null,m.a.createElement("span",{className:"noaa"},"NOAA: "),e.label):m.a.createElement("span",null,e.label);return m.a.createElement("div",{className:N()("device-option",{favable:v,disabled:e.disabled,recent:e.recent,search:e.search})},v,m.a.createElement("div",{className:"option-label"},y,g),u)}},{key:"formatGroupLabel",value:function(e){var t=this;if("stations"===e.label){var a=this.state.showMyStationsTab;return m.a.createElement("div",{className:"tabs"},m.a.createElement("a",{onClick:function(){return t.setState({showMyStationsTab:!0})},className:N()({active:a})},"My Stations"),m.a.createElement("a",{onClick:function(){return t.setState({showMyStationsTab:!1})},className:N()({active:!a})},"Favorites"))}return e.label}},{key:"_toggleOpen",value:function(){var e=this.props.device.devices,t=this.state.open,a={open:!t};if(t)document.removeEventListener("keydown",this._esc,!1);else if(document.addEventListener("keydown",this._esc,!1),this._refreshFavs(),!this.hasBeenOpened){this.hasBeenOpened=!0;var n=this._userFavs();n&&n.length>0&&(!e||e.length<1)&&(a.showMyStationsTab=!1)}this.setState(a)}},{key:"_isMyDevice",value:function(e){return Object(O.objsContainId)(this.props.device.devices,e)}},{key:"_open",value:function(){var e=this,t=this.state,a=t.selectValue,n=t.searching,r=t.showMyStationsTab,i=t.coords,o=t.searchDevices,c=t.open,s=t.address,l=this.props,u=l.onFindLocation,d=(l.user,l.device),p=d.deviceCache,h=d.devices,f=d.getDeviceFailures;if(c){var b=function(e){return{label:Object(O.getDeviceLabel)(e),d:e,value:e._id}},v=(h||[]).map(b),g=this._userFavs();r||(v=g?g.map(function(e){var t=p[e.to._id];if(t)return{label:Object(O.getDeviceLabel)(t),d:t,fav:!0,value:t._id,disabled:Object(w.contains)(t._id,f)}}).filter(w.identity):[]),i&&(v=v.filter(function(e){var t=Object(w.path)(["d","info","coords","geo"],e);if(t)return Object(O.latLonDistance)(i[1],i[0],t.coordinates[1],t.coordinates[0])<100}));var y=[];v.length<1&&(v=r?(o||n)&&h&&h.length>0?[{label:m.a.createElement("span",null,"You have no stations at this location",m.a.createElement("br",null),m.a.createElement("a",{onClick:this._reset},"show my devices")),disabled:!0,help:!0}]:[{component:m.a.createElement("div",{className:"cta"},m.a.createElement("img",{src:"https://ambientweather.net/my-stations.jpg"}),m.a.createElement("a",{href:"https://www.amazon.com/stores/page/EAA7AF90-380A-4AEA-A8A9-F4E0368510BB",target:"_blank",className:"btn btn-circle"},"Shop Stations Now")),disabled:!0}]:[{label:"Star a station to add to your favorites",disabled:!0,help:!0}]),y.push({label:"stations",options:v});var E,k=this._userRecent();return o?((E=o.map(b).map(function(e){return Object.assign(e,{search:!0})})).length>0&&E.push(n?{loadMore:!0,component:m.a.createElement(fe,null),disabled:!0}:{label:"Load more",loadMore:!0}),y.push({label:"Nearby stations",options:E})):k&&y.push({label:"Recently Viewed",options:k.map(function(e){return{label:Object(O.getDeviceLabel)(e),d:e,recent:!0,value:e._id,disabled:Object(w.contains)(e._id,f)}})}),m.a.createElement("div",{className:"open"},m.a.createElement("div",{className:"search"},m.a.createElement(qn,{value:s||"",types:[],type:"text",className:"autocomplete",placeholder:this.props.placeholder||"Search location",onPlaceSelected:this._onPlaceSelected.bind(this),onFocus:function(){return e.setState({address:""})},onChange:function(t){e.setState({address:t.target.value})}}),s&&!n?m.a.createElement("a",{className:"glyphicon x-gray",onClick:function(){return e.setState({address:"",coords:null,searchDevices:null})}}):null,n?m.a.createElement(fe,null):null),m.a.createElement(Pe.a,{className:"device-select",classNamePrefix:"dc",options:y,value:a,menuIsOpen:!0,ref:function(t){return e.selectRef=t},formatOptionLabel:this.formatOptionLabel.bind(this),formatGroupLabel:this.formatGroupLabel.bind(this),noOptionsMessage:function(e){return"Search by location to find a station nearby."},onChange:function(t){if(t.loadMore){var a=e.state,n=a.page,r=a.coords,i=a.address;e.setState({page:n+1,selectValue:null},function(){return e._doSearch(r,i)})}else e.setState({selectValue:t}),e._onChange(t.d),e.props.open?e._reset():e._toggleOpen()},isOptionDisabled:function(e){return e.disabled},maxMenuHeight:400}),m.a.createElement(vr,{onChange:function(t){u&&u(t),e.searchByPosition(t)}}))}}},{key:"render",value:function(){var e=this.state,t=e.manualSearch,a=e.open,n=e.searchDevices,r=this.props,i=r.className,o=r.device.dashboardDevice;return m.a.createElement("div",{className:N()("component-device-chooser",i,{open:a,sd:n,searched:t,"not-searched":!t})},m.a.createElement("div",{className:"spacer"}),m.a.createElement("div",{className:"wrap"},m.a.createElement("div",{className:"header-wrap"},this._favStar(o),m.a.createElement("a",{onClick:this._toggleOpen,className:"header"},Object(O.getDeviceLabel)(o)||m.a.createElement(fe,null))),this._open()))}}]),t}(d.PureComponent),nr=ae(Object(P.h)(ar));ar.displayName="DeviceChooser",ar.displayName="DeviceChooser",ar.displayName="DeviceChooser",ar.displayName="DeviceChooser",ar.displayName="DeviceChooser",ar.displayName="DeviceChooser",ar.displayName="DeviceChooser";var rr=a(320),ir=a.n(rr),or=a(492),cr=a(488),sr=a(42),lr=a(249),ur=Object(w.path)(["info","coords","geo"]),dr=[["wind","marker-wind"],["lightning","lightning"],["webcam","camera"],["video","video"],["video-enhanced-1","video-enhanced-1"],["video-enhanced-2","video-enhanced-2"],["social","chat"],["alert","alert"],["fav","fav"]],mr=window.location.protocol+"//"+window.location.host;Object(O.isDev)()&&!/ambient/.test(window.location.host)||Object(O.isCordova)()&&(mr=Object(O.isIos)()?"":"https://ambientweather.net");var pr=function(e,t,a){return Object(w.pipe)(Object(w.groupBy)(e),Object(w.mapObjIndexed)(Object(w.map)(t)))(a)},hr=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={addLayers:[],userInteracted:!1,animationTime:!1},n.id="map_"+parseInt(1e4*Math.random(),10),n.onReadyCalled=!1,n.onReady=[],n._addAerisLayers=Object(O.debounce)(n._addAerisLayers.bind(Object(He.a)(Object(He.a)(n))),800),n.devices=[],n.sources={},n.deviceLayers={},n.images={},n._getLayerIdForDevice=(a=n)._getLayerIdForDevice.bind(a),n._getFeatureForDevice=(a=n)._getFeatureForDevice.bind(a),n._getFeatureForPost=(a=n)._getFeatureForPost.bind(a),n._lightningLayers=(a=n)._lightningLayers.bind(a),n.searchMap=Object(O.debounce)(n.searchMap.bind(Object(He.a)(Object(He.a)(n))),200),n._updateDeviceDots=Object(O.debounce)(n._updateDeviceDots.bind(Object(He.a)(Object(He.a)(n))),250),n._deleteLayer=(a=n)._deleteLayer.bind(a),n._removeLayer=(a=n)._removeLayer.bind(a),n._removeSource=(a=n)._removeSource.bind(a),n._setDevices=(a=n)._setDevices.bind(a),n._shouldDotPulse=(a=n)._shouldDotPulse.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_onReady",value:function(e){this.onReadyCalled?e():this.onReady.push(e)}},{key:"_shouldDotPulse",value:function(e){var t=this.props.device,a=(t.focusDevice,t.hoverDevice);return e&&Object(w.path)(["_id"],a)===e._id&&Object(w.path)(["_id"],this._hoverDevice)!==e._id}},{key:"_layer",value:function(){return this.props.layer||this.props.device.mapLayer}},{key:"_getLayerIdForDevice",value:function(e){var t=this.props,a=(t.user,t.device),n=t.social,r=(a.focusDevice,a.hoverDevice,this._layer());if("wind"===r)return r;if(""===r&&Object(O.isFav)(n,e))return"fav";if(""===r&&Object(O.hasWebcam)(e)){var i="webcam",o=Object(O.deviceHasEnhancedCam)(e);return o&&(i="video-enhanced-1",2===parseInt(o,10)&&(i="video-enhanced-2")),i}var c="#09a8e6".replace("#","");if("tempf"===Object(O.getLayerParam)(r)){var s=Object(w.path)(["lastData","tempf"],e);Object(O.isSomething)(s)&&(c=Object(O.tempColor)(s).replace("#",""))}var l=this._shouldDotPulse(e)?"-active":"";return function(e){return/noaa-/.test(e.macAddress)||/iata-/.test(e.macAddress)||/aeris-/.test(e.macAddress)}(e)?"official-"+c+l:"pws-"+c+l}},{key:"setPin",value:function(e){var t=this;e&&this._onReady(function(){var a={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:e}}]};if(t.sources.pin){var n=t.map.getSource("pin");n&&(n.setData(a),t._reorderLayers())}else t.sources.pin={type:"geojson",data:a},t.map.loadImage(mr+"/marker-pin.png",function(e,a){if(e)throw e;t.map.hasImage("pin")||t.map.addImage("pin",a),t.map.addSource("pin",t.sources.pin),t.map.addLayer({id:"pin",type:"symbol",source:"pin",layout:{"icon-image":"pin","icon-size":.9,"icon-anchor":"bottom","icon-allow-overlap":!0},paint:{"icon-translate":[0,5]}}),t._pinLoaded=!0,t._reorderLayers()})})}},{key:"_hasAddLayer",value:function(e){return Object(w.contains)(e,this.state.addLayers)}},{key:"_lightningLayers",value:function(){var e=this,t=(this.state.addLayers,Object.keys(this.deviceLayers).filter(Object(w.test)(/lightning/))),a=function(){t.length>0&&(t.forEach(e._removeLayer),t.forEach(e._removeSource))};if(!this._hasAddLayer("lightning"))return a();var n=pr(function(e){var t=Object(w.pipe)(Object(w.path)(["info","coords","geo","coordinates"]),Object(w.nth)(1))(e);return"lightning-"+Math.floor(Math.abs(t)/5)},function(e){var t=Object(w.path)(["lastData","lightning_time"],e)||0,a=(9e5-(Date.now()-t))/9e5*.6,n=Object(w.path)(["lastData","lightning_distance"],e);return a<0&&(a=0,n=null),{type:"Feature",properties:{_id:e._id,lightning_distance:Object(O.isSomething)(n)?n:"",lightning_opacity:a},geometry:Object(w.path)(["info","coords","geo"],e)}},this.devices);Object.keys(n).forEach(function(a){var r,i,o=a+"-strike";if(e.sources[a])e.map.getSource(a).setData({type:"FeatureCollection",features:n[a]});else{e.sources[a]={type:"geojson",data:{type:"FeatureCollection",features:n[a]}};var c=5*Object(w.pipe)(Object(w.split)("-"),Object(w.nth)(1),function(e){return parseInt(e,10)})(a)+2.5;e.deviceLayers[a]={id:a,type:"circle",source:a,paint:{"circle-color":["rgba",196,196,196,["get","lightning_opacity"]],"circle-opacity":["step",["zoom"],0,5.7,1],"circle-stroke-opacity":["step",["zoom"],0,5.7,1],"circle-radius":["interpolate",["exponential",2],["zoom"],0,0,20,["*",["get","lightning_distance"],(r=1,i=c,1609.34*r/.075/Math.cos(i*Math.PI/180))]],"circle-stroke-width":3,"circle-stroke-color":["rgba",255,255,255,["get","lightning_opacity"]]}},e.deviceLayers[o]={id:o,type:"symbol",source:a,layout:{"icon-image":"lightning","icon-allow-overlap":!0},paint:{}},e.map.addSource(a,e.sources[a]),e.map.addLayer(e.deviceLayers[a]),e.map.addLayer(e.deviceLayers[o]),e.map.setFilter(a,["!=",["get","lightning_distance"],""]),e.map.setFilter(o,["!=",["get","lightning_distance"],""]),e.map.moveLayer(a),e.map.moveLayer(o)}t=t.filter(function(e){return e!==a&&e!==o})}),a()}},{key:"_reorderLayers",value:function(){var e=this;["webcam","video","video-enhanced-2","video-enhanced-1","social","alert","fav"].forEach(function(t){e.sources[t]&&e.map.moveLayer(t)}),this._pinLoaded&&this.map.moveLayer("pin")}},{key:"_setDevices",value:function(e){var t=this.props,a=(t.device,t.social),n=t.socialActions,r=t.deviceActions;e&&(this.devices=e);var i=this.map.getBounds(),o=i.toArray(),c=Object(cr.a)(Object(w.flatten)(o)),s=a.allPosts.filter(function(e){return Object(w.path)(["geo"],e)&&Object(or.a)(c,e.geo)});n.setMapVisiblePosts(s);var l=Object(w.pluck)("deviceId",s);r.setMapVisibleDevices(this.devices.filter(function(e){return ur(e)&&i.contains(ur(e).coordinates)||l.includes(e._id)}))}},{key:"_doFetch",value:function(e,t){var a=this;return this.props.deviceActions.fetchDevice(e).then(function(e){var n=Object(w.path)(["data"],e);return a.setDevices((n||[]).filter(t?w.identity:O.showDeviceOnMap),!1),e})}},{key:"setDevices",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=Object(w.map)(ur,e),r=Object(w.map)(Object(w.path)(["coordinates"]),n);if(this._setDevices(Object(w.uniqBy)(Object(w.path)(["_id"]),Object(w.concat)(e,this.devices))),t)if(r.length>0){var i=new mapboxgl.LngLatBounds;r.forEach(function(e){i.extend(e)}),t=i}else t=!1;a&&(this.newCenter=a),this._updateDeviceDots(t)}},{key:"postsSearch",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=this.props.socialActions,n=Object.assign({expiresAt:{$gt:Date.now()},status:"published"},t);a.fetchPosts(n).then(function(t){var a=Object(w.pluck)("deviceId",t.data),n=Object(w.pluck)("_id",e.devices),r=a.filter(function(e){return!n.includes(e)});r.length>0&&Object(w.splitEvery)(20,r).forEach(function(t){e._doFetch({public:{$ne:null},_id:{$in:t}},!0)})})}},{key:"searchMap",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.props,a=t.socialActions,n=(t.device,t.deviceActions,this._layer());if(""===n||O.MAP_LAYER_CONFIG[n].labelParam){var r=(e.bounds||this.map.getBounds().toArray()).map(function(e){return e[0]>180?[180,e[1]]:e[0]<-180?[-180,e[1]]:e}),i={$publicBox:r,$limit:100,rank:2,skipCache:!0},o=this.map.getZoom();this._doFetch(i),(!o||o>=6.5)&&this._doFetch(Object(w.omit)(["rank"],i)),a&&""===n&&this.postsSearch({$publicBox:r})}}},{key:"_mapOpts",value:function(){return Object.assign({hideNavControl:!1,noScrollZoom:!1,padding:50,paddingTop:200,hidePopupValue:!1,interactive:!0,maxZoom:13},this.props.mapOpts)}},{key:"_shouldShowDotLabel",value:function(e){var t=this.props,a=(t.user,t.device),n=(a.focusDevice,a.hoverDevice);return!n||(!(!n||!this._hoverDevice)||!(!n||!this._shouldDotPulse(e)))}},{key:"_getFieldForDevice",value:function(e){var t=this.props,a=t.user,n=t.device,r=(n.focusDevice,n.hoverDevice,this._layer()),i=Object(O.getLayerParam)(r),o=Object(O.convertUnitForUser)(a,i,Object(w.path)(["lastData",i],e)),c="";return this._shouldShowDotLabel(e)?Object(O.isSomething)(o)&&(c="tempf"===i?o+"\xb0":"hourlyrainin"===i?o+Object(O.getSuffForUser)(a,i).replace("in/hr",'"').replace("mm/hr","mm").replace(" ",""):"windgustmph"===i?Math.round(o):o):c=" ",c}},{key:"_getFeatureForDevice",value:function(e){var t=this.props,a=(t.user,t.device),n=(this.state.zoom,a.focusDevice),r=a.hoverDevice,i={_id:e._id,field:this._getFieldForDevice(e),focused:n&&n._id===e._id,hovered:r&&r._id===e._id,opacity:1,size:1};return"wind"===this._layer()&&(i.winddir=Object(w.path)(["lastData","winddir"],e)),{type:"Feature",properties:i,geometry:Object(w.path)(["info","coords","geo"],e)}}},{key:"_getFeatureForPost",value:function(e){var t=this.props,a=(t.user,t.device),n=a.focusDevice,r=a.hoverDevice;return{type:"Feature",properties:{_id:e.deviceId,field:"\ud83c\udf88",focused:n&&n._id===e.deviceId,hovered:r&&r._id===e.deviceId,opacity:1,size:1},geometry:Object(w.path)(["data","centerGeo"],e)||Object(O.centerPointForGeo)(e.geo)}}},{key:"_updateDeviceDots",value:function(e){var t=this,a=this.props,n=a.deviceActions,r=a.user,i=a.device,o=a.social,c=(i.hoverDevice,this._layer()),s=this._mapOpts(),l=s.padding;this._onReady(function(){var a=[],i=[],u={};if(""===c){a=o.allPosts.filter(O.postIsActive),i=Object(O.deviceIdsWithActivePosts)(a);var d=a.filter(Object(w.propEq)("type","alert")),m=d.map(t._getFeatureForPost),p=Object(w.pluck)("deviceId",d),h=a.filter(function(e){return"alert"!==e.type&&!p.includes(e.deviceId)}).map(t._getFeatureForPost);h.length>0&&(u.social=h),d.length>0&&(u.alert=m)}var f=t.map.getBounds(),b=t.devices.filter(function(e){return!i.includes(e._id)}).filter(function(e){return!f||Object(w.path)(["info","coords","geo","coordinates"],e)&&f.contains(Object(w.path)(["info","coords","geo","coordinates"],e))}),v=Object.assign({},pr(t._getLayerIdForDevice,t._getFeatureForDevice,b),u);if(e){var g={padding:{top:s.paddingTop,bottom:l,left:l,right:l},maxZoom:s.maxZoom};t.newCenter&&(g.center=t.newCenter,t.setPin(t.newCenter),t.newCenter=null),t.map.fitBounds(e,g)}var y=Object.keys(t.deviceLayers).filter(Object(w.pipe)(Object(w.test)(/lightning/),w.not));Object.keys(v).forEach(function(e){if(t.map.hasImage(e)||dr.map(Object(w.nth)(0)).includes(e)||t.map.addImage(e,t._getDot(e),{pixelRatio:2}),t.sources[e]&&t.map.getSource(e))t.map.getSource(e).setData({type:"FeatureCollection",features:t._handleHoverDevices(e,v[e])});else{t.sources[e]={type:"geojson",data:{type:"FeatureCollection",features:v[e]}};var a=Object(w.path)([c,"rotate"],O.MAP_LAYER_CONFIG);t.deviceLayers[e]={id:e,type:"symbol",source:e,layout:{"icon-image":e,"icon-allow-overlap":!0,"text-field":"{field}","text-optional":!0,"text-anchor":"top","text-allow-overlap":!1,"text-size":["case",["==",["get","field"]," "],0,27],"icon-size":["get","size"],"text-offset":[0,.5],"icon-rotate":a||0,"text-font":["Ubuntu Medium"]},paint:{"text-color":"dark"===Object(O.getTheme)(r)?"#fff":"#000","icon-opacity":["get","opacity"]}},/pws-/.test(e)?t.deviceLayers[e].minzoom=7.5:"radar"===t._layer()&&(t.deviceLayers[e].minzoom=5),t.map.on("mouseleave",e,function(e){t.map.getCanvas().style.cursor="",t._hoverDevice=null,n.hoverDevice()}),t.map.on("mouseover",e,function(e){e.features[0]&&(t.map.getCanvas().style.cursor="pointer",t._hoverDevice=t._getDeviceForEvt(e),n.hoverDevice(t._hoverDevice))}),t.map.addSource(e,t.sources[e]),t.map.addLayer(t.deviceLayers[e]),t.map.setFilter(e,["!=",["get","field"],""])}y=y.filter(function(t){return t!==e})}),y.forEach(t._deleteLayer),t._mapInteractions(),t._lightningLayers(),t._reorderLayers()})}},{key:"_mapInteractions",value:function(){var e=this;if(!this._mapClickLoaded){var t=this.props,a=t.setSidebarCheck,n=t.deviceActions,r=t.onDeviceClick;t.user;this._mapClickLoaded=!0,this.map.on("click",function(t){var i=e.map.queryRenderedFeatures(t.point,{layers:Object.keys(e.deviceLayers)});if(t.features=i,i[0]){var o=e._getDeviceForEvt(t);n.focusDevice(o),a?n.setSidebar(a(t)):n.setSidebar(!0),r&&r(o,{layer:Object(w.path)(["layer","source"],i[0]),map:e})}}),this.map.on("mouseleave",function(t){e._hoverDevice=null})}}},{key:"_popup",value:function(e){var t=this,a=this.props,n=a.onViewDashboardClick,r=a.device.mapLayer;if(n){var i=this._mapOpts();if(this.popup&&this.popup.remove(),e.features&&e.features[0]&&!["social","webcam"].includes(e.features[0].layer.id)){var o=function(){return t.popup.remove()},c=this._getDeviceForEvt(e),s=!1;"touchend"===e.type&&(this.isTouch=!0,s=!0,c||o()),this.popup=new mapboxgl.Popup({closeButton:s,maxWidth:"300px",closeOnClick:!0});for(var l=e.features[0].geometry.coordinates.slice();Math.abs(e.lngLat.lng-l[0])>180;)l[0]+=e.lngLat.lng>l[0]?360:-360;var u=document.createElement("div");Object(sr.render)(m.a.createElement(h.a,{store:lr.a},m.a.createElement(jo,{onMouseLeave:this.isTouch?null:o,currentDevice:c,layerParam:!i.hidePopupValue&&Object(O.getLayerParam)(r),onClick:function(){n&&n(c)}})),u),this.popup.setLngLat(l).setDOMContent(u),this.popup.addTo(this.map)}}}},{key:"_removePopup",value:function(){this.popup&&this.popup.remove()}},{key:"_handleHoverDevices",value:function(e,t){var a=this;if(!["webcam","wind","social","alert","fav","video","video-enhanced-1","video-enhanced-2"].includes(e))return t;var n=Object(w.find)(this._shouldDotPulse,this.devices);return n?t.map(function(e){return e.properties._id===n._id?e.properties.size=1.4:e.properties.size=1,e.properties.field=a._getFieldForDevice(Object(w.find)(Object(w.propEq)("_id",e.properties._id),a.devices)),e}):t}},{key:"_removeLayer",value:function(e){this.map.getLayer(e)&&(this.map.removeLayer(e),delete this.deviceLayers[e])}},{key:"_removeSource",value:function(e){this.map.getSource(e)&&(this.map.removeSource(e),delete this.sources[e])}},{key:"_deleteLayer",value:function(e){this._removeLayer(e),this._removeSource(e)}},{key:"setCenter",value:function(e){this.newCenter=e}},{key:"_getDeviceForEvt",value:function(e){if(e)return Object(w.find)(Object(w.propEq)("_id",e.features[0].properties._id),this.devices)}},{key:"_getDot",value:function(e){var t=100,a=this.map,n=e.split("-"),r=Object(Ye.a)(n,3),i=r[0],o=r[1],c=r[2],s="official"===i,l=!!c;return{width:t,height:t,data:new Uint8Array(t*t*4),onAdd:function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,this.context=e.getContext("2d")},render:function(){var e=performance.now()%2e3/2e3,n=(t=l?100:75)/2*.3,r=n+5,i=this.context,c="".concat(Object(O.hexToRgb)(o).r,",").concat(Object(O.hexToRgb)(o).g,",").concat(Object(O.hexToRgb)(o).b);(s||l)&&(i.clearRect(0,0,this.width,this.height),i.beginPath(),l?(r=t/2*.7*e+n,i.fillStyle="rgba(".concat(c,",")+(1-e)+")"):i.fillStyle="#000000",i.arc(this.width/2,this.height/2,r,0,2*Math.PI),i.fill());var u="transparent"===o;if(i.beginPath(),i.arc(this.width/2,this.height/2,n,0,2*Math.PI),i.fillStyle=u?s?"#7c7d88":o:"#"+o,i.strokeStyle=u?"rgba(0, 0, 25, 0.5)":"rgba(255, 255, 255, 1)",i.lineWidth=4,i.fill(),i.stroke(),this.data=i.getImageData(0,0,this.width,this.height).data,l)a.triggerRepaint();else if(this.drawn)return!1;return this.drawn=!0,!0}}}},{key:"_aerisTime",value:function(e,t){return t||(t=this.state.now),parseInt((e-t.valueOf())/1e3,10)}},{key:"_aerisLayers",value:function(e){var t=e||this._layer(),a=(Object(w.path)([t,"aerisLayers"],O.MAP_LAYER_CONFIG)||[]).slice(0);return this._hasAddLayer("lightning")&&a.push("lightning-strikes-15m-icons"),a}},{key:"_addAerisLayers",value:function(){this.state.zoom;var e=O.MAP_LAYER_CONFIG[this._layer()];if(e&&this.aerisMap){if(e.aerisModule)this.aerisMap.addModule(e.aerisModule),this.lastModule=e.aerisModule;else{this.setState({animationNow:Date.now(),animationTime:Date.now()}),this.aerisMap.addLayers(this._aerisLayers(),{timeline:{from:-7200,to:0,intervals:12}})}e.minZoom&&this.map.getZoom()>e.minZoom&&(this.map.setZoom(e.minZoom),this.setState({zoom:e.minZoom})),e.markerClick&&this.aerisMap.on("marker:click",e.markerClick)}}},{key:"_removeAerisLayers",value:function(e){if(this.lastModule){var t=this.aerisMap.getSourceForId(this.lastModule.id);this.lastModule=null,t&&this.aerisMap.removeSource(t),this.aerisMap.off("marker:click",O.MAP_LAYER_CONFIG["covid-19"].markerClick)}this.aerisMap&&this.aerisMap.removeLayers(this._aerisLayers(e))}},{key:"_mapMoveEnd",value:function(e){this.state.userInteracted;this.isAnimating()&&this.stopAnimation(),this.setState({zoom:this.map.getZoom()})}},{key:"_mapMoveStart",value:function(){this.isAnimating()}},{key:"_addMarkerImage",value:function(e,t){this.images[e]=this.images[e]||[],this.images[e].push(t)}},{key:"_loadImages",value:function(){var e=this;return Promise.all(dr.map(function(t){var a=t[0],n=t[1];return new Promise(function(t,r){e.map.hasImage(a)||e.map.loadImage(mr+"/"+n+".png",function(n,r){if(n)throw n;e.map.hasImage(a)?t():e.map.addImage(a,r)}),t()})}))}},{key:"_onMapLoad",value:function(){var e=this,t=this.props,a=t.coords,n=t.onMapLoad;this._mounted&&O.aeris&&(this._loadImages().then(function(){e.onReady.forEach(function(e){return e()}),e.onReadyCalled=!0}),O.aeris.views().then(function(t){e.aerisMap=new t.InteractiveMap(e.map,a?{center:{lat:a[1],lon:a[0]},zoom:Object(O.getStorage)("lastZoom")}:{}),e.aerisMap.on("move:end",e._mapMoveEnd.bind(e)),e.aerisMap.on("move:start",e._mapMoveStart.bind(e)),e.aerisMap.on("timeline:change",e._timelineChange.bind(e)),n&&n(e.map),e.map.resize()}))}},{key:"_mapStyle",value:function(){return"light"===Object(O.getTheme)(this.props.user)?"https://api.maptiler.com/maps/d9324f85-e435-4500-91ce-acde2246c42d/style.json?key=0b7htcdKMAS3HuYedMi7":"https://api.maptiler.com/maps/b35e471b-b6ec-43b5-b1ea-1a8bcd68771c/style.json?key=0b7htcdKMAS3HuYedMi7"}},{key:"componentDidMount",value:function(){var e=this,t=this.props,a=(t.user,t.onRef),n=t.coords;t.noScrollZoom;if(!Object(O.noMaps)()){var r=Object(O.getStorage)("lastLocationSearch"),i=[-102.2494,40.674533];n?i=n:r&&(i=[r.coords.lon,r.coords.lat]),this._mounted=!0;var o=this._mapOpts();if((Object(O.isDev)()||Object(O.isCordova)()||"http:"!==window.location.protocol)&&window.mapboxgl){var c=new mapboxgl.Map({container:this.id,style:this._mapStyle(),accessToken:"pk.eyJ1IjoiYW1iaWVudHdlYXRoZXIiLCJhIjoiY2syY2ZvaTd1MDJ0dzNsbzRzY3F4YWZhMiJ9.a7DVxlk_9Yf9157nrlE_3A",center:i,zoom:Object(O.getStorage)("lastZoom")||4,attributionControl:!1,maxZoom:18,logoPosition:"bottom-right",scrollZoom:!o.noScrollZoom,interactive:o.interactive,transition:{duration:300,delay:0}});this.map=c,this.map.addControl(new mapboxgl.AttributionControl({customAttribution:"\xa9 ".concat(Object(Ve.c)(),", ").concat(moment().format("YYYY"),". All rights reserved. | <a href=").concat(Object(Ve.e)().helpUrlBase+"legend/",' rel="noopener" target="_blank" class=\'map-legend\'>Map Legend</a>')}),"bottom-left"),o.hideNavControl||this.map.addControl(new mapboxgl.NavigationControl,"bottom-right"),console.log("loaded****"),this.map.on("load",this._onMapLoad.bind(this)),this.map.on("moveend",function(){e.searchMap()}),this.map.on("zoomend",function(t){(t.originalEvent||t.doSearch)&&e.searchMap(),t.searchDelay&&(e._searchDelayTout=clearTimeout(e._searchDelayTout),e._searchDelayTout=setTimeout(e.searchMap,t.searchDelay))}),a&&a(this)}}}},{key:"componentWillUnmount",value:function(){this._mounted=!1;var e=this.props.onRef;e&&e(void 0)}},{key:"_goToTime",value:function(e){this.aerisMap&&(this.aerisMap.timeline.goToTime(e),this.setState({animationTime:e,animationOffset:!1}))}},{key:"componentDidUpdate",value:function(e,t){var a=this;if(this.map&&this.props.common.online){this.state.playing;var n=Object(O.pathsChanged)(this.props,e,[["device","mapLayer"]]);if(n&&(this.stopAnimation(),this._removeAerisLayers(e.device.mapLayer),this._addAerisLayers()),Object(O.pathsChanged)(this.props,e,[["device","focusDevice"]])&&this.props.focusDevice){var r=ur(this.props.device.focusDevice).coordinates;Object(O.setStorage)("lastLocationSearch",Object(O.formatCoords)({},r)),this.setPin(r),this.map.flyTo({center:r})}if((Object(O.pathsChanged)(this.props,e,[["user","userUnits"],["device","hoverDevice"],["social","allPosts"]])||n||Object(O.pathsChanged)(this.state,t,["addLayers"]))&&this._updateDeviceDots(),Object(O.pathsChanged)(this.state,t,["zoom"])){var i=this.props.deviceActions;Object(O.setStorage)("lastZoom",this.state.zoom),i.setThing("mapZoom",this.state.zoom)}if(Object(O.pathsChanged)(this.props,e,[["device","deviceCache"],["device","devices"]])){var o=this.props.device,c=o.devices,s=o.deviceCache;this._setDevices(this.devices.map(function(e){if(c){var t=Object(w.find)(Object(w.propEq)("_id",e._id),c);if(t)return t}return s[e._id]?s[e._id]:e})),this._updateDeviceDots()}if(Object(O.pathsChanged)(this.props,e,[["device","sidebar"]])){setTimeout(function(){a.map&&a.map.resize(),a._setDevices()},250)}if(Object(O.getTheme)(this.props.user)!==Object(O.getTheme)(e.user)&&this.map.setStyle(this._mapStyle()),Object(O.pathsChanged)(this.props,e,[["coords"]])&&this.props.coords&&(this.setPin(this.props.coords),this.map.jumpTo({center:this.props.coords,zoom:14})),Object(O.pathsChanged)(this.props,e,[["mapBounds"]])&&this.props.mapBounds){!function e(){var t=a.map.getBounds();try{t.contains(a.props.mapBounds[0])&&t.contains(a.props.mapBounds[1])||(a.map.zoomOut({duration:100},{searchDelay:140}),setTimeout(e,110))}catch(n){console.log(n)}}()}}}},{key:"startAnimation",value:function(){this.aerisMap&&(this.aerisMap.timeline.play(),this.setState({playing:!0}))}},{key:"stopAnimation",value:function(){this.aerisMap&&this.aerisMap.timeline.stop(),this.setState({playing:!1})}},{key:"isAnimating",value:function(){return this.state.playing}},{key:"_timelineChange",value:function(e){var t=e.data,a=t.time,n=t.offset;n%6e5===0&&this.setState({animationTime:a,animationOffset:n})}},{key:"_dragging",value:function(){this.setState({dragging:!0})}},{key:"_notDragging",value:function(){this.setState({dragging:!1})}},{key:"_timeline",value:function(){var e=this.state,t=e.animationNow,a=e.animationTime,n=e.animationOffset,r=e.dragging;if("radar"!==this._layer())return null;var i=Object(O.roundDownMins)(10,t||Date.now()),o=Object(O.roundDownMins)(10,a||i),c=Object(O.roundDownMins)(10,n?a-n:i-72e5);return m.a.createElement("div",{className:N()("animation-timeline",{dragging:r||n})},m.a.createElement(ir.a,{step:6e5,minValue:c,maxValue:i,maxLabel:"Now",value:o,formatLabel:function(e){return e===i?"Now":moment(e).format("h:mma")},onChange:this._goToTime.bind(this),onChangeStart:this._dragging.bind(this),onChangeComplete:this._notDragging.bind(this)}))}},{key:"addLayerToggle",value:function(e){this.stopAnimation(),this._removeAerisLayers(),this._hasAddLayer(e)||Object(O.trackEvent)("map","layer",e),this.setState({addLayers:Object(O.toggleArr)(e,this.state.addLayers)},this._addAerisLayers.bind(this))}},{key:"layerToggle",value:function(e,t){var a=this.props,n=a.deviceActions,r=(a.device,this._layer());this.stopAnimation(),this._removeAerisLayers(),e!==r?(""!==r&&Object(O.trackEvent)("map","layer",r),n.setThing("mapLayer",e),this.setState({userInteracted:t,addLayers:[]})):(n.setThing("mapLayer",""),this.setState({userInteracted:t,addLayers:[]}))}},{key:"_buttons",value:function(){var e=this,t=this.state,a=(t.addLayers,t.zoom,t.playing),n=this.props,r=n.buttons,i=n.device,o=n.deviceActions,c=n.setSidebarCheck,s=i.mapVisibleDevices,l=this._layer(),u=function(t){return m.a.createElement("a",{title:t.replace("-",""),onClick:function(){return e.layerToggle(t,!0)},className:N()(t,{active:l===t},"main-btn"),key:t},t.replace("-"," "))},d=function(e,t,a){var n=function(e,t){return s.filter(function(t){return Object(O.isSomething)(Object(w.path)(["lastData",e],t))}).reduce(function(a,n){return a?t(Object(w.path)(["lastData",e],n),Object(w.path)(["lastData",e],a))?n:a:n},null)}(t,a);return m.a.createElement("a",{key:e+t,onMouseLeave:function(){o.hoverDevice()},onMouseEnter:function(){o.hoverDevice(n)},onClick:function(){o.focusDevice(n),o.hoverDevice(n),c||o.setSidebar(!0)}},m.a.createElement("span",{className:"label"},e),m.a.createElement(le,{row:Object(w.path)(["lastData"],n),type:t}))},p={radar:[m.a.createElement("a",{key:"play",className:N()("play sub",{active:this.isAnimating()}),onClick:function(){a?e.stopAnimation():e.startAnimation()}}),m.a.createElement("a",{key:"lightning",className:N()("lightning sub",{active:this._hasAddLayer("lightning")}),onClick:function(){return e.addLayerToggle("lightning")}}),m.a.createElement("div",{className:"high-low",key:"rain-high-low"},d("Evt Max","eventrainin",w.gt),d("Day Max","dailyrainin",w.gt))],wind:[m.a.createElement("div",{className:"high-low",key:"wind-high-low"},d("Max Gust","windgustmph",w.gt),d("Max Wind","windspeedmph",w.gt))],temp:[m.a.createElement("div",{className:"high-low",key:"temp-high-low"},d("Max","tempf",w.gt),d("Min","tempf",w.lt))]};return m.a.createElement("div",{className:"layer-btns"},Object.keys(O.MAP_LAYER_CONFIG).map(function(e){return p[e]?m.a.createElement("div",{className:N()("btn-wrap",{active:e===l},e),key:"btn-wrap-".concat(e)},u(e),p[e]):u(e)}),r)}},{key:"render",value:function(){var e=this,t=this.state;t.height,t.zoom;return m.a.createElement("div",{ref:function(t){return e.ref=t},className:N()("component-map",this._layer())},m.a.createElement("div",{className:"map",id:this.id}),this._buttons(),this._timeline())}}]),t}(d.PureComponent),fr=ae(hr);hr.displayName="Map";a(986);var br=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_forecast",value:function(){var e=this.props.forecast;if(e){var t=m.a.createElement("div",{className:"currently"},m.a.createElement(le,{type:"tempf",value:e.currently.temperature,after:"\xb0"}),"\xa0",m.a.createElement("span",null,Object(w.path)(["minutely","summary"],e)," "),m.a.createElement("span",null,Object(w.path)(["hourly","summary"],e)," "));return m.a.createElement("div",{className:"forecast"},t,this.props.chilrens||this.props.children)}}},{key:"render",value:function(){return m.a.createElement("div",{className:"component-forecast"},m.a.createElement("div",{className:"wrap"},this._forecast()))}}]),t}(d.PureComponent);br.displayName="Forecast";var vr=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={findingLocation:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t=this,a=this.props,n=a.onClick,r=a.onChange,i=this.state.findingLocation;return navigator.geolocation&&(e=m.a.createElement("a",{disabled:i,title:"Find My Location",className:N()("component-find-location-btn btn-long btn btn-primary",{"btn-loading":i}),onClick:function(e){e.stopPropagation(),n&&n(),t.setState({findingLocation:!0}),navigator.geolocation.getCurrentPosition(function(e){r&&r(e),t.setState({findingLocation:!1})},function(e){1===e.code&&window.alert("In order to use this feature you must give the site permission to find your location."),t.setState({findingLocation:!1})})}},m.a.createElement("span",{className:"text"},i?"Triangulating...":"Find my location"),m.a.createElement("i",{className:"glyphicon glyphicon-map-marker"}))),e}}]),t}(d.PureComponent);vr.displayName="FindLocationBtn",vr.displayName="FindLocationBtn",vr.displayName="FindLocationBtn";var gr=a(248),yr=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_ref",value:function(e){var t=this;this.resizeObserver||(this.resizeObserver=new gr.a(function(e){t.setState({width:e[0].contentRect.width,height:e[0].contentRect.height})}),this.resizeObserver.observe(e))}},{key:"componentWillUnmount",value:function(){this.resizeObserver&&this.resizeObserver.disconnect()}},{key:"render",value:function(){var e=this.props,t=e.now,a=e.onClose,n=e.user,r=e.forecast,i=e.expanded,o=this.state,c=o.width;o.height;if(!r)return null;var s,l=r.currently,u=void 0===l?{}:l,d=r.hourly,p=r.daily.data.filter(function(e){return moment(1e3*e.time).startOf("day").valueOf()>=moment(t).startOf("day").valueOf()}),h=p[0],f=5;if(i){f=10;var b=moment(1e3*u.time).dayOfYear(),v=0;s=m.a.createElement("div",{className:"hourly-wrap"},m.a.createElement("div",{className:"hourly"},Object(w.range)(0,48).map(function(e){var t=0===e?u:d.data[e],a="Now",r=moment(1e3*t.time);return e>0&&(a=r.format(1===Object(O.getUserUnitI)("hour24",n)?"H":"h")),b!==r.dayOfYear()&&(b=r.dayOfYear(),a=r.format("M/D"),v++),m.a.createElement("div",{key:"hour-".concat(e),className:N()("hour",{alt:1===v})},m.a.createElement("div",{className:"title"},a),m.a.createElement("div",{className:N()("weather-icon",t.icon)}),m.a.createElement(le,{type:"tempf",value:t.temperature,after:"\xb0",valueTransform:Math.round}))})))}var g=p.slice(1,1+f);return m.a.createElement("div",{ref:this._ref.bind(this),className:N()("device-forecast-widget component-forecast-long-term",{md:c>=260,lg:c>=320,"has-hourly":i})},m.a.createElement("a",{className:N()("close",{"on-close":a}),onClick:a}),m.a.createElement("div",{className:"forecast-text"},m.a.createElement(le,{type:"tempf",value:u.temperature,after:"\xb0"}),"\xa0",m.a.createElement("span",null,Object(w.path)(["minutely","summary"],r)," "),m.a.createElement("span",null,Object(w.path)(["hourly","summary"],r)," ")),m.a.createElement(xr,{className:"today",title:"Today",forecast:h}),s,m.a.createElement("div",{className:"other-days"},g.map(function(e){return m.a.createElement(xr,{key:"forecast-".concat(e.time),title:moment(1e3*e.time).format("dd").slice(0,1),forecast:e})})))}}]),t}(d.PureComponent),Er=g(yr);yr.displayName="ForecastLongTerm";var Or=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={show5Day:!1,currentDeviceHasLocation:!0,searched:!1,firstTime:!1},n.state.minimized=Object(O.getStorage)("forecastMinimized"),n._userMovedMap=(a=n)._userMovedMap.bind(a),n.onMapLoads=[],n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_mapSetDevices",value:function(e,t,a){var n=this;this.map?this.map.setDevices(e,t,a):this.onMapLoads.push(function(){n.map.setDevices(e,t,a)})}},{key:"componentDidCatch",value:function(e,t){console.log(e,t)}},{key:"componentDidMount",value:function(){this.props.isDashboard&&this._setCoords()}},{key:"componentDidUpdate",value:function(e,t){var a=this.props,n=(a.deviceActions,a.social),r=a.device,i=(r.dashboardDevice,r.focusDevice),o=(r.mapVisibleDevices,n.mapVisiblePosts,this.state),c=o.searched;o.firstTime;!c&&i&&this.setState({searched:!0}),Object(O.pathsChanged)(this.props,e,[["device","dashboardDevice","_id"],["isDashboard"]])&&this._setCoords()}},{key:"_setCoords",value:function(){var e=Object(w.path)(["device","dashboardDevice","info","coords","geo","coordinates"],this.props);e&&this.setState({coords:e})}},{key:"_onSearch",value:function(e,t){var a=this,n=this.state.coords;this._mapSetDevices(e,!0,n),this.onMoveEnd=function(){return setTimeout(a._userMovedMap,500)},t.searched&&this.setState({searched:t.searched})}},{key:"_onLocationChange",value:function(e){this.setState(e)}},{key:"_toggleShow5Day",value:function(){var e=this.props.userActions,t=!this.state.show5Day;e.doModal(t&&{type:"forecast-modal"}),this.setState({show5Day:t})}},{key:"_userMovedMap",value:function(){this.map&&this.map.searchMap()}},{key:"_onMapLoad",value:function(e){var t=this,a=this.props.onMapLoad;e.on("moveend",Object(O.debounce)(function(){t.setState({zoom:t.map?t.map.map.getZoom():null}),t.onMoveEnd&&(t.onMoveEnd(),t.onMoveEnd=null)},400)),this.onMapLoads.forEach(function(e){return e()}),a&&a(e)}},{key:"_onDeviceClick",value:function(e,t){var a=this.props,n=a.isDashboard,r=a.onDeviceChange;n&&r&&r(e,t)}},{key:"_onChooserChange",value:function(e){if(this.props.isDashboard){var t=this.props.onDeviceChange,a=Object(w.path)(["info","coords","geo","coordinates"],e);a?(this._mapSetDevices([e]),this.onMoveEnd=this._userMovedMap,this.setState({coords:a,currentDeviceHasLocation:!0})):this.setState({currentDeviceHasLocation:!1}),t&&t(e)}}},{key:"_onViewDashboardClick",value:function(e){var t=this.props,a=t.deviceActions,n=t.history,r=t.isDashboard,i=t.user;a.setDashboardDevice(e),Object(O.isLoggedIn)(i)?r||setTimeout(function(){n.push("/dashboard")},500):n.push(Object(O.getDeviceSharePath)(e))}},{key:"_showForecast",value:function(){var e=this.props.isDashboard,t=this.state,a=t.zoom,n=t.searched;return!!a&&(!(a<O.FORECAST_ZOOM)&&!(!e&&!n))}},{key:"_onFindLocation",value:function(e){}},{key:"render",value:function(){var e,t=this,a=this.props,n=(a.socialActions,a.deviceActions),r=a.device,i=a.className,o=a.isDashboard,c=a.user,s=this.state,l=s.searched,u=s.currentDeviceHasLocation,d=s.minimized,p=s.show5Day,h=(s.zoom,s.address,s.coords),f=s.timelineTime,b=r.sidebar,v=[];if(o||v.push(m.a.createElement("a",{key:"sidebar-btn",onClick:function(){return n.setSidebar(!b)},className:N()("sidebar-btn main-btn",{active:b})})),this._showForecast()){var g=[m.a.createElement("a",{key:"close",className:"close",onClick:function(){var e=!d;Object(O.setStorage)("forecastMinimized",e),t.setState({minimized:e})}}),m.a.createElement("a",{key:"show-24",onClick:this._toggleShow5Day.bind(this),className:"show-24"},"View 24 hour forecast")];e=m.a.createElement(_r,{coords:h},m.a.createElement(br,{chilrens:g})),v.push(m.a.createElement("a",{key:"forecast-btn",onClick:this._toggleShow5Day.bind(this),className:N()("forecast-btn main-btn",{active:p})},m.a.createElement("span",null,"24h"),m.a.createElement("span",null,"7d")))}var y,w=N()("map-with-forecast",{minimized:d,searched:l,"not-searched":!l,sidebar:b,"no-loc":!u},i);return/no-loc/.test(w)||(y=m.a.createElement(fr,{onRef:function(e){return t.map=e},timelineTime:f,coords:h,onMapLoad:this._onMapLoad.bind(this),onDeviceClick:this._onDeviceClick.bind(this),onViewDashboardClick:this._onViewDashboardClick.bind(this),buttons:v,user:c,mapOpts:{hidePopupValue:o,noScrollZoom:o,paddingTop:o?100:null}})),m.a.createElement("div",{className:w},m.a.createElement(E.a,{key:"expand",to:"/",className:"expand"}),e,p?m.a.createElement("div",{onClick:this._toggleShow5Day.bind(this),className:"forecast-long-term-wrap expanded"},m.a.createElement(_r,{coords:h},m.a.createElement(Er,{onClose:this._toggleShow5Day.bind(this),expanded:!0}))):null,y,m.a.createElement(nr,{onRef:function(e){return t.deviceChooser=e},onSearch:this._onSearch.bind(this),onLocationChange:this._onLocationChange.bind(this),onChange:this._onChooserChange.bind(this),hideSearch:!o,onFindLocation:this._onFindLocation.bind(this),open:!o}),this.props.children)}}]),t}(d.Component),wr=ae(Object(P.h)(Or));Or.displayName="MapWithForecast";var kr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.onGraph,a=e.pinned,n=e.expanded,r=(e.id,e.onExpand),i=e.onPin,o=e.onMinus,c=e.children,s=[];return r&&s.push(m.a.createElement("a",{tabIndex:"-1",className:"exp",title:n?"collapse widget":"expand widget",key:"exp",onClick:r})),t&&s.push(m.a.createElement("a",{tabIndex:"-1",title:"Jump to graph",className:"graph",key:"graph",onClick:t})),i&&s.push(m.a.createElement("a",{tabIndex:"-1",className:N()("pin glyphicon glyphicon-pushpin",{pinned:a}),key:"pin",onClick:i})),c&&s.push(c),o&&s.push(m.a.createElement("a",{tabIndex:"-1",className:N()("minus"),title:"Hide widget",key:"minus",onClick:o})),m.a.createElement("div",{className:"buttons-wrap component-min-max-btns"},m.a.createElement("div",{className:"buttons-rounded"},s))}}]),t}(d.PureComponent);kr.displayName="MinMaxBtns",kr.displayName="MinMaxBtns",kr.displayName="MinMaxBtns",kr.displayName="MinMaxBtns",kr.displayName="MinMaxBtns",kr.displayName="MinMaxBtns",kr.displayName="MinMaxBtns";var jr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_userFavs",value:function(){var e=Object(O.getUserSetting)("favs")(this.props.user)||{};return!Object(w.isEmpty)(e)&&e}},{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.device,n=e.social,r=e.userActions;if(!t||Object(O.deviceIsMine)(a,t._id))return null;var i=this.props.socialActions,o=this._userFavs(),c=Object(O.isFav)(n,t);return m.a.createElement(Sr,{className:N()("favstar",{on:c}),onClick:function(e){c?(i.removeUserAction(c._id),delete o[Object(w.path)(["to","macAddress"],c)]):(i.addUserAction({to:{_id:t._id,macAddress:t.macAddress,type:"device"},type:"fav"}),(o=o||{})[t.macAddress]={}),r.updateSetting("favs",o),e.stopPropagation(),e.preventDefault()}})}}]),t}(d.PureComponent),Nr=ae(jr);jr.displayName="FavStar";var Dr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_loginModal",value:function(){this.props.actions.doModal("login")}},{key:"render",value:function(){var e=this.props,t=e.children,a=e.to,n=e.onClick,r=e.className,i=e.user,o=(e.actions,N()("component-protected-link",r));return Object(O.isLoggedIn)(i)?a?m.a.createElement(E.a,{onClick:n,className:o,to:a},t):m.a.createElement("a",{className:o,onClick:n},t):m.a.createElement("a",{className:o,onClick:this._loginModal.bind(this)},t)}}]),t}(d.PureComponent),Sr=g(Dr);Dr.displayName="ProtectedLink",Dr.displayName="ProtectedLink",Dr.displayName="ProtectedLink",Dr.displayName="ProtectedLink",Dr.displayName="ProtectedLink",Dr.displayName="ProtectedLink",Dr.displayName="ProtectedLink";var Ar=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={lastFetch:Date.now()},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this._fetchForecast()}},{key:"componentDidUpdate",value:function(e){var t=this.props,a=t.coords,n=t.update,r=this.state.lastFetch,i=e.coords;(Object(O.pathsChanged)(e,this.props,[["update"]])||Object(O.coordsAreDifferent)(a,i)||Date.now()-r>3e5||Object(O.pathsChanged)(e,this.props,[["device","appPaused"]])&&!this.props.device.appPaused)&&a&&!1!==n&&this._fetchForecast()}},{key:"_fetchForecast",value:function(){var e=this.props,t=e.device,a=e.coords,n=e.actions,r=e.update,i=t.fetchForecastPending;a&&!i&&a[0]&&a[1]&&this.setState({lastFetch:Date.now()},function(){n.fetchForecast({lat:a[1],lon:a[0],force:r})})}},{key:"render",value:function(){var e=this.props,t=e.coords,a=e.device.forecastCache;if(!t)return null;var n=a[Object(O.coordString)(t[1],t[0])];return m.a.createElement("div",{className:"component-fetches-forecast"},m.a.cloneElement(this.props.children,Object(i.a)({forecast:n},Object(w.omit)(["device","deviceActions"],this.props))))}}]),t}(d.PureComponent),_r=ce(Ar);Ar.displayName="FetchesForecast";var Cr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){return m.a.createElement("div",{className:"component-help-links help"},m.a.createElement("a",{href:Object(Ve.e)().helpUrl,target:"_blank"},"Help Center"),m.a.createElement("a",{href:Object(Ve.e)().facebookUrl,target:"_blank"},"Facebook Group"))}}]),t}(d.PureComponent);Cr.displayName="HelpLinks",Cr.displayName="HelpLinks",Cr.displayName="HelpLinks",Cr.displayName="HelpLinks",Cr.displayName="HelpLinks",Cr.displayName="HelpLinks",Cr.displayName="HelpLinks";var xr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.forecast,a=e.className,n=e.title,r=void 0===n?"":n;return t?m.a.createElement("div",{className:N()("component-day-forecast",a,"title-".concat(r.replace(" ","-").toLowerCase()),{"precip-below-thresh":t.precipProbability<.4})},m.a.createElement("div",{className:"title"},r),m.a.createElement("div",{className:"title-precip precip"},m.a.createElement("span",{className:"drop"},parseInt(100*t.precipProbability,10),"%")),m.a.createElement("div",{className:N()("weather-icon",t.icon)}),m.a.createElement("div",{className:"hl"},m.a.createElement(le,{type:"tempf",value:t.temperatureMax,valueTransform:Math.round,after:"\xb0"}),m.a.createElement(le,{type:"tempf",value:t.temperatureMin,valueTransform:Math.round,after:"\xb0"})),m.a.createElement("div",{className:"precip"},m.a.createElement("span",{className:"drop"},parseInt(100*t.precipProbability,10),"%"))):null}}]),t}(d.PureComponent);xr.displayName="DayForecast";var Ir=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={hide:Object(O.getStorage)("cookies-accept")},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_onClick",value:function(){Object(O.setStorage)("cookies-accept",!0),this.setState({hide:!0})}},{key:"render",value:function(){return this.state.hide?null:m.a.createElement("div",{className:"component-cookies-banner"},m.a.createElement("span",null,Object(Ve.d)()," uses cookies to analyze traffic to this site."),m.a.createElement("a",{className:"clean",target:"_blank",href:Object(Ve.e)().helpUrlBase+"cookies/"},"See details"),m.a.createElement("a",{className:"btn btn-primary",onClick:this._onClick.bind(this)},"OK, got it"))}}]),t}(d.PureComponent);Ir.displayName="CookiesBanner",Ir.displayName="CookiesBanner",Ir.displayName="CookiesBanner",Ir.displayName="CookiesBanner",Ir.displayName="CookiesBanner",Ir.displayName="CookiesBanner",Ir.displayName="CookiesBanner";var Tr=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={alertObj:{}},n.checkAlert=(a=n).checkAlert.bind(a),n._fetchLeakAlertInstances=(a=n)._fetchLeakAlertInstances.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this.checkAlert(),this._fetchLeakAlertInstances()}},{key:"componentDidUpdate",value:function(){this.checkAlert(),this._fetchLeakAlertInstances()}},{key:"checkAlert",value:function(){var e=this,t=this.props,a=t.user;t.device;Object(O.isLoggedIn)(a)&&!this.alertObjFetched&&(this.alertObjFetched=!0,Mt.a.service("siteStats").find({query:{key:"aw"===Object(Ve.e)().token?"alert":"alert-".concat(Object(Ve.e)().token)}}).then(function(t){e.setState({alertObj:(t.data[0]||{}).body||{}})}))}},{key:"_fetchLeakAlertInstances",value:function(){var e=this,t=this.state,a=t.fetchedLeakAlertInstances,n=t.lastLeakId,r=this.props,i=r.device,o=r.alertActions,c=r.user;Object(O.isLoggedIn)(c)&&this._leakingParams()&&(n!==this._leakingParamsId()||Date.now()-a>36e5)&&this.setState({fetchedLeakAlertInstances:Date.now(),lastLeakId:this._leakingParamsId()},function(){var t=Object(O.getTheDevice)(i);o.fetchInstances({deviceId:t._id,$sort:{createdAt:-1},$limit:50,skipCache:!0}).then(function(t){e.setState({alertInstances:t.data})})})}},{key:"_dismissButton",value:function(e){var t=this;return m.a.createElement("a",{key:e,className:"dismiss",onClick:function(){Object(O.setStorage)(e,!0),t.forceUpdate()}},"Acknowledge")}},{key:"_leakingParams",value:function(){var e=this.props.device,t=Object(O.getTheDevice)(e),a=["leak1","leak2","leak3","leak4"];if(t&&t.lastData&&Object(O.dataHasAny)(t.lastData,a)&&Object(O.theDeviceIsMine)(e)){var n=a.filter(function(e){var a=t.lastData[e];return 1===a||2===a});return!(n.length<1)&&n}}},{key:"_leakingParamsId",value:function(){if(!this._leakingParams())return"";var e=this.props.device,t=Object(O.getTheDevice)(e);return this._leakingParams().map(function(e){return e+t.lastData[e]}).join("")}},{key:"_leakAlerts",value:function(){var e=this,t=this.state.alertInstances,a=this.props,n=a.user,r=a.device,i=(r.devices,r.deviceSummaries,Object(O.getTheDevice)(r)),o=this._leakingParams();if(!o)return null;var c=Object(O.getUserSetting)("alerts")(n)||{};return o.map(function(a){var n,o,s,l,u=i.lastData[a],d=[];if(t){var p=Object(w.find)(Object(w.allPass)([Object(w.pathEq)(["origAlert","param"],a),Object(w.pathEq)(["origAlert","threshold"],u)]),t);if(p)s=", "+(2===u?moment(p.createdAt).subtract(10,"m"):moment(p.createdAt)).fromNow(),l=p._id;else s=", more than "+moment(Object(w.last)(t).createdAt).fromNow(),l=a+"-"+u}if(1===u?(n=m.a.createElement("div",null,m.a.createElement("b",null,"Leak Detected:")," ",Object(O.getLabel)(a,r),s),o="error"):2===u&&(n=m.a.createElement("div",null,m.a.createElement("b",null,"Leak Offline:")," ",Object(O.getLabel)(a,r),s),o="warn offline"),c.type&&"none"!==c.type||d.push(m.a.createElement(E.a,{to:"/alerts",key:"alerts"},"Get SMS & Email Alerts")),l&&(Object(O.getStorage)(l)?n=null:d.push(e._dismissButton(l))),n)return m.a.createElement(on,{key:a,message:n,className:o},d)})}},{key:"render",value:function(){var e=this.state.alertObj,t=[];if(e.active){var a="site-"+e.message;Object(O.getStorage)(a)||t.push(m.a.createElement(on,Object.assign({key:"alert"},e),this._dismissButton(a)))}return this._leakAlerts()&&(t=Object(w.concat)(t,this._leakAlerts())),t.length<1?null:m.a.createElement("div",{className:"component-site-alerts"},t)}}]),t}(d.PureComponent);Tr.displayName="SiteAlerts",Tr.displayName="SiteAlerts",Tr.displayName="SiteAlerts",Tr.displayName="SiteAlerts",Tr.displayName="SiteAlerts",Tr.displayName="SiteAlerts",Tr.displayName="SiteAlerts";var Pr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=Object(O.deparam)(window.location.search),t=JSON.parse(e.props);console.log(t);var a,n={HumidityWidget:{component:Pi,type:"humidity"},ForecastWidget:{component:Ao,type:"forecast"},TempWidget:{component:pi,type:"temp"},IndoorWidget:{component:gi,type:"indoor"},Air2Widget:{component:ec,type:"air"},AirWidget:{component:ec,type:"air"},SolarWidget:{component:Ei,type:"solar"},UvWidget:{component:yi,type:"uv"},RainWidget:{component:fi,type:"rain"},WindWidget:{component:hi,type:"wind"},RelaysWidget:{component:ki,type:"relays"},SoilWidget:{component:Vi,widgetProps:{type:"soiltemp"+t.sensor,className:"soil"}},SunMoonWidget:{component:Oo,type:"sunMoon"}},r={DevicePopup:{component:jo}},i=Object.assign({device:{devices:[{}],fetchedDevices:{}},user:{},onChange:{}},t);if(/Widget$/.test(e.component)){var o=n[e.component],c=Object.assign({user:{},type:o.type},o.widgetProps,t);c.device=t.currentDevice||{},a=m.a.createElement(mi,c,m.a.createElement(o.component,i))}else a=m.a.createElement(r[e.component].component,i);return m.a.createElement("div",{className:"component-stand-alone-loader"},a)}}]),t}(d.PureComponent);ae(Pr);Pr.displayName="StandAloneLoader",Pr.displayName="StandAloneLoader",Pr.displayName="StandAloneLoader",Pr.displayName="StandAloneLoader",Pr.displayName="StandAloneLoader",Pr.displayName="StandAloneLoader",Pr.displayName="StandAloneLoader";var Mr=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this,t=this.props,a=t.currentDevice,n=t.userActions,r=["layerParam","post","paths","title","component","description","redirect","priv","currentDevice"];return m.a.createElement("span",{className:"component-share"},m.a.createElement("a",{onClick:function(t){t.preventDefault();var i=function(){n.doModal({type:"external-share",data:Object(w.pick)(r,e.props)})};a.public||Object(w.path)(["info","slug"],a)?i():n.doModal({type:"toggle-public-device",data:{currentDevice:a,onClick:i}})},className:"share"}))}}]),t}(d.PureComponent),Rr=ae(Mr);Mr.displayName="Share",Mr.displayName="Share",Mr.displayName="Share",Mr.displayName="Share",Mr.displayName="Share",Mr.displayName="Share",Mr.displayName="Share";var Lr=a(110),Fr=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t=this,a=this.state.inputCopied,n=this.props,r=n.onClick,i=n.text,o=n.linkTitle,c=n.className;return m.a.createElement(Lr.CopyToClipboard,{text:i,onCopy:(e="inputCopied",function(){var a={};a[e]=!0,t.setState(a),setTimeout(function(){a[e]=!1,t.setState(a)},2e3)})},m.a.createElement("a",{onClick:r,className:N()("component-copy-link",c)},a?"Copied!":o||"Copy"))}}]),t}(d.PureComponent);Fr.displayName="CopyLink";var Ur=a(239),Wr="https://d1hff0alv60e0m.cloudfront.net/ssr/";var Hr=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props,a=t.userActions,n=t.title,r=(t.description,t.redirect),i={title:n,desc:this._desc(),redirect:r},o=Object(O.ssisShareLink)(this._imgStr(),i);Object(O.trackEvent)("share",this.props.component,Object(w.last)((r||"").split("/"))),(new Image).src=Wr+this._imgStr()+"?width=800&height=421",a.createShortUrl({url:o}).then(function(t){e.setState({shortUrl:"https://ambientweather.net/share/"+t.shortUrl})})}},{key:"_imgStr",value:function(){var e=this,t=this.props,a=t.paths,n=t.component,r=Object(w.reduce)(function(t,a){var n;if("function"===typeof Object(w.last)(a)){var r=Object(w.last)(a);a=Object(w.slice)(0,-1,a),n=r(e.props)}else n=Object(w.path)(a,e.props);return Object(w.set)(Object(w.lensPath)(a),n,t)},{now:Object(O.roundDownMins)(1,Date.now())},a),i="component=".concat(n,"&props=").concat(JSON.stringify(r));return Ur.a.encode(i)}},{key:"_imgSrc",value:function(){return Wr+this._imgStr()+"?width=800&height=421&crop=true"}},{key:"_shareUrl",value:function(){return this.state.shortUrl||""}},{key:"_desc",value:function(){return this.props.description+"  ".concat(moment().format("MMM Do, YYYY @ "+Object(O.timeFormatForUser)(this.props.user).replace(" ",""))," on AmbientWeather.net")}},{key:"render",value:function(){var e=this,t=this.props,a=t.title,n=t.priv,r=this.state.copying;return m.a.createElement("div",{className:"component-external-share-modal"},m.a.createElement("div",{className:"body"},m.a.createElement("div",{className:"img-wrap"},m.a.createElement("img",{src:this._imgSrc()})),m.a.createElement("div",{className:"share-icons"},m.a.createElement("a",{href:"mailto:?subject=".concat(encodeURIComponent(a)," on AmbientWeather.net&body=").concat(encodeURIComponent(this._desc())),target:"_blank",className:"email"}),m.a.createElement("a",{href:"http://www.facebook.com/sharer/sharer.php?u=".concat(this._shareUrl()),target:"_blank",className:"fb"}),m.a.createElement("a",{href:"http://www.twitter.com/intent/tweet?url=".concat(this._shareUrl(),"&via=ambientweather"),target:"_blank",className:"twitter"}),m.a.createElement("a",{href:this._imgSrc(),target:"_blank",className:"download",download:!0})),m.a.createElement("div",{className:"priv-wrap"},n),m.a.createElement("div",{className:"copy"},m.a.createElement("input",{onFocus:function(e){return e.target.select()},type:"text",readOnly:!0,value:this._shareUrl(),className:"form-control"}),m.a.createElement(Lr.CopyToClipboard,{text:this._shareUrl(),onCopy:function(){e.setState({copying:!0}),setTimeout(function(){e.setState({copying:!1})},2e3)}},m.a.createElement("a",{className:"btn btn-primary btn-long"},r?"Copied!":"Copy Link")))))}}]),t}(d.PureComponent),Br=ae(Hr);Hr.displayName="ExternalShareModal",Hr.displayName="ExternalShareModal",Hr.displayName="ExternalShareModal",Hr.displayName="ExternalShareModal",Hr.displayName="ExternalShareModal",Hr.displayName="ExternalShareModal",Hr.displayName="ExternalShareModal";var Yr=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e)))._closeModal=(a=n)._closeModal.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_modalWrap",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.props.user;return m.a.createElement(x.a,{portalClassName:N()("app","component-sitewide-modals","login-modal","general-modal",Object(O.getTheme)(a),t.className,this._modalType(),{ios:Object(O.isIos)()}),contentLabel:"Share Device Modal",isOpen:!0,onRequestClose:this._closeModal,style:O.generalModalStyle},m.a.createElement("a",{className:"close",onClick:this._closeModal}),e)}},{key:"_modalType",value:function(){return Object(w.path)(["modal","type"],this.props.user)}},{key:"_closeModal",value:function(e){var t=this.props,a=t.location,n=t.history;this.props.userActions.doModal("");var r=new URLSearchParams(a.search);"webcam"===r.get("show")&&(r.delete("show"),n.replace({pathname:a.pathname,query:r.toString()})),e&&e.stopPropagation&&e.stopPropagation()}},{key:"render",value:function(){var e=this.props,t=e.userActions,a=e.user,n=e.device,r=null,i=this._modalType();if("login"===a.modal)r=this._modalWrap([m.a.createElement("h2",{key:"h2"},"You'll need to login to use that feature"),m.a.createElement("div",{className:"body",key:"body"},m.a.createElement(E.a,{className:"btn btn-primary btn-lg white",to:"/welcome",onClick:this._closeModal},"Create Your Account"),m.a.createElement(E.a,{className:"btn btn-primary btn-lg",to:"/signin",onClick:this._closeModal},"Login"))]);else if("export"===i)r=m.a.createElement(Uo,null);else if("webcam"===i){var o=a.modal.data;r=m.a.createElement("div",{onClick:this._closeModal,className:N()("webcam-modal",{video:Object(O.hasVideo)(o)})},m.a.createElement(Ko,{currentDevice:o,playVideo:!0}),Object(O.userCanSocialPost)(a,n)&&m.a.createElement("span",{className:"component-share"},m.a.createElement("a",{className:"share btn btn-primary btn-white",onClick:function(e){e.stopPropagation(),t.doModal({type:"create-post",data:{currentDevice:o,webcamSnapshot:o._id,video:!0}})}},"Share")))}else"image"===i?r=m.a.createElement("div",{onClick:this._closeModal,className:"image-modal"},m.a.createElement("div",{className:"image img-contain",style:{backgroundImage:"url(".concat(a.modal.data.url,")")}})):"enhanced-cam"===i?r=this._modalWrap(m.a.createElement(Pa,Object.assign({},a.modal.data,{user:a,userActions:t}))):"cell-plan"===i?r=this._modalWrap(m.a.createElement(Ma,Object.assign({},a.modal.data,{user:a,userActions:t}))):"external-share"===i?r=this._modalWrap(m.a.createElement(Br,a.modal.data)):"toggle-public-device"===i?r=this._modalWrap(m.a.createElement("div",{className:"device-private"},m.a.createElement("h4",null,"In order to share you'll need to make your device public."),m.a.createElement(Mo,a.modal.data))):"create-post"===i?r=this._modalWrap(m.a.createElement(pt,Object.assign({onSuccess:this._closeModal},a.modal.data))):"create-username"===i&&(r=this._modalWrap(m.a.createElement(Nn,{onDone:this._closeModal})));return r}}]),t}(d.PureComponent),Gr=Object(P.h)(Yr);Yr.displayName="SitewideModals";var zr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){if(!window.filepicker){var e=document.createElement("script");e.type="text/javascript",e.src="https://static.filestackapi.com/filestack-js/3.x.x/filestack.min.js",document.head.appendChild(e)}}},{key:"render",value:function(){var e=this.props,t=e.className,a=e.onSuccess,n=e.children,r=e.pickerOpts;return m.a.createElement("a",{className:N()("component-image-upload-link",t),onClick:function(){filestack.init("AfHgMsa53Rv6WaWHxxZOfz").picker(Object.assign({accept:["image/*"],fromSources:["local_file_system","url","facebook","instagram"],onUploadDone:function(e){e.filesUploaded[0]&&a&&a(e.filesUploaded[0].url,e)}},r)).open()}},n)}}]),t}(d.PureComponent);zr.displayName="ImageUploadLink";var Kr=a(79),qr=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={initialClientX:0,finalClientX:0,initialClientY:0,finalClientY:0},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"handleTouchStart",value:function(e){this.setState({initialClientX:e.nativeEvent.touches[0].clientX,initialClientY:e.nativeEvent.touches[0].clientY})}},{key:"handleTouchMove",value:function(e){this.setState({finalClientX:e.nativeEvent.touches[0].clientX,finalClientY:e.nativeEvent.touches[0].clientY})}},{key:"handleTouchEnd",value:function(){var e=this.props,t=e.onSwipeUp,a=e.onSwipeDown,n=e.onSwipeLeft,r=e.onSwipeRight,i=this.props.threshold||10;this.state.finalClientX>this.state.initialClientX&&this.state.finalClientX-this.state.initialClientX>i&&r&&r(this.state),this.state.finalClientX<this.state.initialClientX&&this.state.initialClientX-this.state.finalClientX>i&&n&&n(this.state),this.state.finalClientY>this.state.initialClientY&&this.state.finalClientY-this.state.initialClientY>i&&a&&a(this.state),this.state.finalClientY<this.state.initialClientY&&this.state.initialClientY-this.state.finalClientY>i&&0!==this.state.finalClientY&&t&&t(this.state),this.setState({initialClientX:0,finalClientX:0,initialClientY:0,finalClientY:0})}},{key:"render",value:function(){return m.a.createElement("span",Object(Kr.a)({className:this.props.className,onTouchStart:this.handleTouchStart.bind(this),onTouchEnd:this.handleTouchEnd.bind(this),onTouchMove:this.handleTouchMove.bind(this)},"className","component-swipe-handler"),this.props.children)}}]),t}(d.PureComponent);qr.displayName="SwipeHandler",qr.displayName="SwipeHandler",qr.displayName="SwipeHandler",qr.displayName="SwipeHandler",qr.displayName="SwipeHandler",qr.displayName="SwipeHandler",qr.displayName="SwipeHandler";var Vr=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.dateutc;if(!e)return null;"string"===typeof e&&(e=new Date(e).getTime());var t,a,n=Date.now()-e;return n<6e4?t=moment.duration(n).seconds()+"s":n<36e5?t=moment.duration(n).minutes()+"m":n<864e5?t=moment.duration(n).hours()+"h":n<6048e5?t=moment.duration(n).days()+"d":(a=!0,t=moment(e).format("MMM D")),m.a.createElement("span",{className:N()("component-from-now",{"over-week":a})},m.a.createElement("span",{className:"long"},moment(e).fromNow()),m.a.createElement("span",{className:"short"},t),m.a.createElement("span",{className:"full"},moment(e).format("MMM D, YYYY h:mma")))}}]),t}(d.PureComponent);Vr.displayName="FromNow";var $r=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t=this.props,a=t.thing,n=t.type,r=t.actions,i=a.likes;i&&(e=function(e){var t=Math.log10(Math.abs(e))/3|0;if(0==t)return e;var a=["","k","M","G","T","P","E"][t];return(e/Math.pow(10,3*t)).toFixed(1)+a}(i));var o=Object(w.path)(["liked"],a);return m.a.createElement("span",{className:"component-like"},m.a.createElement(Sr,{className:N()({liked:o}),onClick:function(e){o?r.removeUserAction(o):r.addUserAction({to:{_id:a._id,userId:a.userId,type:n},type:"like"}),e.stopPropagation(),e.preventDefault()}}),m.a.createElement("span",{className:"count"},e))}}]),t}(d.PureComponent),Qr=vn($r);$r.displayName="Like";var Xr={},Jr=function(e){var t=e.sort(function(e,t){return e.localeCompare(t)}).join("")||"all",a=Xr[t]||[],n=Object(w.pipe)(w.toPairs,Object(w.filter)(function(t){return oe.owise1.doArraysIntersect(e,t[1].tags||[])}),Object(w.map)(Object(w.nth)(0)))(O.AD_CONFIG),r=n.filter(function(e){return!a.includes(e)}),i=r[Math.floor(Math.random()*r.length)],o=Object(w.append)(i,a);return Xr[t]=o.length===n.length?[]:o,i},Zr=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={},a.state.adKey=Jr(e.tags||[]),a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.query,t=this.state.adKey;if(!t)return null;var a=(O.AD_CONFIG[t]||{}).url||"https://ambientweather.com/go/".concat(t);return e&&(a+="?"+Object(w.pipe)(Object(w.mapObjIndexed)(function(e,t){return"".concat(t,"=").concat(e)}),w.values,Object(w.join)("&"))(e)),m.a.createElement("a",{target:"_blank",style:{backgroundImage:"url(https://ambientweather.net/ads/".concat(t,".png)")},href:a,className:N()("component-generic-ad",t)})}}]),t}(d.PureComponent);Zr.displayName="GenericAd",Zr.displayName="GenericAd",Zr.displayName="GenericAd",Zr.displayName="GenericAd",Zr.displayName="GenericAd",Zr.displayName="GenericAd",Zr.displayName="GenericAd";var ei=function(e){return{label:e.info.name,location:e.info.coords,device:e}},ti=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={option:0,open:!1,address:""},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.currentDevice,a=e.user,n=e.userActions,r=e.location,i=a.fetchInfoPending,o=a.ipInfo;i||o||n.fetchInfo(),t?this.setState({selected:ei(t)}):r?this.setState({selected:r}):this._checkSelected()}},{key:"componentDidUpdate",value:function(e,t){var a=this.props.onChange,n=this.state.open;this._checkSelected(),a&&Object(O.pathsChanged)(t,this.state,[["selected"]])&&a(this.state.selected),Object(O.pathsChanged)(t,this.state,[["open"]])&&n&&this.ref&&this.ref.refs.input.focus()}},{key:"_checkSelected",value:function(){var e=this.props.device.fetchDevicesFetched;if(!this.state.selected&&e){var t=this._locationOptions();t.length>0&&this.setState({selected:t[0]})}}},{key:"_locationOptions",value:function(){var e=this.props,t=e.device,a=e.user.ipInfo,n=[],r=(t.devices||[]).filter(function(e){return Object(w.path)(["info","coords"],e)&&Object(O.deviceIsMine)(t,e._id)}).map(ei);r.length>0&&(n=r);var i=Object(O.getStorage)("lastLocationSearch");return i?n.push({label:i.label||i.location,location:{location:i.location,geo:i.geo}}):a&&Object(w.path)(["city"],a)&&Object(w.path)(["state"],a)&&n.push({label:a.city+", "+a.state,location:{location:a.city+", "+a.state,geo:{type:"Point",coordinates:[a.longitude,a.latitude]}}}),n}},{key:"render",value:function(){var e=this,t=this.state,a=t.address,n=t.selected,r=void 0===n?{}:n,i=t.open,o=this._locationOptions(),c=m.a.createElement("a",{onClick:function(){return e.setState({open:!i})},className:"selected"},m.a.createElement("div",null,m.a.createElement("b",null,r.label),m.a.createElement("span",null,Object(w.path)(["location","location"],r))),m.a.createElement("span",{className:"search-locations"},"Search locations"));i&&(c=m.a.createElement("div",{className:"autocomplete-wrap"},m.a.createElement(qn,{ref:function(t){e.ref=t},value:a,types:[],type:"text",className:"autocomplete",placeholder:"Search for your location",onPlaceSelected:function(t){e.setState({open:!1,address:"",selected:{label:t.formatted_address,location:{location:Object(O.findLocationFromGoogleRes)(t.address_components),geo:{type:"Point",coordinates:[t.geometry.location.lng(),t.geometry.location.lat()]}}}})},onChange:function(t){e.setState({address:t.target.value})}}),m.a.createElement("a",{onClick:function(){return e.setState({open:!1,address:""})},className:"glyphicon x-gray"})));var s=o.filter(function(e){return r.location&&e.location.geo.coordinates[0]!==r.location.geo.coordinates[0]&&e.location.geo.coordinates[1]!==r.location.geo.coordinates[1]});return m.a.createElement("div",{className:"component-quick-location"},c,m.a.createElement("div",{className:"locations"},s.map(function(t,a){return m.a.createElement("a",{onClick:function(){return e.setState({selected:t,open:!1})},key:a},t.label!==t.location.location?t.label+", ":null,t.location.location)})))}}]),t}(d.PureComponent),ai=ae(ti);ti.displayName="QuickLocation",ti.displayName="QuickLocation",ti.displayName="QuickLocation";var ni=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={hasError:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidCatch",value:function(e,t){var a=this.props,n=a.user,r=a.location,i=this.state.errorId;if(!Object(O.getStorage)("error-boundry"))return console.log("reloding"),Object(O.setStorage)("error-boundry",!0),Object(O.errorLog)({errorInfo:t,user:n.info,location:r.pathname,device:window.device,resolution:"refresh",version:window._ambientVersion}),void Object(O.reloadApp)();var o=Object(w.path)(["info","email"],n);Object(O.errorLog)({errorId:i,errorInfo:t,user:n.info,location:r.pathname,device:window.device,resolution:"whitescreen",version:window._ambientVersion}),o&&Object(O.errorLog)("whitescreen email,".concat(o))}},{key:"render",value:function(){var e=this.props,t=e.user,a=e.userActions,n=e.children,r=this.state,i=r.errorId;if(r.hasError){var o=i.split("-")[1];return m.a.createElement("div",{className:"app offline error"},m.a.createElement("p",null,"uh oh"),m.a.createElement("div",{className:"icon"}),m.a.createElement("div",{className:"error-description"},m.a.createElement("p",null,"Something went wrong,",m.a.createElement("br",null),"but we've logged the error."),m.a.createElement("p",null,"Sorry for the trouble.",m.a.createElement("br",null),m.a.createElement("button",{className:"btn btn-primary",onClick:function(){Object(O.clearStorage)(),Object(O.isLoggedIn)(t)?a.logoutUser():Object(O.reloadApp)()}},"Try Refreshing")),m.a.createElement("div",{className:"still-having-trouble"},m.a.createElement("h5",null,"Still here?"),m.a.createElement("p",null,' Some users have had success deleting the app and re-installing it. Make sure to choose "Delete all app data" when you delete it.'),m.a.createElement("p",null,"If that doesn't work please help us track this down. Contact ",m.a.createElement("a",{target:"_blank",href:"mailto:support@ambientweather.com?subject=iOS whitescreen [".concat(o,"]")},"support@ambientweather.com")," and include the issue code: ",m.a.createElement("em",null,o)))))}return n}}],[{key:"getDerivedStateFromError",value:function(e){return{hasError:!0,errorId:Object(O.guid)()}}}]),t}(m.a.Component);ni.displayName="ErrorBoundary",ni.displayName="ErrorBoundary",ni.displayName="ErrorBoundary",ni.displayName="ErrorBoundary",ni.displayName="ErrorBoundary",ni.displayName="ErrorBoundary",ni.displayName="ErrorBoundary";var ri=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={expanded:[],toDelete:[],deleting:[]},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidUpdate",value:function(){var e=this,t=this.props,a=t.deviceActions,n=t.device,r=this.state.expanded,i=Object(O.getTheDevice)(n);r.filter(function(t){return!n[e._dayKey(t)]&&!e._docIsPending(t)}).forEach(function(t){var n=Object(w.find)(Object(w.propEq)("_id",t),e._docsArr()),r=e._docDate(n);a.fetchDeviceData({start:r.valueOf(),end:r.endOf("day").valueOf(),dataKey:e._dayKey(t),macAddress:i.macAddress,res:1})})}},{key:"_docDate",value:function(e){return Object(O.getSummaryDocDate)(moment,this.props.device,e.dateutc)}},{key:"_docIsPending",value:function(e){return Object(w.contains)(this._dayKey(e),this.props.device.fetchDeviceDataKeysPending)}},{key:"_dayKey",value:function(e){return e+"DayData"}},{key:"_docsArr",value:function(){var e=this.props.docs;return Array.isArray(e)?e:[e]}},{key:"_expands",value:function(e){var t=this,a=this.props,n=a.user,r=a.deviceActions,i=a.device,o=a.details,c=a.docs;if(!o)return null;var s=this.state,l=s.deleting,u=s.toDelete,d=s.expanded,p=Object(w.contains)(e._id,d),h=[m.a.createElement("a",{key:1,className:"exp",onClick:function(){return t.setState({expanded:Object(O.toggleArr)(e._id,d)})}})];this._docIsPending(e._id)&&(h=m.a.createElement(fe,null));var f=0,b=function(){return m.a.createElement("tr",{key:e._id+"buttons"+f,className:N()("buttons-row",{expanded:p})},m.a.createElement("td",{colSpan:t._headingKeys().length+1},m.a.createElement("div",{className:N()("buttons-wrap")},m.a.createElement("div",{className:"buttons-rounded small"},h))))},v=[b()],g=i[this._dayKey(e._id)];if(p&&g){var y=Object(w.pipe)(Object(w.pluck)("_id"),Object(w.intersection)(u))(g),E=Object(O.getDateTz)(moment,i),k=function(){var a=function(){return t.setState({toDelete:Object(O.removeFromArrWith)(Object(O.fcontains)(y),u)})},n=y.length>0?[m.a.createElement("a",{key:"clear",onClick:a,className:"clear-selections"}),m.a.createElement("a",{key:"trash",onClick:function(){var e=g.filter(Object(w.pipe)(Object(w.prop)("_id"),Object(O.fcontains)(y))),n="Are you sure you want to delete "+e.length+" row"+(1===e.length?"":"s")+" from "+E(e[0].dateutc).format("MMM Do YYYY")+"?";if(g.length!==e.length)window.confirm(n)&&(t.setState({deleting:y}),r.removeDeviceData(e).then(function(){a(),t.setState({deleting:[]})}));else if(window.confirm("Are you sure you want to delete the entire day of "+E(e[0].dateutc).format("MMM Do YYYY")+"?")){var i=Object(w.uniq)(e.map(function(e){return E(e.dateutc).startOf("day").valueOf()}).filter(Boolean));if(1!==i.length)return void window.alert("You can only delete one day at a time");var o=c.find(function(e){return E(e.dateutc).startOf("day").valueOf()===i[0]});o&&(t.setState({deleting:y}),r.removeDeviceData([o]).then(function(){a(),t.setState({deleting:[]})}))}},className:"trash"})]:m.a.createElement("input",{type:"checkbox",onChange:function(){return t.setState({toDelete:Object(w.concat)(u,Object(w.pluck)("_id",g))})}});return m.a.createElement("tr",{key:e._id+"heading"+f,className:N()("day-data-header date-line",{"not-first":f>0})},m.a.createElement("td",{className:"dateutc flex"},m.a.createElement("div",{className:"btns"},n),m.a.createElement("div",{className:"date"},t._docDate(e).format("MMM D"),m.a.createElement("br",null),"Details")),t._headingFields())};v.push(k()),(v=Object(w.pipe)(Object(w.map)(function(e){f++;var a=[m.a.createElement("tr",{key:f+"row",className:"day-data"},m.a.createElement("td",{key:"dateutc",className:"dateutc flex"},m.a.createElement("div",{className:"btns"},function(e){return!!e._id&&!Object(w.contains)(e._id,l)&&(!(!Object(O.theDeviceIsMine)(i)&&!Object(O.isAdmin)(n))||void 0)}(e)?m.a.createElement("input",{type:"checkbox",checked:Object(w.contains)(e._id,u),onChange:function(){return t.setState({toDelete:Object(O.toggleArr)(e._id,u)})}}):null),m.a.createElement("div",{className:"date"},E(e.dateutc).format(Object(O.timeFormatForUser)(n)))),t._headingKeys().map(function(t){return m.a.createElement("td",{key:f+t},m.a.createElement(le,{type:t,row:e}))}))];return f%20===0&&a.push(k()),a}),w.flatten,Object(w.concat)(v))(Object(O.padData)(5,g))).push(b())}return v}},{key:"_headingKeys",value:function(e){var t=this.props,a=t.details,n=t.activeFilters,r=Object(O.getDisplayKeys)(this._docsArr());e&&!a&&(r=Object(w.filter)(function(e){return!/rain/.test(e)||("hourlyrainin"===e||"dailyrainin"===e)},r));var i=r.indexOf("dailyrainin");return!a&&i>-1&&(r=Object(w.insert)(i+1,"rainTotal",r)),n&&n.length>0?Object(w.filter)(function(e){return/rain/.test(e)?Object(O.fcontains)(n,"rain"):Object(O.fcontains)(n,e)},r):r}},{key:"_headingFields",value:function(e){var t=this;return this._headingKeys(e).map(function(e){return m.a.createElement("th",{key:e},Object(O.getLabel)(e,t.props.device))})}},{key:"render",value:function(){var e=this,t=this.props,a=t.userActions,n=t.allDocs,r=t.onCellClick,i=t.children,o=t.device,c=t.details,s=this._docsArr();if(!s)return m.a.createElement("div",null);var l,u,d=Object(O.getSummaryDocDate)(moment,o),p=d(s[0].dateutc),h=s.length>1&&d(s[s.length-1].dateutc),f=this._headingFields(!0),b=0,v=function(t,a){return b++,Object(w.map)(function(e){return m.a.createElement("td",{className:N()({today:!a._id}),key:b+e},m.a.createElement(ro,{prop:t,type:e,doc:a,details:c,onClick:r}))},e._headingKeys(!0))},g=0,y=function(e,t,a){return g++,m.a.createElement("tbody",{key:g},t,m.a.createElement("tr",{key:g+"avg",className:"avg"},m.a.createElement("td",{className:"dateutc avg"},"Average"),v("avg",e)),m.a.createElement("tr",{key:g+"high",className:"high"},m.a.createElement("td",{className:"dateutc high"},"High"),v("h",e)),m.a.createElement("tr",{key:g+"low",className:"low"},m.a.createElement("td",{className:"dateutc low"},"Low"),v("l",e)),a)},E=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return m.a.createElement("tr",{key:e+"table-header"},m.a.createElement("th",{className:"dateutc",key:"dateutc"},"\xa0"),f)};return c?(u=n||s,l=Object(w.pipe)(Object(w.map)(function(t){return y(t,[g%4==0&&g>0?E(g):null,m.a.createElement("tr",{id:t.dateutc,key:g+"heading",className:"date-line"},m.a.createElement("td",{className:"dateutc"},d(t.dateutc).format("MMM D, YYYY")),m.a.createElement("td",{colSpan:f.length},"\xa0"))],e._expands(t))}),w.flatten)(s)):(u=Object(O.reduceSummaries)(s),l=y(u)),m.a.createElement("div",{className:"block device-summary-table"},m.a.createElement("header",null,m.a.createElement("div",null,m.a.createElement("span",{className:"label"},c?"Details":"Summary",": "),m.a.createElement("span",null,(h?h.format("MMMM D, YYYY")+" - ":"")+p.format("MMMM D, YYYY"))),m.a.createElement("div",null,i?m.a.createElement("div",{className:"children"},i):null,m.a.createElement("a",{className:"csv",onClick:function(){return a.doModal({type:"export",theDevice:Object(w.pick)(["lastData","macAddress","tz"],Object(O.getTheDevice)(o)),start:h.valueOf(),end:p.valueOf()})},title:"Download CSV",tabIndex:-1}))),m.a.createElement("div",{className:"device-device-data-table"},m.a.createElement("div",{className:"scroller"},m.a.createElement("table",{className:N()("table-row table table-striped main",{details:c})},m.a.createElement("thead",null,E()),l)),i?m.a.createElement("div",{className:"children bottom"},i):null))}}]),t}(d.PureComponent),ii=ae(ri);ri.displayName="SummaryTable";var oi=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={pageI:0,momentTz:moment},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidUpdate",value:function(e){e.dates!==this.props.dates&&this.setState({pageI:0})}},{key:"_pagination",value:function(e){var t=this,a=this.state,n=a.momentTz,r=a.pageI;if(e.length>1)return m.a.createElement("div",{className:"pagination"},m.a.createElement("span",null,"View Month: "),m.a.createElement("select",{className:"months",value:r,onChange:function(e){return t.setState({pageI:e.target.value})}},Object(w.reverse)(e).map(function(e,t){return m.a.createElement("option",{key:e,value:t},n(e).format("MMM YYYY"))})))}},{key:"render",value:function(){var e=this,t=this.props,a=t.activeFilters,n=t.dates,r=t.device,i=r.deviceSummaries,o=this.state,c=o.pageI,s=o.momentTz;if(!i||!n)return m.a.createElement("div",null);var l=i,u=Object(O.getTheDevice)(r);u.lastData&&u.lastData.hl&&(l=Object(w.prepend)(u.lastData.hl,l));var d=Object(O.summaryDocsForDates)(s,r,n,l),p=Object(w.groupBy)(Object(w.pipe)(Object(w.prop)("dateutc"),Object(O.getSummaryDocDate)(s,r),function(e){return e.format("YYYY-MM-01")}))(d),h=Object(w.pipe)(w.keys,Object(w.sort)(function(e,t){return s(e).valueOf()-s(t).valueOf()}))(p),f=function(t){e.setState({pageI:h.length-1-h.indexOf(t.format("YYYY-MM-01"))})},b=[];if(d.length<1)b.push(m.a.createElement("div",{key:2},"No data for this date range"));else if(1===d.length)b.push(m.a.createElement(ii,{key:1,docs:d,details:!0,activeFilters:a,onCellClick:f}));else{var v=d.length>31,g=v?p[h[h.length-1-c]]:d;b.push(m.a.createElement(ii,{key:"summary",docs:d,activeFilters:a,onCellClick:f}),m.a.createElement(ii,{key:"details",docs:g,allDocs:d,activeFilters:a,details:!0},v?this._pagination(h):null))}return m.a.createElement("div",{className:"device-summaries-wrap"},b)}}]),t}(d.PureComponent),ci=ce(oi);oi.displayName="SummariesWrap";var si=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).retries=0,n.graphFilters=O.FIELD_PRIORITY,n.state={retrying:!1,mode:"daily",page:1,end:moment().endOf("day").valueOf(),start:moment().startOf("day").valueOf(),showTable:!0,graphMode:!0,firstFetch:!1,activeFilters:window.localStorage&&window.localStorage.activeFilters?window.localStorage.activeFilters.split(","):n.graphFilters.slice(0)},n.nextPage=(a=n).nextPage.bind(a),n.prevPage=(a=n).prevPage.bind(a),n.removeDataPoints=(a=n).removeDataPoints.bind(a),n.downloadCsv=(a=n).downloadCsv.bind(a),n.fetchDeviceData=(a=n).fetchDeviceData.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"downloadCsv",value:function(e){var t=this.props,a=t.user,n=t.device,r=Object(O.convertUnitForUser)(a);return function(){var t=Object(w.flip)(w.prop),a=Object(w.concat)(["dateutc"],Object(O.getDisplayKeys)(e).sort()),i="data:text/csv;charset=utf-8,"+("Datetime"+a.map(function(e){return Object(O.getLabel)(e,n)}).join(","))+"\n"+e.map(function(e){var n=a.map(function(a){return Object(w.pipe)(t(e),r(a))(a)});return Object(w.over)(Object(w.lensIndex)(0),Object(O.fmtDate)("M/D/YYYY h:mm A"),n).join(",")}).reverse().join("\n"),o=document.createElement("a");o.setAttribute("href",encodeURI(i)),o.setAttribute("download","ambient-weather.csv"),document.body.appendChild(o),o.click()}}},{key:"_modeForGraphs",value:function(){var e=this.props.device;if(!Object(O.currentDeviceHasSummaries)(e))return"daily";var t=this.getFetchArgs();switch(t&&t.res){case 30:return"weekly";case 240:return"monthly";case 1440:return"yearly";default:return"daily"}}},{key:"_getDates",value:function(e,t){var a=e||this.props,n=t||this.state;return a.dates||n.summaryDates}},{key:"getFetchArgs",value:function(){var e=this.props.macAddress,t=this._getDates();if(t){var a={macAddress:e};a.start=t[0].valueOf(),a.end=t[1].valueOf(),a.limit=2e3;var n=a.end-a.start;return n>2592e6?a.res=1440:n>6912e5?a.res=240:n>9e7&&(a.res=30),a}}},{key:"prevPage",value:function(){var e=this.state.page+1;this.setState({page:e}),"undefined"!==typeof ga&&ga("send","event","graphs","prev-page")}},{key:"nextPage",value:function(){var e=this.state.page-1;this.setState({page:e}),"undefined"!==typeof ga&&ga("send","event","graphs","next-page")}},{key:"removeDataPoints",value:function(e){window.confirm("Are you sure you want to delete "+e.length+" row"+(1===e.length?"":"s")+"?")&&this.props.deviceActions.removeDeviceData(e)}},{key:"fetchDeviceData",value:function(){var e=this,t=this.props.deviceActions,a=t.fetchDeviceData,n=(t.clearDataKey,this.getFetchArgs());n&&(a(Object(w.merge)(n,{dataKey:"graphDataRefined"})).then(function(){e.setState({firstFetch:!0})}),clearTimeout(this._refreshTout),this._refreshTout=setTimeout(this.fetchDeviceData,3e5))}},{key:"_datesAreDifferent",value:function(e,t){var a=this._getDates(e,t)||[],n=this._getDates()||[];return a.length!==n.length||!a.every(function(e,t){return e.isSame(n[t])})}},{key:"componentDidUpdate",value:function(e,t){var a=this.props,n=a.device,r=a.user;n.graphDataRefined;Object(O.fieldsEq)(["macAddress"],this.props,e)&&Object(O.fieldsEq)(["page","mode"],this.state,t)&&!this._datesAreDifferent(e,t)&&n.manualRefresh===e.device.manualRefresh||Object(O.dataPending)("graphDataRefined",n)||!r.userChecked||this._showSummaryGraphs()||setTimeout(this.fetchDeviceData.bind(this),100),Object(O.pathsChanged)(this.props,e,[["user","info","_id"]])&&r.info._id&&this.fetchDeviceData(),(Object(O.pathsChanged)(this.props,e,[["device","graphDataRefined"]])||Object(O.pathsChanged)(this.state,t,[["summaryDates"],["firstFetch"]]))&&this._processFinalData()}},{key:"componentDidMount",value:function(){this.fetchDeviceData()}},{key:"componentWillUnmount",value:function(){clearInterval(this._refreshTout)}},{key:"_processFinalData",value:function(){var e=this.state,t=e.graphMode,a=e.firstFetch,n=this.props,r=n.device,i=n.user,o=r.graphDataRefined,c=r.deviceSummaries,s=o;if(a){if("daily"===this.state.mode&&Object(w.isArrayLike)(s)&&(s=oe.ambient.roundDataDateutc(5)(s)),Object(w.isArrayLike)(s)&&this.getFetchArgs()&&(s=Object(O.padData)(this.getFetchArgs().res,s)),t&&this._showSummaryGraphs()&&c){var l=Object(O.convertUnitForUser)(i);s=Object(O.summaryDocsForDates)(moment,r,this._getDates(),c).map(function(e){var t={dateutc:e.dateutc,summary:e};return Object.keys(e).forEach(function(a){t[a+"Hl"]=[l(a,Object(w.path)([a,"l"],e)),l(a,Object(w.path)([a,"h"],e))],"winddir"===a?t.winddirAvg=Object(O.getDominantWindDir)(e[a]):t[a+"Avg"]=l(a,Object(O.getHlAvg)(e,a)),Object(w.contains)(a,["dailyrainin","maxdailygust","lightning_day"])&&(t[a+"H"]=t[a+"Hl"][1])}),t})}this.setState({finalData:s})}}},{key:"_showSummaryGraphs",value:function(){return Object(O.containsOldDate)(this._getDates())}},{key:"render",value:function(){var e=this,t=this.state,a=(t.mode,t.graphMode),n=(t.page,t.activeFilters),r=t.finalData,i=this.props,o=i.device,c=i.user,s=i.macAddress,l=i.hideKeys,u=i.deviceActions,d=i.markerTime,p=i.onGraphClick,h=i.shortGraphs,f=(u.clearHiresData,o.deviceSummaries,o.graphDataGross,o.graphDataRefined),b=(o.hiresData,o.fetchDeviceDataPending),v=Object(O.getDisplayKeysFromState)(["graphDataGross","graphDataRefined","deviceSummaries"],this.props.device);Object(w.all)(Object(w.flip)(w.contains)(v))(["tempf","humidity"])&&(v.push("dewPoint"),v.push("feelsLike")),Object(w.filter)(Object(w.test)(/rain/),v).length>0&&v.push("rain"),Object(O.getDeviceCoords)(o)&&v.push("sunMoon");var g=Object(O.orderFields)(Object(w.intersection)(v,this.graphFilters)),y=m.a.createElement("div",{className:"controls clearfix"},m.a.createElement("div",{className:"wrap"},m.a.createElement("ul",{className:"graph-mode pagination"},m.a.createElement("li",{className:a?"active":""},m.a.createElement("a",{tabIndex:-1,onClick:function(){e.setState({graphMode:!0})}},m.a.createElement("i",{className:"icon-graph"}))),m.a.createElement("li",{className:a?"":"active"},m.a.createElement("a",{tabIndex:-1,onClick:function(){return e.setState({graphMode:!1})}},m.a.createElement("i",{className:"icon-table"})))),m.a.createElement(Ne,{allFields:g,activeFields:n,device:o,onChange:function(t){var a=Object(O.toggleArr)(t,n);e.setState({activeFilters:a}),window.localStorage.activeFilters=a.join(",")}})),m.a.createElement(We,{device:o,onChange:function(t){return e.setState({summaryDates:t})}}));this.state.retrying&&this.state.retrying;var E="";a?E=m.a.createElement(ge,{mode:this._modeForGraphs(),macAddress:s,pending:b,activeGraphs:Object(w.intersection)(n,v),hideKeys:l,data:r,user:c,device:o,shortGraphs:h,markerTime:d,onGraphClick:p,deviceActions:u}):this.state.showTable&&(E=m.a.createElement(ci,{dates:this._getDates(),activeFilters:Object(O.removeFromArrWith)(Object(O.fcontains)(l),n)}));var k="device-device-data-table-wrap";return a&&(k+=" graph"),m.a.createElement("div",{className:N()(k,{tz:!0},"gl-".concat((f||[]).length))},y,m.a.createElement("div",{className:"data-table"},E))}}]),t}(d.PureComponent),li=ae(si);si.displayName="DeviceDataTableWrap";var ui=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={checked:[]},n.handleRowCheck=(a=n).handleRowCheck.bind(a),n.handleBulkAction=(a=n).handleBulkAction.bind(a),n.isChecked=(a=n).isChecked.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"isChecked",value:function(e){var t=Object(w.pluck)("_id",this.state.checked);return Object(w.contains)(e._id,t)}},{key:"handleRowCheck",value:function(e){this.isChecked(e)?this.setState({checked:Object(O.removeDoc)(e._id)(this.state.checked)}):this.setState({checked:Object(w.append)(e,this.state.checked)})}},{key:"handleBulkAction",value:function(){this.props.bulkAction(this.state.checked),this.setState({checked:[]})}},{key:"render",value:function(){var e=this,t=this.props,a=t.device,n=t.bulkAction,r=t.data,i=t.pending,o=t.mode,c=this.state.checked,s="",l="";if(i&&(s=i),r){var u=Object(O.getDisplayKeys)(r),d=u.map(function(e){return m.a.createElement("th",{key:e},Object(O.getLabel)(e,a))}),p=r.map(function(t,r){var i=u.map(function(e){return m.a.createElement("td",{key:e},m.a.createElement(le,{type:e,row:t}))}),c="";return e.props.rowAction&&(c=m.a.createElement("a",{onClick:function(){e.props.rowAction(t)},className:e.props.actionClass})),n&&"daily"===o&&!a.removeDeviceDataPending&&(c=m.a.createElement("input",{type:"checkbox",checked:e.isChecked(t),onChange:function(){e.handleRowCheck(t)}})),m.a.createElement("tr",{key:r},m.a.createElement("td",{className:"dateutc"},c,m.a.createElement(le,{type:"dateutc",row:t,mode:o})),i)}),h=Object(w.splitEvery)(20,p);if(r.length<1)s="No data for this time period.";else{var f="";n&&"daily"===o&&c.length>0&&(f=m.a.createElement("div",{className:"buttons"},m.a.createElement("a",{className:"glyphicon glyphicon-trash",title:"Delete selected rows",onClick:this.handleBulkAction}),m.a.createElement("a",{className:"glyphicon glyphicon-remove",title:"Deselect all rows",onClick:function(){e.setState({checked:[]})}}))),l=m.a.createElement("thead",null,m.a.createElement("tr",null,m.a.createElement("th",{className:N()("dateutc",{checks:""!==f})},f,"Time"),d));var b=h.map(function(e,t){return m.a.createElement("table",{key:t,className:"table-row table table-striped main"},l,m.a.createElement("tbody",null,e))});s=m.a.createElement("div",{className:"scroller"},b)}}return m.a.createElement("div",{className:"device-device-data-table"},s)}}]),t}(d.PureComponent);ui.displayName="DeviceDataTable",ui.displayName="DeviceDataTable",ui.displayName="DeviceDataTable",ui.displayName="DeviceDataTable",ui.displayName="DeviceDataTable",ui.displayName="DeviceDataTable",ui.displayName="DeviceDataTable";var di=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e)))._tout=!1,n.state={},n.rand=(a=n).rand.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){window.addEventListener("resize",this.rand)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.rand)}},{key:"rand",value:function(){this.setState({rand:Math.random()})}},{key:"render",value:function(){var e,t=this,a=this.props,n=a.user,r=a.actions,i=a.onPin,o=a.hidden,c=a.type,s=a.onChange,l=a.device,u=a.notExpandable,d=a.className,p=this.state.width,h=Object(O.widgetExpanded)(c,l),f=Object(O.widgetWhat)("pinned",c,l),b=Object(O.widgetWhat)("minimized",c,l);u||(e=function(){s&&s({expanded:!h},c)});var v,g="solar"===c?"solarradiation":c;i&&(v=function(){s&&s({pinned:!f},c)});var y,E,k=p?{height:p%2===1?p+1:p}:{},j=[["currentDevice","settings",c],["currentDevice","unitSetting","image"],["currentDevice","lastData","dateutc"],["currentDevice","tz"],["currentDevice","info","name"],["currentDevice","info","coords","location"],["user","info","image"]];if(O.WIDGET_CONFIG[c].share){O.WIDGET_CONFIG[c].share.paths&&(E={title:Object(O.getDeviceLabel)(l),description:"".concat(Object(O.getWidgetTitle)(l,c)),redirect:Object(O.getDeviceShareLink)(l),paths:Object(w.concat)(j,O.WIDGET_CONFIG[c].share.paths),component:O.WIDGET_CONFIG[c].share.component,currentDevice:l},y=m.a.createElement(Rr,E));var D=Object(w.path)(["info","_id"],n);O.WIDGET_CONFIG[c].share.social&&D&&D===l.userId&&(y=m.a.createElement("span",{className:"component-share"},m.a.createElement("a",{className:"share",onClick:function(){var e=function(){r.doModal({type:"create-post",data:{currentDevice:l,postType:"widget-".concat(c),share:E}})};l.public||Object(w.path)(["info","slug"],l)?e():r.doModal({type:"toggle-public-device",data:{currentDevice:l,onClick:e}})}})))}else"webcam"===c&&(y=m.a.createElement("span",{className:"component-share"},m.a.createElement("a",{className:"share",onClick:function(){r.doModal({type:"create-post",data:{currentDevice:l,webcamSnapshot:l._id}})}})));return m.a.createElement("div",{className:N()("device-widget","square",c,d,{hidden:o,expanded:h,minimized:b,pinned:f,kestrel:Object(pe.deviceIsAKestrel)(l)}),style:k,ref:function(e){e&&t.setState({width:e.offsetWidth})}},m.a.createElement("header",null,m.a.createElement(wi,{type:c,currentDevice:l,onChange:s})),this.props.children,m.a.createElement(kr,{expanded:h,pinned:f,id:g,onExpand:e,onGraph:function(){s&&s({dashboard:{minimized:!0}},c)},onMinus:function(){s&&s({minimized:!0},c)},onPin:v},y))}}]),t}(d.PureComponent),mi=y(di);di.displayName="Widget";var pi=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.slim,a=e.fetchDeviceData,n=e.device,r=e.currentDevice,i=e.user,o=r.lastData,c=m.a.createElement("div",{className:"hidden"});if(o&&(Object(O.isSomething)(o.tempf)||Object(O.isSomething)(o.humidity))){var s=[],l=[];if(Object(O.isSomething)(o.tempf)){s.push(m.a.createElement(le,{type:"tempf",row:o,key:1,suff:"\xb0"}));var u=Object(O.dewPoint)(o.tempf,o.humidity);Object(O.isSomething)(o.humidity)&&!isNaN(u)&&l.push(m.a.createElement("div",{key:"dewPoint"},m.a.createElement("div",{className:"label"},"Dew Point"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{value:u,type:"tempf"})))),t||l.push(m.a.createElement(Hi,{type:"tempf",currentDevice:r,key:"from-yesterday"}));var d=o.windspeedmph,p=Object(O.feelsLike)(o.tempf,o.humidity,d);Object(O.isSomething)(p)&&l.push(m.a.createElement("div",{key:"feelsLike"},m.a.createElement("div",{className:"label"},"Feels Like"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{value:p,type:"tempf"}))))}var h="";Object(O.widgetExpanded)("temp",r)&&!t&&(h=m.a.createElement("div",{className:"expanded-wrap"},m.a.createElement(vi,{device:n,user:i,currentDevice:r,fetchDeviceData:a,type:"tempf"}))),c=m.a.createElement("div",{className:"device-temp-widget center-aligned"},m.a.createElement("div",{className:"body"},m.a.createElement("div",{className:"top"},s),m.a.createElement("div",{className:"bottom"},l)),h)}return c}}]),t}(d.PureComponent);pi.displayName="TempWidget";var hi=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={clicked:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this,t=this.props.currentDevice,a=this.state.clicked,n=t.lastData,r=m.a.createElement("div",{className:"wind-widget hidden"}),i=Object(O.dataHas)(n);if(i(["windspeedmph","winddir"])){var o="";if(Object(O.widgetExpanded)("wind",t)){var c=[];(i(["winddir_avg2m"])||i(["windspdmph_avg2m"]))&&c.push(m.a.createElement("div",{className:"avg avg-2",key:1},m.a.createElement("h3",null,"2 Minute"),m.a.createElement("div",{className:"flex"},i(["winddir_avg2m"])?m.a.createElement(le,{type:"winddir_avg2m",row:n}):null,i(["windspdmph_avg2m"])?m.a.createElement(le,{type:"windspdmph_avg2m",row:n}):null))),(i(["winddir_avg10m"])||i(["windspdmph_avg10m"]))&&c.push(m.a.createElement("div",{className:"avg avg-10",key:2},m.a.createElement("h3",null,"10 Minute"),m.a.createElement("div",{className:"flex"},i(["winddir_avg10m"])?m.a.createElement(le,{type:"winddir_avg10m",row:n}):null,i(["windspdmph_avg10m"])?m.a.createElement(le,{type:"windspdmph_avg10m",row:n}):null))),c.length>0&&(o=m.a.createElement("div",{className:"expanded-wrap"},c))}var s=n.winddir,l="rotate(".concat(s,"deg)"),u={WebkitTransform:l,MozTransform:l,OTransform:l,msTransform:l,transform:l},d="";i("windgustmph")&&(d=m.a.createElement("div",{className:"corner-wrap right"},"Gusts",m.a.createElement(le,{type:"windgustmph",row:n,suff:" "})));var p="";i("winddir")&&(p=m.a.createElement("a",{onClick:function(){return e.setState({clicked:!a})},className:"corner-wrap"},"From",m.a.createElement(le,{className:"direction",type:"winddir",row:n}),m.a.createElement(le,{className:"degrees",type:"winddir",row:n,skipWindLabel:!0}))),r=m.a.createElement("div",{className:N()("wind-widget",{clicked:a})},o,m.a.createElement("div",{className:"rel"},m.a.createElement("div",{className:n.maxdailygust?"val maxdailygust":"val"},m.a.createElement(le,{type:"windspeedmph",row:n,suff:" "}),m.a.createElement("div",{className:"label"},m.a.createElement(le,{type:"windspeedmph",row:n})),n.maxdailygust?m.a.createElement("span",{className:"max"},m.a.createElement("span",{className:"peak"},"Today's Peak:")," ",m.a.createElement(le,{type:"maxdailygust",row:n})):""),m.a.createElement("div",{className:"compass",style:u})),p,d)}return r}}]),t}(d.PureComponent);hi.displayName="WindWidget";var fi=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={},n.rand=(a=n).rand.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){window.addEventListener("resize",this.rand)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.rand)}},{key:"rand",value:function(){this.setState({rand:Math.random()})}},{key:"render",value:function(){var e=this,t=this.state.height,a=this.props,n=a.currentDevice,r=a.now,i=n.lastData,o=m.a.createElement("div",{className:"rain-widget hidden"}),c=Object(O.dataHas)(i),s=Object(w.filter)(Object(w.pipe)(Object(w.slice)(1,2),c)),l=Object(w.pipe)(s,Object(O.widgetExpanded)("rain",n)?w.identity:Object(w.slice)(0,3))([["Rate","hourlyrainin"],["Day","dailyrainin"],["Event","eventrainin"],["Week","weeklyrainin"],["Month","monthlyrainin"],["Year","yearlyrainin"],["Total","totalrainin"]]),u=Object(w.map)(Object(w.pipe)(Object(w.slice)(1,2),Object(w.flip)(w.path)(i)))(l),d=Object(w.apply)(Math.max)(u),p=Object(w.map)(Object(w.apply)(function(a,n){var r=t?t*(i[n]/d):0,o={height:r<22?22:r||22},c="rain-wrap";return 0===i[n]&&(c+=" zero"),m.a.createElement("div",{className:c,key:n},m.a.createElement("div",{className:"rain-tube"},m.a.createElement("div",{ref:function(t){t&&e.setState({height:t.offsetHeight})},className:"bg"},m.a.createElement("div",{className:"rain",style:o}))),m.a.createElement("div",{className:"wrap"},m.a.createElement(le,{type:n,row:i}),m.a.createElement("div",{className:N()("label",a.toLowerCase())},a)))}),l);if(p.length>0){var h="rain-widget",f="";if(Object(O.widgetExpanded)("rain",n)&&c("lastRain")){h+=" has-last-rain";var b=moment(new Date(i.lastRain)),v=r||Date.now(),g=Math.floor(Math.abs(moment.duration(b.diff(v)).asDays())),y=g>1?g+" days ago":b.from(v);f=m.a.createElement("div",{className:"label last-rain"},"Last Rainfall: ",y," ")}o=m.a.createElement("div",{className:h},m.a.createElement("div",{className:"outer-wrap"},p),f)}return o}}]),t}(d.PureComponent);fi.displayName="RainWidget",fi.displayName="RainWidget",fi.displayName="RainWidget",fi.displayName="RainWidget",fi.displayName="RainWidget",fi.displayName="RainWidget",fi.displayName="RainWidget";var bi=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={now:!1,hourOffset:Math.floor(60*Math.random())},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillReceiveProps",value:function(e){var t=this.state,a=t.now,n=(t.hourOffset,this.props),r=n.fetchDeviceData,i=n.currentDevice,o=i.lastData;r&&(!a||Date.now()-36e5>a||e.currentDevice._id!==i._id)&&(this.setState({now:Date.now()}),r({macAddress:e.currentDevice.macAddress,dataKey:"pressureWidgetLastHour",start:moment(o.dateutc).subtract(1,"hour").valueOf(),asc:!0,limit:1}))}},{key:"render",value:function(){var e=this.props,t=e.unitI,a=e.currentDevice,n=e.device,r=void 0===n?{}:n,i=a.lastData,o=r.pressureWidgetLastHour,c=m.a.createElement("div",{className:"pressure-widget hidden"});if(Object(O.dataHas)(i)(["baromrelin"])){var s=m.a.createElement("div",{className:"top-spacer"});if(o&&o[0]&&Object(O.dataHas)(o[0],"baromrelin")&&i.dateutc-o[0].dateutc>55e3){var l=i.baromrelin-o[0].baromrelin,u="change ";u+=0===l?"":l>0?"up":"down",s=m.a.createElement("div",{className:u},m.a.createElement(le,{type:"baromrelin",value:Math.abs(l),after:"/hr"}))}var d=i.baromrelin,p=27.5,h=32.5;d<28.1?p=27.72:d<28.6?p=27.65:d<29&&(p=27.6),d>32?h=32.23:d>31.75?h=32.29:d>31.25&&(h=32.36);var f="rotate(".concat(((d=(d=d<p?p:d)>h?h:d)-p)/(h-p)*263-166,"deg)"),b={WebkitTransform:f,MozTransform:f,OTransform:f,msTransform:f,transform:f};c=m.a.createElement("div",{className:"pressure-widget unit-"+t},s,m.a.createElement("div",{className:"gauge"},m.a.createElement("div",{className:"compass",style:b}),m.a.createElement("div",{className:"barom"},m.a.createElement(le,{type:"baromrelin",row:i}))),m.a.createElement("div",{className:"spacer"}))}return c}}]),t}(d.PureComponent);bi.displayName="PressureWidget";var vi=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={now:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_dataKey",value:function(e){return this.props.type+"HighLowGraphs"+e}},{key:"_summaryLines",value:function(){var e=this.props,t=e.format,a=e.device,n=e.user,r=e.type,i=a.deviceSummaries;if(i){var o=Object(O.getTheDevice)(a);if(Object(w.path)(["lastData","hl"],o)){var c=o.lastData.hl[r];if(c){var s=Object(O.convertUnitForUser)(n,r),l=function(e){return Object(w.pipe)(function(e){return Object(w.filter)(function(t){return t.dateutc>=e})}(e-18e5),Object(O.reduceSummariesForType)(r))},u=[{label:"today",stats:c}],d=Object(w.append)(o.lastData.hl,i),p=moment.tz(Date.now(),o.tz.name),h=Object(O.summaryDocsForDates)(moment,a,p.clone().subtract(1,"days").startOf("day"),d)[0];if(h){var f=h[r];f&&f.c>0&&u.push({label:"yesterday",stats:f})}var b=l(p.clone().startOf("week").valueOf())(d);b.c>0&&u.push({label:"week",stats:b});var v=l(p.clone().startOf("month").valueOf())(d);v.c>0&&u.push({label:"month",stats:v});var g=l(p.clone().startOf("year").valueOf())(d);g.c>0&&u.push({label:"year",stats:g});var y=Math.max.apply(Math,Object(ct.a)(Object(w.map)(Object(w.pipe)(Object(w.path)(["stats","h"]),s),u))),E=Math.min.apply(Math,Object(ct.a)(Object(w.map)(Object(w.pipe)(Object(w.path)(["stats","l"]),s),u)));return u.map(function(e){return t?t({key:r+e.label,label:e.label,stat:{count:e.stats.c,sum:e.stats.s,max:e.stats.h,min:e.stats.l}}):m.a.createElement(xe,{min:s(e.stats.l),max:s(e.stats.h),avg:s(e.stats.s/e.stats.c),statsMin:E,statsMax:y,label:e.label,key:r+e.label})})}}}}},{key:"render",value:function(){return m.a.createElement("div",{className:"device-high-low-graphs"},this._summaryLines())}}]),t}(d.PureComponent);vi.displayName="HighLowGraphs";var gi=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.fetchDeviceData,a=e.user,n=e.currentDevice,r=e.device,i=e.sensor,o=n.lastData,c=m.a.createElement("div",{className:"indoor-widget hidden"}),s="indoor-widget",l=[],u="",d="tempinf",p="humidityin",h="indoor";i&&(d="temp".concat(i,"f"),p="humidity".concat(i),h=d);var f=Object(O.dataHas)(o);if(f([d])&&l.push(m.a.createElement("div",{key:1},m.a.createElement("div",{className:"label"},"Temperature"),m.a.createElement(le,{type:d,row:o}))),f([p])&&l.push(m.a.createElement("div",{key:2},m.a.createElement("div",{className:"label"},"Humidity"),m.a.createElement(le,{type:p,row:o}))),2===l.length){var b=Object(O.dewPoint)(o[d],o[p]),v=Object(O.feelsLike)(o[d],o[p],0);Object(O.isSomething)(b)&&Object(O.isSomething)(v)&&(u=m.a.createElement("div",{className:"bottom"},m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Dew Point"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{value:b,type:"tempf"}))),m.a.createElement("div",{key:"feelsLike"},m.a.createElement("div",{className:"label"},"Feels Like"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{value:v,type:"tempf"})))))}else s+=" single ";var g="";if(!i&&f(["co2"])){s+=" co2";var y=o.co2/2e3*100,E="progress-bar";o.co2>2e3?E+=" high":o.co2>1e3&&(E+=" warn"),y>100&&(y=100),g=m.a.createElement("div",{className:"co2-progress"},m.a.createElement("div",{className:"progress"},m.a.createElement("div",{className:E,style:{width:y+"%"}})),m.a.createElement("div",{className:"label"},"Co2"))}var w="";return Object(O.widgetExpanded)(h,n)&&(w=m.a.createElement("div",{className:"expanded-wrap"},m.a.createElement(vi,{device:r,user:a,currentDevice:n,fetchDeviceData:t,type:d}))),l.length>0&&(c=m.a.createElement("div",{className:s},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"wrap"},l)),u,w,g)),c}}]),t}(d.PureComponent);gi.displayName="IndoorWidget",gi.displayName="IndoorWidget",gi.displayName="IndoorWidget",gi.displayName="IndoorWidget",gi.displayName="IndoorWidget",gi.displayName="IndoorWidget",gi.displayName="IndoorWidget";var yi=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={i:0},a.descriptions=[["Low","Low","Moderate","Moderate","Moderate","High","High","Very High","Very High","Very High","Extreme"],["Low","Low","Low","Low","Low","Moderate","Moderate","High","High","High","Very High"],["Low","Low","Low","Low","Low","Low","Moderate","Moderate","Moderate","High","High"]],a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this,t=this.props.currentDevice.lastData,a=this.state.i,n=m.a.createElement("div",{className:"uv-widget hidden"});if(Object(O.dataHas)(t)(["uv"])){var r=t.uv,i=r>10?10:r,o=this.descriptions[a][Math.floor(i)]+" Risk";n=m.a.createElement("div",{className:"uv-widget"},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"wrap"},m.a.createElement("div",{className:"uv-data"},r),m.a.createElement("div",{className:"level"},o)),m.a.createElement("div",{className:"bottom"},m.a.createElement("a",{className:"light",onMouseEnter:function(){return e.setState({i:0})},title:"Fair Skin"},"light skin"),m.a.createElement("a",{className:"med",onMouseEnter:function(){return e.setState({i:1})},title:"Medium Skin"},"medium skin"),m.a.createElement("a",{className:"dark",onMouseEnter:function(){return e.setState({i:2})},title:"Dark Skin"},"dark skin"))))}return n}}]),t}(d.PureComponent);yi.displayName="UvWidget",yi.displayName="UvWidget",yi.displayName="UvWidget",yi.displayName="UvWidget",yi.displayName="UvWidget",yi.displayName="UvWidget",yi.displayName="UvWidget";var Ei=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={now:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=(e.device,t.lastData),n=m.a.createElement("div",{className:"solar-widget hidden"});if(Object(O.dataHas)(a)(["solarradiation"])){var r,i="";a.hl&&a.hl.solarradiation&&(r=a.hl.solarradiation.h),Object(O.isSomething)(r)&&(i=m.a.createElement("div",{className:"from zero"},m.a.createElement("div",{className:"label"},"Today's Peak"),m.a.createElement(le,{type:"solarradiation",value:r}))),n=m.a.createElement("div",{className:"solar-widget center-aligned"},m.a.createElement(le,{className:"solarmax",type:"solarradiation",row:a}),i)}return n}}]),t}(d.PureComponent);Ei.displayName="SolarWidget",Ei.displayName="SolarWidget",Ei.displayName="SolarWidget",Ei.displayName="SolarWidget",Ei.displayName="SolarWidget",Ei.displayName="SolarWidget",Ei.displayName="SolarWidget";var Oi=function(e){function t(e){var a;Object(o.a)(this,t),a=Object(s.a)(this,Object(l.a)(t).call(this,e));var n=e.type,r=e.currentDevice;return a.handleOnChange=Object(O.debounce)(a.handleOnChange.bind(Object(He.a)(Object(He.a)(a))),300),a.state={value:Object(O.getWidgetTitle)(r,n),focused:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillUpdate",value:function(e){var t=e.type,a=e.currentDevice;e.device;e.currentDevice!==this.props.currentDevice&&this.setState({value:Object(O.getWidgetTitle)(a,t)})}},{key:"componentDidUpdate",value:function(){var e=this.props,t=e.type,a=e.currentDevice,n=e.device,r=this.state,i=r.value,o=r.focused,c=Object(O.getWidgetTitle)(a,t);n.patchPending&&i!==c&&!o&&this.setState({value:c})}},{key:"handleOnChange",value:function(){var e=this.props,t=e.onChange,a=e.type,n=this.state.value;t&&t({title:n},a)}},{key:"render",value:function(){var e=this,t=this.props,a=t.type,n=(t.onChange,t.location,t.currentDevice),r=this.state.value,i=n.restrict;if(this.props.router){var o=this.props.router.createLocation(window.location).pathname;/devices\/public/.test(o)&&(i=!0)}return m.a.createElement("input",{disabled:i,type:"text",value:r,className:"editable-title type-"+a,onChange:function(t){var a=t.target.value;e.setState({value:a}),e.handleOnChange()},onFocus:function(){return e.setState({focused:!0})},onBlur:function(){return e.setState({focused:!1})}})}}]),t}(d.Component),wi=ce(Object(P.h)(Oi));Oi.displayName="EditableWidgetTitleInput",Oi.displayName="EditableWidgetTitleInput",Oi.displayName="EditableWidgetTitleInput",Oi.displayName="EditableWidgetTitleInput",Oi.displayName="EditableWidgetTitleInput",Oi.displayName="EditableWidgetTitleInput",Oi.displayName="EditableWidgetTitleInput";var ki=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.onChange,n=t.lastData,r=O.WIDGET_CONFIG.relays.fields,i=Object(O.dataHas)(n),o=Object(w.filter)(i,r),c=m.a.createElement("div",{className:"relays-widget hidden"});if(o.length>0){Object(O.widgetExpanded)("relays",t)||(o=Object(w.take)(5,o));var s=Object(w.map)(function(e){return m.a.createElement("div",{key:e,className:"line clearfix"},m.a.createElement("i",{className:"dot "+(1===n[e]?"on":"")}),m.a.createElement(wi,{type:e,currentDevice:t,onChange:a}))},o);c=m.a.createElement("div",{className:"relays-widget table-widget"},s)}return c}}]),t}(d.PureComponent);ki.displayName="RelaysWidget",ki.displayName="RelaysWidget",ki.displayName="RelaysWidget",ki.displayName="RelaysWidget",ki.displayName="RelaysWidget",ki.displayName="RelaysWidget",ki.displayName="RelaysWidget";var ji=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.onChange,n=t.lastData,r=O.WIDGET_CONFIG.sensors.fields,i=Object(O.dataHasAny)(n),o=Object(w.splitAt)(r.length/2,r),c=Object(w.zip)(o[0],o[1]),s=Object(w.filter)(i,c),l=m.a.createElement("div",{className:"sensors-widget hidden"});if(s.length>0){Object(O.widgetExpanded)("sensors",t)||(s=Object(w.take)(5,s));var u=Object(w.map)(function(e){var r=e[0],i=e[1];return m.a.createElement("div",{key:r,className:"line clearfix"},m.a.createElement(wi,{type:r,currentDevice:t,onChange:a}),m.a.createElement(le,{type:r,row:n}),m.a.createElement(le,{type:i,row:n}))},s);l=m.a.createElement("div",{className:"sensors-widget table-widget"},m.a.createElement("div",{className:"lines"},u))}return l}}]),t}(d.PureComponent);ji.displayName="SensorsWidget",ji.displayName="SensorsWidget",ji.displayName="SensorsWidget",ji.displayName="SensorsWidget",ji.displayName="SensorsWidget",ji.displayName="SensorsWidget",ji.displayName="SensorsWidget";var Ni=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={show:!0},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this,t=this.state.show,a=this.props,n=a.device,r=a.tooltipProps,i=a.user,o=a.scatter,c=a.dontChangeHeight,s=a.id,l=a.children,u=a.width,d=a.height,p=a.graphData,h=a.mode,f=a.composed,b=a.onClick,v=l,g=Object(O.getDateTz)(window.moment,n),y=Object(w.pipe)(function(e){return"daily"===h?g(Object(O.roundDownMins)(5,e)).format(Object(O.timeFormatForUser)(i).replace(" a","")):g(Object(O.roundDownMins)("weekly"===h?30:1440,e)).format("M/D")}),E=Object(w.pipe)(Object(O.addPropToObj)("name",Object(w.prop)("dateutc"))),k=Object(w.reverse)(Object(w.map)(E,p)),j=f?he.e:he.h;o&&(j=he.m);var N=d;u<768&&!c&&(N=.8*u);var D=m.a.createElement(ht.a,{rootMargin:"300px 0px 0px 0px",onChange:function(t,a){e.setState({show:t})}}),S=m.a.createElement("div",{id:"".concat(s,"_graph"),className:"common-graph-wrap",style:{height:N,width:u}},D,m.a.createElement(fe,null));return t&&(S=m.a.createElement("div",{id:s+"_graph",className:"common-graph-wrap"},D,m.a.createElement(he.l,{height:N},m.a.createElement(j,{onClick:b,data:k,margin:{left:-20,top:10},syncId:"1"},m.a.createElement(he.f,{align:"right",wrapperStyle:{top:15}}),m.a.createElement(he.o,{axisLine:!1,dataKey:"name",tickFormatter:y,minTickGap:13}),m.a.createElement(he.c,{vertical:!1,fill:"#fff",strokeWidth:1,stroke:"#eeeeee"}),m.a.createElement(he.n,Object.assign({labelFormatter:Object(O.tooltipFormatDate)(n,i,h),formatter:function(e){var t=function(e){return isNaN(e)?"--":e};return Array.isArray(e)?t(e[0])+" - "+t(e[1]):t(e)}},r)),v)))),S}}]),t}(d.PureComponent),Di=ae(Ni);Ni.displayName="CommonGraph",Ni.displayName="CommonGraph",Ni.displayName="CommonGraph",Ni.displayName="CommonGraph",Ni.displayName="CommonGraph",Ni.displayName="CommonGraph",Ni.displayName="CommonGraph";var Si=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.device,a=e.dontChangeHeight,n=e.user,r=e.width,i=e.height,o=e.graphData,c=e.mode,s=e.activeGraphs,l=e.onClick,u=o,d=o[0]&&o[0].refined,p=[],h=[],f=Object(O.getSuffForUser)(n),b=Object(O.rowsHave)(o),v=!1;Object(w.contains)("feelsLike",s)&&(h=Object(w.concat)(h,Object(w.pluck)("feelsLike",u)),b("feelsLikeHl")&&(h=Object(w.concat)(h,Object(w.pipe)(Object(w.pluck)("feelsLikeHl"),w.flatten)(u)),v=!0,p.push(m.a.createElement(he.a,{key:"feelsLikeHl",type:"monotone",dataKey:"feelsLikeHl",stroke:"#d7dce0",strokeWidth:0,fill:"#d7dce0",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!d,name:Object(O.getLabel)("feelsLike")+" High/Low",unit:f("feelsLike")})))),Object(w.contains)("dewPoint",s)&&(h=Object(w.concat)(h,Object(w.pluck)("dewPoint",u)),b("dewPointHl")&&(h=Object(w.concat)(h,Object(w.pipe)(Object(w.pluck)("dewPointHl"),w.flatten)(u)),v=!0,p.push(m.a.createElement(he.a,{key:"dewPointHl",type:"monotone",dataKey:"dewPointHl",stroke:"#a7dfde",strokeWidth:0,fill:"#a7dfde",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!d,name:Object(O.getLabel)("dewPoint")+" High/Low",unit:f("dewPoint")})))),Object(w.contains)("tempf",s)&&(h=Object(w.concat)(h,Object(w.pluck)("tempf",u)),b("tempfHl")&&(h=Object(w.concat)(h,Object(w.pipe)(Object(w.pluck)("tempfHl"),w.flatten)(u)),v=!0,p.push(m.a.createElement(he.a,{key:"tempfHl",type:"monotone",dataKey:"tempfHl",stroke:"#b4dcf6",strokeWidth:0,fill:"#b4dcf6",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!d,name:Object(O.getLabel)("tempf")+" High/Low",unit:f("tempf")})))),h=h.filter(Object(w.pipe)(isNaN,w.not));var g=m.a.createElement(he.p,{dataKey:"tempf",orientation:"left",type:"number",axisLine:!1,domain:[Object(w.apply)(Math.min,h),Object(w.apply)(Math.max,h)],tickFormatter:Object(O.toFixed)(1)});return Object(w.contains)("feelsLike",s)&&p.push(m.a.createElement(he.g,{key:"feelsLike",type:"monotone",dataKey:b("feelsLikeAvg")?"feelsLikeAvg":"feelsLike",stroke:"#b0bbc3",strokeWidth:2,fill:"#b0bbc3",connectNulls:!0,dot:!1,legendType:"circle",isAnimationActive:!d,name:Object(O.getLabel)("feelsLike")+(b("feelsLikeAvg")?" Avg":""),unit:f("tempf")})),Object(w.contains)("tempf",s)&&p.push(m.a.createElement(he.g,{key:"tempf",type:"monotone",dataKey:b("tempfAvg")?"tempfAvg":"tempf",stroke:"#2c9ce6",strokeWidth:2,fill:"#2c9ce6",dot:!1,legendType:"circle",isAnimationActive:!d,name:Object(O.getLabel)("tempf")+(b("tempfAvg")?" Avg":""),unit:f("tempf"),connectNulls:!0})),Object(w.contains)("dewPoint",s)&&p.push(m.a.createElement(he.g,{dataKey:b("dewPointAvg")?"dewPointAvg":"dewPoint",key:"dewPoint",type:"monotone",stroke:"#50bfbd",connectNulls:!0,strokeWidth:2,fill:"#50bfbd",dot:!1,legendType:"circle",isAnimationActive:!d,name:Object(O.getLabel)("dewPoint")+(b("dewPointAvg")?" Avg":""),unit:f("tempf")})),Object(w.contains)("tempinf",s)&&(h=Object(w.concat)(h,Object(w.pluck)(b("tempinfAvg")?"tempinfAvg":"tempinf",u)),b("tempinfHl")&&(h=Object(w.concat)(h,Object(w.pipe)(Object(w.pluck)("tempinfHl"),w.flatten)(u)),v=!0,p.push(m.a.createElement(he.a,{key:"tempinfHl",type:"monotone",dataKey:"tempinfHl",stroke:"#b4dcf6",strokeWidth:0,fill:"#b4dcf6",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!d,name:Object(O.getLabel)("tempinf",t)+" High/Low",unit:f("tempinf")}))),h=Object(w.filter)(O.isSomething,h),g=m.a.createElement(he.p,{dataKey:"tempinf",orientation:"left",type:"number",axisLine:!1,domain:[Object(w.apply)(Math.min,h),Object(w.apply)(Math.max,h)],tickFormatter:Object(O.toFixed)(1)}),p.push(m.a.createElement(he.g,{key:"tempinf",dataKey:b("tempinfAvg")?"tempinfAvg":"tempinf",type:"monotone",stroke:"#2c9ce6",strokeWidth:2,fill:"#2c9ce6",dot:!1,legendType:"circle",isAnimationActive:!d,name:Object(O.getLabel)("tempinf",t)+(b("tempinfAvg")?" Avg":""),unit:f("tempinf"),connectNulls:!0}))),p.length<1?m.a.createElement("div",{className:"hidden"}):m.a.createElement(Di,{onClick:l,width:r,height:i,mode:c,graphData:u,id:"temp",composed:v,dontChangeHeight:a},g,p,this.props.children)}}]),t}(d.PureComponent),Ai=ce(Si);Si.displayName="TempGraph",Si.displayName="TempGraph",Si.displayName="TempGraph",Si.displayName="TempGraph",Si.displayName="TempGraph",Si.displayName="TempGraph",Si.displayName="TempGraph";var _i=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t,a=this.props,n=a.user,r=a.width,i=a.height,o=a.graphData,c=a.mode,s=a.activeGraphs,l=o[0]&&o[0].refined,u=[],d=Object(O.getSuffForUser)(n);Object(w.contains)("windgustmph",s)&&(e=Object(O.rowsHave)(o,"maxdailygustH"),u.push(m.a.createElement(he.b,{key:"windgustmph",dataKey:e?"maxdailygustH":"windgustmph",fill:"#cdd4d9",barSize:2,barGap:0,name:Object(O.getLabel)("windgustmph")+(e?" High":""),unit:d("windgustmph")}))),Object(w.contains)("windspeedmph",s)&&(t=Object(O.rowsHave)(o,"windspeedmphAvg"),u.push(m.a.createElement(he.g,{key:"windspeedmph",type:"monotone",dataKey:"windspeedmph"+(t?"Avg":""),stroke:"#2c9ce6",strokeWidth:2,fill:"#2c9ce6",dot:!1,isAnimationActive:!l,name:Object(O.getLabel)("windspeedmph")+(t?" Average":""),unit:d("windspeedmph"),legendType:"circle",connectNulls:!0})));var p="dataMax";return(t||e)&&(p=Object(w.pipe)(Object(w.filter)(O.isSomething),Object(w.apply)(Math.max))(Object(w.concat)(Object(w.pluck)("maxdailygustH",o),Object(w.pluck)("windspeedmphAvg",o)))),u.length<1?m.a.createElement("div",{className:"hidden"}):m.a.createElement(Di,{width:r,height:i,mode:c,graphData:o,composed:!0,onClick:this.props.onClick,id:"wind"},m.a.createElement(he.p,{dataKey:"windgustmph",orientation:"left",type:"number",axisLine:!1,domain:[0,p],tickFormatter:Object(O.toFixed)(1)}),u,this.props.children)}}]),t}(d.PureComponent);_i.displayName="WindGraph",_i.displayName="WindGraph",_i.displayName="WindGraph",_i.displayName="WindGraph",_i.displayName="WindGraph",_i.displayName="WindGraph",_i.displayName="WindGraph",(function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.user,a=e.width,n=e.height,r=e.graphData,i=e.mode,o=e.onClick,c=r[0]&&r[0].refined,s="baromrelin",l=Object(O.getSuffForUser)(t),u=Object(O.getUserUnitI)(s,t);return m.a.createElement(Di,{width:a,height:n,mode:i,onClick:o,graphData:r,id:"pressure"},m.a.createElement(he.p,{dataKey:s,orientation:"left",type:"number",axisLine:!1,domain:["dataMin","dataMax"],tickFormatter:function(e){return 0===u?Object(O.toFixed)(2,e):Object(O.toFixed)(0,e)}}),m.a.createElement(he.g,{type:"monotone",dataKey:s,stroke:"#2c9ce6",strokeWidth:2,fill:"#2c9ce6",isAnimationActive:!c,dot:!1,name:Object(O.getLabel)(s),legendType:"circle",unit:l("baromrelin"),connectNulls:!0}),this.props.children)}}]),t}(d.PureComponent)).displayName="PressureGraph";var Ci=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t,a,n=this.props,r=n.device,i=(n.user,n.children),o=n.onChange,c=r.fetchedDevices,s=r.dashboardDevice,l=r.devices,u=r.deviceI;if(/devices\/public/.test(window.location.href)){if((a=Object(O.getTheDevice)(r))&&(e=Object(O.getDeviceLabel)(a),t=m.a.createElement("h1",null,e),l&&l.length>1&&!c[0])){var d=l.map(function(e,t){var a=e.info?e.info.name:e.macAddress;return m.a.createElement("option",{key:t,value:t},a)});t=m.a.createElement("select",{value:u,onChange:function(e){o&&o(parseInt(e.target.value,10))}},d)}}else s&&(a=Object(O.getTheDevice)(r)),t=m.a.createElement(nr,{onChange:function(e){o&&o(e)}});return m.a.createElement("header",{className:"main device-devices-header"},t,m.a.createElement(So,{currentDevice:a}),m.a.createElement("div",{className:"children"},i))}}]),t}(d.PureComponent);Ci.displayName="DevicesHeader",Ci.displayName="DevicesHeader",Ci.displayName="DevicesHeader",Ci.displayName="DevicesHeader",Ci.displayName="DevicesHeader",Ci.displayName="DevicesHeader",Ci.displayName="DevicesHeader";var xi=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this.props.deviceActions.dismissSaveCurrentError()}},{key:"render",value:function(){var e=this.props,t=e.device,a=e.deviceActions,n=e.user,r=e.userActions,i=[m.a.createElement(Ji,{key:2})],o=!1;return Object(O.isLoggedIn)(n)?(o=!0,i.unshift(m.a.createElement(po,{user:n,device:t,deviceActions:a,userActions:r,key:3}))):i.push(m.a.createElement("div",{key:1,className:"block"},m.a.createElement(Qe,null))),m.a.createElement("div",{className:N()("device-my-devices v2",{v3:o})},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"My Devices")),m.a.createElement("div",{className:"page-body"},i))}}]),t}(d.Component),Ii=ae(xi);xi.displayName="MyDevices",xi.displayName="MyDevices",xi.displayName="MyDevices",xi.displayName="MyDevices",xi.displayName="MyDevices",xi.displayName="MyDevices",xi.displayName="MyDevices";var Ti=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.data,t=m.a.createElement("div",{className:"hidden device-comparison-table"}),a={},n={},r=Object(O.getDisplayKeys)(e);if(Object(w.contains)("hourlyrainin",r)&&(a.rain=m.a.createElement("div",null,m.a.createElement(le,{type:"hourlyrainin",value:Object(w.sum)(Object(O.pluckClean)("hourlyrainin",e))}),m.a.createElement("h6",null,"Rainfall Total"))),Object(w.contains)("humidity",r)&&(n.humidity=m.a.createElement("div",null,m.a.createElement(le,{type:"humidity",value:Math.round(Object(w.mean)(Object(O.pluckClean)("humidity",e)))}),m.a.createElement("h6",null,"Humidity"))),Object(O.containsAll)(["tempf","humidity"],r)&&(n.dewPoint=m.a.createElement("div",null,m.a.createElement(le,{type:"tempf",value:Object(w.mean)(Object(O.pluckClean)("dewPoint",e))}),m.a.createElement("h6",null,"Dew Point"))),Object(w.contains)("tempf",r)){var i=Object(O.pluckClean)("tempf",e);a.high=m.a.createElement("div",null,m.a.createElement(le,{type:"tempf",value:Object(w.reduce)(w.max,-1e3,i)}),m.a.createElement("h6",null,"High")),a.low=m.a.createElement("div",null,m.a.createElement(le,{type:"tempf",value:Object(w.reduce)(w.min,1e3,i)}),m.a.createElement("h6",null,"Low")),n.temp=m.a.createElement("div",null,m.a.createElement(le,{type:"tempf",value:Object(w.mean)(i)}),m.a.createElement("h6",null,"Temperature"))}return Object(w.isEmpty)(a)||(t=m.a.createElement("div",{className:"device-comparison-table-wrap"},m.a.createElement("div",{key:"stats",className:"device-comparison-table"},m.a.createElement("div",null,m.a.createElement("h4",null,"Readings"),m.a.createElement("div",{className:"flex"},a.high,a.low,a.rain)),m.a.createElement("div",null,m.a.createElement("h4",null,"Averages"),m.a.createElement("div",{className:"flex"},n.temp,n.humidity,n.dewPoint))))),t}}]),t}(d.PureComponent);Ti.displayName="ComparisonTable",Ti.displayName="ComparisonTable",Ti.displayName="ComparisonTable",Ti.displayName="ComparisonTable",Ti.displayName="ComparisonTable",Ti.displayName="ComparisonTable",Ti.displayName="ComparisonTable";var Pi=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.currentDevice,t=e.lastData,a=t,n=m.a.createElement("div",{className:"humidity-widget hidden"});return Object(O.dataHas)(a)("humidity")&&(n=m.a.createElement("div",{className:"big-number humidity-widget"},m.a.createElement(le,{type:"humidity",row:t}),Object(pe.deviceIsAKestrel)(e)?m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Dew Point"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{type:"dewPoint",row:t}))):m.a.createElement(Hi,{type:"humidity",currentDevice:e}))),n}}]),t}(d.PureComponent);Pi.displayName="HumidityWidget",Pi.displayName="HumidityWidget",Pi.displayName="HumidityWidget",Pi.displayName="HumidityWidget",Pi.displayName="HumidityWidget",Pi.displayName="HumidityWidget",Pi.displayName="HumidityWidget";var Mi=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t,a=this.props,n=a.onClick,r=a.domain,i=a.tickFormatter,o=a.id,c=a.stroke,s=a.children,l=a.dataKey,u=a.user,d=a.width,p=a.height,h=a.graphData,f=a.mode,b=a.device,v=h[0]&&h[0].refined,g=Object(O.getSuffForUser)(u),y=Object(O.getLabel)(l,b),E=l+"Hl",k=!1,j=Object(w.pluck)(l,h),N=Object(O.rowsHave)(h,l+"Avg");N&&(j=Object(w.pluck)(l+"Avg",h)),Object(O.rowsHave)(h,E)&&(t=!0,j=Object(w.concat)(j,Object(w.pipe)(Object(w.pluck)(E),w.flatten)(h)),k=!0,e=m.a.createElement(he.a,{type:"monotone",dataKey:E,stroke:"#b4dcf6",strokeWidth:0,fill:"#b4dcf6",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!1,name:y+" High/Low",unit:g(l)})),j=j.filter(Object(w.pipe)(isNaN,w.not)),r&&"dataMax"===r[1]&&t&&(r[1]=Object(w.apply)(Math.max,j));var D=i||w.identity;return m.a.createElement(Di,{width:d,height:p,mode:f,graphData:h,composed:k,id:o||l,onClick:n},m.a.createElement(he.p,{dataKey:N?l+"Avg":l,orientation:"left",type:"number",axisLine:!1,tickFormatter:D,domain:r||[Object(w.apply)(Math.min,j),Object(w.apply)(Math.max,j)]}),e,m.a.createElement(he.g,{type:"monotone",dataKey:N?l+"Avg":l,stroke:c||"#2c9ce6",strokeWidth:2,dot:!1,isAnimationActive:!v,name:y+(N?" Avg":""),unit:g(l),legendType:"circle",connectNulls:!0}),s)}}]),t}(d.PureComponent),Ri=ce(Mi);Mi.displayName="GenericGraph";var Li=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.user,a=e.width,n=e.height,r=e.graphData,i=e.mode,o=e.activeGraphs,c=(r[0]&&r[0].refined,[]),s=Object(O.getSuffForUser)(t),l=Object(O.rowsHave)(r,"winddirAvg");return Object(w.contains)("winddir",o)&&c.push(m.a.createElement(he.g,{key:"winddir",type:"monotone",dataKey:"winddir"+(l?"Avg":""),stroke:"#2c9ce6",strokeWidth:0,fill:"#2c9ce6",isAnimationActive:!1,name:(l?"Dominant ":"")+Object(O.getLabel)("winddir"),unit:s("winddir"),legendType:"circle"})),c.length<1?m.a.createElement("div",{className:"hidden"}):m.a.createElement(Di,{width:a,height:n,mode:i,onClick:this.props.onClick,graphData:r,id:"winddir"},m.a.createElement(he.p,{dataKey:"y",orientation:"left",type:"number",axisLine:!1,domain:[0,360],tickFormatter:O.windDirLabel}),c,this.props.children)}}]),t}(d.PureComponent);Li.displayName="WindDirectionGraph",Li.displayName="WindDirectionGraph",Li.displayName="WindDirectionGraph",Li.displayName="WindDirectionGraph",Li.displayName="WindDirectionGraph",Li.displayName="WindDirectionGraph",Li.displayName="WindDirectionGraph";var Fi=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={enabled:!1,lastDate:"",waiting:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidUpdate",value:function(){var e=this,t=this.state,a=t.waiting,n=t.enabled,r=this.props,i=r.d,o=r.actions,c=r.device;if(n&&!a&&!Object(w.contains)("wipeData",c.fetchDeviceDataKeysPending)&&!c.removeDeviceDataPending)if(c.wipeData&&c.wipeData.length>0){var s=Object(w.filter)(w.identity,c.wipeData),l=Object(w.last)(s);l?(o.removeDeviceData(s).then(function(){return o.clearDataKey("wipeData")}),this.setState({lastDate:Object(O.fmtDate)("MMM D h:mma",l.dateutc)})):(this.setState({waiting:!0}),setTimeout(function(){o.clearDataKey("wipeData"),e.setState({waiting:!1})},7e3))}else{var u={dataKey:"wipeData",macAddress:i.macAddress,start:1,end:Date.now(),asc:!0,limit:50};o.clearFetchDeviceDataCache(u),o.fetchDeviceData(u)}}},{key:"render",value:function(){var e=this,t=this.state,a=t.waiting,n=t.enabled,r=t.lastDate;return m.a.createElement("div",{className:"device-wipe-data"},m.a.createElement("a",{className:"btn btn-circle",onClick:function(){if(n)return e.setState({enabled:!1,waiting:!1,lastDate:""});window.confirm("Are you sure?")&&e.setState({enabled:!0})}},n?"Stop":"wipe data"),""!==r?"Currently on: "+r:"",a?"... waiting...":"")}}]),t}(d.PureComponent);ce(Fi);Fi.displayName="WipeData",Fi.displayName="WipeData",Fi.displayName="WipeData",Fi.displayName="WipeData",Fi.displayName="WipeData",Fi.displayName="WipeData",Fi.displayName="WipeData";var Ui=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.user,a=e.width,n=e.height,r=e.graphData,i=e.mode,o=r[0]&&r[0].refined,c="hourlyrainin",s=c,l="dailyrainin",u=Object(O.getSuffForUser)(t),d=Object(O.getUserUnitI)("hourlyrainin",t),p=!1;Object(O.rowsHave)(r,"dailyraininH")&&(l="dailyraininH",p=!0);var h=!1;Object(O.rowsHave)(r,"hourlyraininAvg")&&(s="hourlyraininAvg",h=!0);var f,b=Object(w.concat)(Object(w.pluck)(s,r),Object(w.pluck)(l,r)),v=!1;return Object(O.rowsHave)(r,"hourlyraininHl")&&(v=!0,f=m.a.createElement(he.a,{type:"monotone",dataKey:"hourlyraininHl",stroke:"#b4dcf6",strokeWidth:0,fill:"#b4dcf6",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!1,name:Object(O.getLabel)(c)+" High/Low",unit:u(c)}),b=Object(w.concat)(b,Object(w.pipe)(Object(w.pluck)("hourlyraininHl"),w.flatten)(r))),b=Object(w.filter)(O.isSomething,b),m.a.createElement(Di,{width:a,height:n,mode:i,graphData:r,id:"rain",composed:v,onClick:this.props.onClick},m.a.createElement(he.p,{dataKey:c,orientation:"left",type:"number",axisLine:!1,tickFormatter:function(e){return 0===d?e.toFixed(2):e.toFixed(1)},domain:[0,Object(w.apply)(Math.max,b)]}),f,m.a.createElement(he.g,{type:"monotone",dataKey:l,stroke:"#50bfbd",fill:"#50bfbd",strokeWidth:2,dot:!1,isAnimationActive:!o,name:Object(O.getLabel)("dailyrainin")+(p?" High":""),unit:u("dailyrainin"),legendType:"circle",connectNulls:!0}),m.a.createElement(he.g,{type:"monotone",dataKey:s,stroke:"#2c9ce6",strokeWidth:2,fill:"#2c9ce6",dot:!1,isAnimationActive:!o,name:Object(O.getLabel)(c)+(h?" Avg":""),unit:u(c),legendType:"circle",connectNulls:!0}),this.props.children)}}]),t}(d.PureComponent);Ui.displayName="RainGraph",Ui.displayName="RainGraph",Ui.displayName="RainGraph",Ui.displayName="RainGraph",Ui.displayName="RainGraph",Ui.displayName="RainGraph",Ui.displayName="RainGraph";var Wi=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={lastUpdate:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_yesterdayData",value:function(){var e=this.props.device.yesterdayData;if(e&&e[0])return e.length>1?Object(w.last)(e):e[0]}},{key:"_shouldUpdate",value:function(){var e=this.state.lastUpdate,t=this.props,a=t.currentDevice,n=t.device.fetchDeviceDataKeysPending,r=this._yesterdayData();return!Object(w.contains)("yesterdayData",n)&&(!e||(!(!r||r.PASSKEY===re()(a.macAddress))||(Date.now()-e>6e5||void 0)))}},{key:"componentDidUpdate",value:function(e){var t=this.props,a=t.deviceActions,n=t.currentDevice,r=a.fetchDeviceData,i=n.lastData,o=moment(i.dateutc).subtract(1,"days");this._shouldUpdate()&&this.setState({lastUpdate:Date.now()},function(){r({macAddress:n.macAddress,dataKey:"yesterdayData",start:o.valueOf()-36e5,end:o.valueOf(),limit:1,asc:!0})})}},{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.type,n=e.user,r=e.showNegative,i=t.lastData,o="",c=this._yesterdayData();if(c&&Object(O.dataHas)(c,a)&&i.dateutc-c.dateutc>138e4){var s=Object(O.convertUnitForUser)(n,a),l=s(i[a])-s(c[a]);"tempf"===a&&(l=l.toFixed(1));var u="from ";0===l?u+="zero":l<0&&(u+="down");var d=r?(l<0?"":"+")+l:Math.abs(l);o=m.a.createElement("div",{className:u},m.a.createElement("div",{className:"label"},"From Yesterday"),m.a.createElement(le,{type:a,value:d,skipConvert:!0}))}return m.a.createElement("div",{className:"device-from-yesterday"},o)}}]),t}(d.PureComponent),Hi=ae(Wi);Wi.displayName="FromYesterday";var Bi=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r))))._int=!1,a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"doFetch",value:function(){var e=this.props,t=e.match,a=e.deviceActions,n=e.userActions,r=t.params;a.fetchDevice({"public.slug":r.key}).then(function(e){e.data[0]&&e.data[0].unitSettings&&n.setUnits(e.data[0].unitSettings,!1)})}},{key:"componentDidMount",value:function(){var e=this.props,t=e.location,a=e.match.params;return a&&a.key?Object(O.isEmbed)(t)?(this.doFetch(),void(this._int=setInterval(this.doFetch.bind(this),6e4))):this.props.history.push("/dashboard/".concat(a.key)):this.props.history.push("/")}},{key:"componentWillUnmount",value:function(){clearInterval(this._int)}},{key:"componentDidUpdate",value:function(){var e=this.props,t=e.device,a=e.deviceActions,n=t.fetchedDevices,r=t.fetchDeviceDataKeysPending,i="deviceSummaries";if(n[0]&&!t[i]&&!Object(w.contains)(i,r)){var o=n[0].macAddress;a.fetchDeviceData({macAddress:o,dataKey:i,start:Date.now()-31536e6,stats:"summary"})}}},{key:"_isClean",value:function(){return/ref=hp/.test(window.location.href)}},{key:"hideKeys",value:function(e){var t=this,a=Object(O.dataHas)(e);return O.PRIVATE_PARAMS.reduce(function(e,n){return a(n)&&!t._isClean()||e.push(n),e},[])}},{key:"render",value:function(){var e=this.props,t=e.location,a=e.device,n=a.fetchedDevices,r=a.fetchDevicePending,i=r?m.a.createElement(fe,null):m.a.createElement("div",{className:"sorry"},"Sorry. We can't find that device."),o=n;if(o&&o.length>0){var c=o[0],s=this.hideKeys(c.lastData);this._isClean()&&(c.settings={},s.push("view")),c&&(i=m.a.createElement("div",null,m.a.createElement(Ci,{device:a,fetchDevices:this.doFetch.bind(this),fetchDevicesPending:r}),m.a.createElement(me,{currentDevice:c,hideKeys:s}),Object(O.isEmbed)(t)?"":m.a.createElement(li,{hideKeys:s,macAddress:c.macAddress})))}return m.a.createElement("div",{className:"device-public"},i)}}]),t}(d.Component),Yi=ae(Object(P.h)(Bi));Bi.displayName="Public",Bi.displayName="Public",Bi.displayName="Public",Bi.displayName="Public",Bi.displayName="Public",Bi.displayName="Public",Bi.displayName="Public";var Gi=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.actions,a=e.currentDevice;return m.a.createElement("div",{className:"device-share-button"},m.a.createElement("a",{className:"btn btn-green",onClick:function(){return t.shareDevice(a)}},m.a.createElement("span",null,"Share "),m.a.createElement("i",{className:"glyphicon glyphicon-share-alt"})))}}]),t}(d.PureComponent),zi=ce(Gi);Gi.displayName="ShareButton",Gi.displayName="ShareButton",Gi.displayName="ShareButton",Gi.displayName="ShareButton",Gi.displayName="ShareButton",Gi.displayName="ShareButton",Gi.displayName="ShareButton";var Ki=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={inputCopied:!1,textareaCopied:!1,width:500,height:400},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_getDevice",value:function(){var e=this.props,t=e.currentDevice,a=e.device;return t||a.shareDevice}},{key:"updateDevicePublic",value:function(e){var t=this.props,a=t.currentDevice,n=t.actions;n.patch(e._id,{public:e.public}),a||n.shareDevice(e)}},{key:"render",value:function(){var e,t=this,a=this.props,n=a.bodyOnly,r=a.actions,i=this._getDevice(),o=this.state,c=o.width,s=o.height,l=o.inputCopied,u=o.textareaCopied,d=function(){return r.shareDevice(!1)},p="";if(i){e=m.a.createElement("div",null,m.a.createElement("p",{className:"first"},"\xa0"),m.a.createElement("p",null,"Your sensor data is currently private. Click below to allow others to view your sensor dashboard."),m.a.createElement("p",null,"For your own privacy, you can choose to share your outdoor conditions only."),m.a.createElement(Mo,{currentDevice:this._getDevice()}));var h=function(e){return function(){var a={};a[e]=!0,t.setState(a),setTimeout(function(){a[e]=!1,t.setState(a)},2e3)}};if(i.public){var f=Object(O.getDeviceShareLink)(i),b='<iframe width="'.concat(c,'" height="').concat(s,'" frameborder="0" src="').concat(Object(O.getDeviceEmbedLink)(i),'"></iframe><p>powered by <a target="_blank" href="https://ambientweather.net">Ambient Weather</a></p>'),v=function(e){return e.target.select()};e=m.a.createElement("div",null,m.a.createElement("p",{className:"first"},"\xa0"),m.a.createElement("p",null,"Your device dashboard is ",m.a.createElement("span",{className:"public"},"public"),"."),m.a.createElement("p",null,i.public.indoorPublic?m.a.createElement("span",null,"All data for this device is ",m.a.createElement("span",{className:"public"},"public"),".",m.a.createElement("br",null)):"Only your Outdoor Data is shared from your dashboard. To share your indoor and other sensor data as well ",m.a.createElement("a",{onClick:function(){i.public.indoorPublic=!i.public.indoorPublic,t.updateDevicePublic(i)}}," ",i.public.indoorPublic?"Click here to make your indoor and other sensor data private":"click here")),m.a.createElement(Mo,{currentDevice:this._getDevice()}),m.a.createElement("label",null,"Public Dashboard Link"),m.a.createElement("div",{className:"line"},m.a.createElement("input",{type:"text",className:"form-control",readOnly:!0,value:f,onFocus:v}),m.a.createElement(Lr.CopyToClipboard,{text:f,onCopy:h("inputCopied")},m.a.createElement("a",{className:"btn btn-primary"},l?"Copied!":"Copy"))),m.a.createElement("label",null,"Iframe Embed Code"),m.a.createElement("textarea",{onFocus:v,readOnly:!0,value:b}),m.a.createElement("div",{className:"line"},m.a.createElement("div",{className:"same"},m.a.createElement("label",null,"Iframe Width (pixels)"),m.a.createElement("input",{type:"text",onChange:function(e){return t.setState({width:e.target.value})},value:c})),m.a.createElement("div",{className:"same"},m.a.createElement("label",null,"Iframe Height (pixels)"),m.a.createElement("input",{type:"text",onChange:function(e){return t.setState({height:e.target.value})},value:s}))),m.a.createElement(Lr.CopyToClipboard,{text:b,onCopy:h("textareaCopied")},m.a.createElement("a",{className:"btn btn-primary w100"},u?"Copied!":"Copy Embed Code")))}p=m.a.createElement(x.a,{portalClassName:N()("device-share-device-modal","general-modal",{ios:Object(O.isIos)()}),contentLabel:"Share Device Modal",isOpen:!!i,onRequestClose:d,style:O.generalModalStyle},m.a.createElement("a",{className:"close",onClick:d}),m.a.createElement("h2",null,"Share ",m.a.createElement("em",null,i.info.name||i.macAddress)),m.a.createElement("div",{className:"body"},e))}return m.a.createElement("div",{className:"device-share-device-modal"},n?e:p)}}]),t}(d.PureComponent),qi=ce(Ki);Ki.displayName="ShareDeviceModal";var Vi=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.sensor,n=t.lastData,r=Object(O.dataHas)(n),i="soiltemp".concat(a),o="soilhum".concat(a),c=[],s="",l=!0;return r([i])&&c.push(m.a.createElement("div",{key:1},m.a.createElement("div",{className:"label"},"Temperature"),m.a.createElement(le,{type:i,row:n}))),r([o])&&(l=!1,c.push(m.a.createElement("div",{key:2},m.a.createElement("div",{className:"label"},"Moisture"),m.a.createElement(le,{type:o,row:n}))),s=m.a.createElement("div",{className:"bottom"},m.a.createElement("div",{className:"label"},"Conditions Are"),m.a.createElement("div",{className:"value"},Object(O.soilHumidityLabel)(n[o])))),m.a.createElement("div",{className:N()("soil-widget",{single:l})},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"wrap"},c)),s)}}]),t}(d.PureComponent);Vi.displayName="SoilWidget",Vi.displayName="SoilWidget",Vi.displayName="SoilWidget",Vi.displayName="SoilWidget",Vi.displayName="SoilWidget",Vi.displayName="SoilWidget",Vi.displayName="SoilWidget";var $i={wu:{title:"Weather Underground",IDLabel:"Station ID",PASSWORDLabel:"Station Key",link:"https://www.wunderground.com/personal-weather-station/mypws",helpLink:Object(Ve.e)().helpUrlBase+"weatherunderground-com/",desc:"WeatherUnderground.com is a free, public weather data hosting service, and has accumulated the largest number of reporting weather stations in the world."},pws:{title:"PWS Weather",IDLabel:"Station ID",PASSWORDLabel:"Password",link:"https://www.pwsweather.com/stationlist.php",helpLink:Object(Ve.e)().helpUrlBase+"pwsweather/",desc:"PWSWeather is a free, public weather data hosting service. PWSWeather.com is a program to bring together data from personal weather stations worldwide, display it and make it available for other purposes."}},Qi=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={open:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"getField",value:function(e){var t=this.props,a=t.theDevice,n=t.service;return Object(w.path)(["servers",n,e],a)?a.servers[n][e]:""}},{key:"getServersInput",value:function(e){var t=this.props,a=t.theDevice,n=t.service,r=t.deviceActions,i=this.getField(e);return m.a.createElement("input",{type:"text",value:i,className:"form-control type-servers-"+n+"-"+e,disabled:!0===this.getField("verified"),placeholder:$i[n][e+"Label"],onChange:function(t){var i=a.servers||{};i[n]=i[n]||{},i[n][e]=t.target.value,r.patch(a._id,{servers:i})}})}},{key:"verify",value:function(){var e=this.props,t=e.theDevice,a=e.service,n=e.deviceActions,r=t.servers;r[a].verify=!0,n.patch(t._id,{servers:r}).then(n.fetchDevices)}},{key:"render",value:function(){var e=this,t=this.props,a=t.theDevice,n=t.deviceActions,r=t.service,i=this.state.open,o=!0===this.getField("verified"),c=""===this.getField("ID")||""===this.getField("PASSWORD")||o,s="";"wu"===r&&(s=m.a.createElement("div",{className:"message"},"If you have already entered your device information manually in your console, Observer IP Module, or other module, ",m.a.createElement("b",null,"PLEASE DO NOT RE-ENTER IT HERE")));var l=$i[r].title,u=$i[r].link,d=m.a.createElement("div",{className:"form"},m.a.createElement("span",null,$i[r].title," Info ",m.a.createElement(Te,{link:$i[r].helpLink})),m.a.createElement("div",{className:N()("device-servers-form",{verified:o,verifyError:""!==this.getField("verifyError")})},this.getServersInput("ID"),this.getServersInput("PASSWORD"),!0===this.getField("verify")?m.a.createElement(fe,null):m.a.createElement("button",{disabled:c,className:"btn btn-primary",onClick:this.verify.bind(this)},"Connect")));return o&&(d=m.a.createElement("div",{className:"form"},m.a.createElement("span",null,"Connected to ",l," with Station ID: ",this.getField("ID")),m.a.createElement("button",{className:"btn",onClick:function(){if(window.confirm("Are you sure you want to stop sending data to "+l+"?")){var e=a.servers||{};e[r]={},n.patch(a._id,{servers:e})}}},"Disconnect"))),m.a.createElement("div",{className:N()("service",{open:i})},m.a.createElement("header",{onClick:function(){e.setState({open:!i})}},l,"wu"!==r||o?m.a.createElement("span",{className:N()("badge",{on:o})}):""),m.a.createElement("div",{className:"bottom"},s,d,""!==this.getField("verifyError")?m.a.createElement("div",{className:"error"},this.getField("verifyError")):"",m.a.createElement("div",{className:"desc"},m.a.createElement("p",null,$i[r].desc)),o?"":m.a.createElement("div",{className:"register"},"Register at ",m.a.createElement("a",{target:"_blank",href:u},u),m.a.createElement("a",{target:"_blank",className:"instructions",href:$i[r].helpLink},"Read detailed instructions here >"))))}}]),t}(d.PureComponent);Qi.displayName="ServersForm",Qi.displayName="ServersForm",Qi.displayName="ServersForm",Qi.displayName="ServersForm",Qi.displayName="ServersForm",Qi.displayName="ServersForm",Qi.displayName="ServersForm";var Xi=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).deviceLine=(a=n).deviceLine.bind(a),n.getInput=(a=n).getInput.bind(a),n.removeDevice=(a=n).removeDevice.bind(a),n.state={wu:!1,pws:!1},n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillMount",value:function(){var e=this.props,t=e.user,a=e.alert,n=e.alertActions;Object(O.isLoggedIn)(t)&&!a.alerts&&n.fetchAlerts({userId:t.info._id})}},{key:"getInput",value:function(e,t){var a=this.props.deviceActions,n=e.info?e.info[t]:"";return m.a.createElement("input",{type:"text",value:n,className:"editable-title type-info-"+t,onChange:function(n){var r=e.info||{};r[t]=n.target.value,a.patch(e._id,{info:r})}})}},{key:"removeDevice",value:function(e){if(window.confirm("Are you sure you want to delete this device?")){var t=this.props.deviceActions,a=t.removeDevice,n=t.fetchDevices,r=t.setDeviceI;a(e).then(function(){return n()}),r(0)}}},{key:"badge",value:function(e){return m.a.createElement("div",{className:N()("badge",{on:e})})}},{key:"deviceLine",value:function(e){var t,a=this,n=this.props,r=n.deviceActions,i=n.user,o=n.alert,c=Object(w.path)(["info","oauth","alexa"],i),s=Object(w.path)(["info","oauth","google-assistant"],i),l=o.alerts&&Object(w.pipe)(Object(w.filter)(function(t){return t.ifttt&&t.deviceId===e._id}),Object(w.pipe)(w.isEmpty,w.not))(o.alerts);return e.tz&&(t=m.a.createElement("div",{className:"item tz"},m.a.createElement("label",null,"Timezone: "),m.a.createElement(Re,{value:e.tz.name,onChange:function(t){t.name!==e.tz.name&&r.patch(e._id,{tz:Object(w.pick)(["name"],t)})}}))),m.a.createElement("div",{key:e._id,className:"device-line"},m.a.createElement("div",{className:"block"},m.a.createElement("header",{className:"main-top"},this.getInput(e,"name"),m.a.createElement("div",{className:"right"},m.a.createElement(zi,{currentDevice:e}),m.a.createElement("div",{className:"icon"}))),m.a.createElement("div",{className:"sub-head clearfix"},m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"MAC Address:"),m.a.createElement("span",{className:"mac"},e.macAddress)),m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Sharing:"),m.a.createElement("span",null,e.public?m.a.createElement("span",{className:"public"},"public"):m.a.createElement("span",{className:"private"},"private"))),t,m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Location: "),m.a.createElement("span",null,this.getInput(e,"location")))),m.a.createElement("div",{className:"services"},m.a.createElement(Qi,{theDevice:e,service:"wu",deviceActions:r}),m.a.createElement(Qi,{theDevice:e,service:"pws",deviceActions:r})),m.a.createElement("a",{className:"delete-device",onClick:function(){return a.removeDevice(e)}},"Delete this device")),m.a.createElement("div",{className:"connections block"},m.a.createElement("a",{title:"Learn more about our Amazon Alexa integration",href:"https://help.ambientweather.net/help/amazon-alexa/",target:"_blank",className:N()("alexa-service")},m.a.createElement("div",{className:"icon"}),this.badge(c)),m.a.createElement("a",{href:"https://help.ambientweather.net/help/google-home/",title:"Learn more about our Google Assistant integration",target:"_blank",className:N()("ga-service")},m.a.createElement("div",{className:"icon"}),this.badge(s)),m.a.createElement("a",{href:"https://help.ambientweather.net/help/ifttt/",title:"Learn more about controling other connected devices with your weather data via IFTTT",target:"_blank",className:N()("ifttt-service")},m.a.createElement("div",{className:"icon"}),this.badge(l))))}},{key:"render",value:function(){var e=this.props,t=e.device,a=e.userActions,n=e.deviceActions,r=e.user,i=e.alert,o=t.devices;r.info;return!o||o.length<1?m.a.createElement("div",{className:"hidden"}):m.a.createElement("div",{className:Object(Ve.a)("device-device-list-rows")},o.map(function(e){return m.a.createElement(uo,{currentDevice:e,alerts:i.alerts||[],deviceActions:n,userActions:a,device:t,user:r,key:e._id})}))}}]),t}(d.PureComponent),Ji=ae(Xi);Xi.displayName="DeviceListRows",Xi.displayName="DeviceListRows",Xi.displayName="DeviceListRows",Xi.displayName="DeviceListRows",Xi.displayName="DeviceListRows",Xi.displayName="DeviceListRows",Xi.displayName="DeviceListRows";var Zi={temp:["tempf","dewPoint","yesterday-tempf","feelsLike"],Wind:["windspeedmph","windgustmph","maxdailygust","winddir"],Rain:["hourlyrainin","dailyrainin","weeklyrainin"],Pressure:["baromrelin","pressureWidgetLastHour"],Humidity:["humidity","yesterday-humidity"],Indoor:["tempinf","humidityin","indoor-dewPoint","indoor-feelsLike"],Solar:["uv","solarradiation"],Air:["pm25","pm25_24h"],Airin:["pm25_in","pm25_in_24h"],Lightning:["lightning_hour","lightning_day","lightning_distance"],temp1f:["temp1f","humidity1","s-dewPoint","s-feelsLike"],temp2f:["temp2f","humidity2","s-dewPoint","s-feelsLike"],temp3f:["temp3f","humidity3","s-dewPoint","s-feelsLike"],temp4f:["temp4f","humidity4","s-dewPoint","s-feelsLike"],temp5f:["temp5f","humidity5","s-dewPoint","s-feelsLike"],temp6f:["temp6f","humidity6","s-dewPoint","s-feelsLike"],temp7f:["temp7f","humidity7","s-dewPoint","s-feelsLike"],temp8f:["temp8f","humidity8","s-dewPoint","s-feelsLike"],temp9f:["temp9f","humidity9","s-dewPoint","s-feelsLike"],temp10f:["temp10f","humidity10","s-dewPoint","s-feelsLike"],soiltemp1:["soiltemp1","soilhum1","conditions"],soiltemp2:["soiltemp2","soilhum2","conditions"],soiltemp3:["soiltemp3","soilhum3","conditions"],soiltemp4:["soiltemp4","soilhum4","conditions"],soiltemp5:["soiltemp5","soilhum5","conditions"],soiltemp6:["soiltemp6","soilhum6","conditions"],soiltemp7:["soiltemp7","soilhum7","conditions"],soiltemp8:["soiltemp8","soilhum8","conditions"],soiltemp9:["soiltemp9","soilhum9","conditions"],soiltemp10:["soiltemp10","soilhum10","conditions"]},eo=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"getConfig",value:function(){var e=this.props.currentDevice,t=Object(w.clone)(Zi);return Object(O.widgetExpanded)("view",e)&&(t.Wind.push("windspdmph_avg2m"),t.Wind.push("winddir_avg2m"),t.Wind.push("windspdmph_avg10m"),t.Wind.push("winddir_avg10m"),t.Rain.push("eventrainin"),t.Rain.push("monthlyrainin"),t.Rain.push("yearlyrainin"),t.Rain.push("totalrainin"),t.temp.push("hl-tempf"),t.Indoor.push("hl-tempinf")),Object(w.toPairs)(t)}},{key:"keyLine",value:function(e,t){var a,n,r=this.props,i=r.onChange,o=r.currentDevice,c=r.device,s=o.lastData,l=Object(O.getDisplayKeys)([s]),u=/yesterday/.test(e),d=/indoor/.test(e),p=/^temp\d/.test(t),h=/soil/.test(t),f=/pressure/.test(e);if(!l.includes(e)&&!p&&!u&&!d&&!h&&!f||f&&!(c[e]&&c[e][0]&&c[e][0].baromrelin))return"";if("conditions"===e){var b="soilhum"+t.match(/temp(\d+)$/)[1];if(!Object(O.dataHas)(s,b))return"";n="Conditions",a=m.a.createElement("span",{className:"fdp"},Object(O.soilHumidityLabel)(s[b]))}else if(p&&["s-feelsLike","s-dewPoint"].includes(e)){var v=t.match(/\d+/)[0],g="temp"+v+"f",y="humidity"+v;if(!Object(O.dataHas)(s,[g,y]))return"";if("s-dewPoint"===e){var E=Object(O.dewPoint)(s[g],s[y]);if(!Object(O.isSomething)(E))return"";n="Dew Point",a=m.a.createElement(le,{type:"tempf",value:E})}else{var w=Object(O.feelsLike)(s[g],s[y]);if(!Object(O.isSomething)(w))return"";n="Feels Like",a=m.a.createElement(le,{type:"tempf",value:w})}}else if(d){if("dewPoint"===e.replace("indoor-","")){var k=Object(O.dewPoint)(s.tempinf,s.humidityin);if(!Object(O.dataHas)(s,["tempinf","humidityin"])||!Object(O.isSomething)(k))return"";n="Dew Point",a=m.a.createElement(le,{type:"tempf",value:k})}else{var j=Object(O.feelsLike)(s.tempinf,s.humidityin);if(!Object(O.dataHas)(s,["tempinf","humidityin"])||!Object(O.isSomething)(j))return"";n="Feels Like",a=m.a.createElement(le,{type:"tempf",value:j})}}else if(f){n="Rate";var D=s.baromrelin-c.pressureWidgetLastHour[0].baromrelin;a=m.a.createElement(le,{type:"baromrelin",before:D>0?"+":"",value:D,after:"/hr"})}else if(u)a=m.a.createElement(Hi,{showNegative:!0,type:e.replace("yesterday-",""),currentDevice:o}),n="";else{if(!Object(O.isSomething)(o.lastData[e]))return"";a=m.a.createElement(le,{type:e,row:o.lastData,skipWindLabel:!0}),n=O.displayProps[e].label.replace(t,"").replace(/ \d+/,""),"tempf"===e?n="Temperature":"humidity"===e&&(n="Humidity")}"hourlyrainin"===e&&(n="Rate"),"pm25"===e&&(n="Current"),"pm25_24h"===e&&(n="24 hour average"),"pm25_in"===e&&(n="Current"),"pm25_in_24h"===e&&(n="24 hour average");var S=m.a.createElement("div",{className:"label"},n);return["uv","solarradiation"].includes(e)&&(S=m.a.createElement(wi,{type:"uv"===e?e:"solar",currentDevice:o,onChange:i})),m.a.createElement("div",{key:e,className:N()("line",{yesterday:u})},S,a)}},{key:"hlLines",value:function(e,t){var a=this.props,n=a.device,r=a.user,i=a.currentDevice,o=a.deviceActions.fetchDeviceData,c=e.replace("hl-","");return m.a.createElement(vi,{device:n,user:r,currentDevice:i,fetchDeviceData:o,type:c,key:e,format:function(e){var t=["today","yesterday"].includes(e.label)?"'s":"ly";return e.stat.max&&e.stat.min?m.a.createElement("div",{key:e.key,className:"line"},m.a.createElement("div",{className:"label"},Object(O.ucFirst)(e.label)+t," High/Low"),m.a.createElement("div",{className:"high-lows"},m.a.createElement(le,{type:"tempf",value:e.stat.max}),m.a.createElement("span",{className:"slash"}," / "),m.a.createElement(le,{type:"tempf",value:e.stat.min}))):m.a.createElement("div",{key:e.key,className:"hidden"})}})}},{key:"render",value:function(){var e=this,t=this.props,a=t.onChange,n=t.currentDevice,r=Object(O.getDisplayKeys)([n.lastData]);return m.a.createElement("div",{className:"device-quick-view-widget small-flex-lines"},m.a.createElement("div",{className:"wrap"},this.getConfig().map(function(t){var i=t[0],o=t[1];if(!Object(O.containsAny)(o,r))return m.a.createElement("div",{className:"hidden",key:i});var c="Solar"===i?m.a.createElement("h5",null,i):m.a.createElement(wi,{type:i.toLowerCase(),currentDevice:n,onChange:a});return m.a.createElement("div",{className:"group",key:i},c,Object(w.flatten)(o.map(function(t){return/hl-/.test(t)?e.hlLines(t,i):e.keyLine(t,i)})))})))}}]),t}(d.PureComponent),to=ae(eo);eo.displayName="QuickViewWidget",eo.displayName="QuickViewWidget",eo.displayName="QuickViewWidget",eo.displayName="QuickViewWidget",eo.displayName="QuickViewWidget",eo.displayName="QuickViewWidget",eo.displayName="QuickViewWidget";var ao=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.device,n=Object(O.dataHas)(t.lastData),r=Object(w.curry)(function(e,t){var a=1===e[t]||"1"===e[t];return!e.stationtype||"weatherbridge"!==e.stationtype&&"weatherbridgepro"!==e.stationtype?/leak/.test(t)||/lightning/.test(t)?a:!a:a}),i=O.WIDGET_CONFIG.battery.fields.filter(n).filter(r(t.lastData)),o=m.a.createElement("h5",null,m.a.createElement("div",null,"All Batteries OK")," ",m.a.createElement("i",{className:"battery-full"})),c=!0;return i.length>0&&(c=!1,o=m.a.createElement("div",{className:"group"},m.a.createElement("h5",null,"Low Batteries ",m.a.createElement("i",{className:"battery-low"})),i.map(function(e){return m.a.createElement("div",{key:e,className:"line"},m.a.createElement("span",{className:"label"},Object(O.getLabel)(e,a)))}))),m.a.createElement("div",{className:N()("device-battery-widget small-flex-lines",{ok:c})},m.a.createElement("div",{className:"wrap"},o))}}]),t}(d.PureComponent);ao.displayName="BatteryWidget",ao.displayName="BatteryWidget",ao.displayName="BatteryWidget",ao.displayName="BatteryWidget",ao.displayName="BatteryWidget",ao.displayName="BatteryWidget",ao.displayName="BatteryWidget";var no=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={},a.refCallback=function(e){!a.state.height&&e&&a.setState({height:e.getBoundingClientRect().height})},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_id",value:function(){var e=this.props,t=e.doc,a=e.type,n=e.prop;return t.dateutc+a+n}},{key:"_needsConversion",value:function(){return Object(O.getMasterUnitParam)(this.props.type)}},{key:"_docId",value:function(){return this.props.doc.loc}},{key:"render",value:function(){var e,t,a,n=this,r=this.state,i=r.st8Value,o=r.st8Date,c=r.height,s=this.props,l=s.onClick,u=s.deviceActions,d=s.device,p=s.type,h=s.prop,f=s.doc,b=s.user,v=s.details,g=d.editingSummaryCell,y=Object(O.getDateTz)(moment,d),E=g===this._id(),k=f[p],j=this._docId(),D=!1,S=m.a.createElement("span",{className:"nada"},"- -");if(/rain/.test(p)&&"l"===h&&(k=null),"rainTotal"===p&&"h"===h?(t=Object(w.path)(["dailyrainin","hs"],f),e=m.a.createElement(le,{type:"dailyrainin",value:t})):k?"avg"===h?(t=Object(O.getHlAvg)(f,p),e=Object(O.isWindDir)(p)?t:m.a.createElement(le,{type:p,value:t})):Object(O.isWindDir)(p)?(j=!1,e=S):(t=k[h],(D=y(k[h+"t"])).isValid()||(D=y(f.dateutc)),a=D.format(v?Object(O.timeFormatForUser)(b):"M/D/YY"),e=[m.a.createElement(le,{key:"fdp",type:p,value:t}),m.a.createElement("span",{className:"date",key:"date"},a),v?null:m.a.createElement("span",{className:"date",key:"datetime"},D.format(Object(O.timeFormatForUser)(b)))]):(e=S,j=!1),Object(O.theDeviceIsMine)(d)||Object(O.isAdmin)(b)||(j=!1),v&&j&&!E)return m.a.createElement("a",{ref:this.refCallback,onClick:function(){E||(n.setState({st8Value:n._needsConversion()?Object(O.convertUnitForUser)(b,p,t):t,st8Date:D?D.format("h:mm a"):null}),u.editSummaryCell(n._id()))},className:N()("device-summary-table-cell",{editing:E})},e);if(E){var A,_=function(){var e={};e[p]=Object(w.clone)(f[p]);var t=parseFloat(i);if(Object(O.isWindDir)(p))e[p]=i;else if(!isNaN(t)){if(n._needsConversion()){var a=Object(O.getUserUnitI)(p,b);t=Object(O.convertUnitInverse)(n._needsConversion(),a,t)}e[p]["avg"===h?"avg":h]=t}if(o){var r=o.split(" "),c=r[0].split(":"),s=parseInt(c[0]),l=parseInt(c[1]);if(!isNaN(s)&&s<13&&s>0&&!isNaN(l)&&l<60){"am"===r[1]?12===s&&(s=0):12!==s&&(s+=12);var d=k[h+"t"]||f.dateutc,m=y(y(d).format("YYYY-MM-DD")+" "+s.toString().padStart(2,"0")+":"+l.toString().padStart(2,"0"));e[p][h+"t"]=m.valueOf()}}var v=Object.assign({},f,e);u.updateDeviceData(n._docId(),v,{}),u.editSummaryCell()},C=function(e){"Enter"===e.key&&_()};if(o){var x=o.split(" "),I=x[0].split(":");A=m.a.createElement("span",{key:"dates",className:"date"},m.a.createElement("input",{className:"hour",type:"text",value:I[0],onKeyPress:C,onChange:function(e){return n.setState({st8Date:e.target.value+":"+I[1]+" "+x[1]})}}),m.a.createElement("span",null,":"),m.a.createElement("input",{type:"text",value:I[1],onKeyPress:C,onChange:function(e){return n.setState({st8Date:I[0]+":"+e.target.value+" "+x[1]})}}),m.a.createElement("select",{value:x[1],onChange:function(e){n.setState({st8Date:I[0]+":"+I[1]+" "+e.target.value})}},m.a.createElement("option",{value:"am"},"am"),m.a.createElement("option",{value:"pm"},"pm")))}e=[m.a.createElement("input",{autoFocus:!0,key:"input",type:"text",value:i,onKeyPress:C,onChange:function(e){return n.setState({st8Value:e.target.value})}}),A,m.a.createElement("a",{style:{height:c},key:"close",onClick:_,className:"close"},m.a.createElement("i",{className:"glyphicon glyphicon-ok"}))]}return m.a.createElement("span",{onClick:function(){D&&l&&l(D)},ref:this.refCallback,className:N()("device-summary-table-cell",{editing:E})},e)}}]),t}(d.PureComponent),ro=ae(no);no.displayName="SummaryTableCell";var io=a(100),oo=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={rawCellStatus:{error:!1,lastSeen:0,clarity:0,power:0,vBatt:0,stationType:""}},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this,t=this.props.mac.replace(/:/g,"");io("https://diagnostics.rainwise.net/mk4?mac=".concat(t.replace(/:/g,""),"&ignore_serial=true")).then(function(e){return e.json()}).then(function(t){var a={};a.error=t.error,a.lastSeen=t.minutesSinceLastContact,a.clarity=t.rsrq,a.power=t.rsrp,a.wifi=t.RSSI,a.chargeMode=t.chargeMode,a.opMode=t.operatingMode,a.vBatt=t.batteryVoltage,a.stationType=t.stationType,e.setState({rawCellStatus:a})})}},{key:"render",value:function(){this.props.mac;var e=Object(i.a)({},this.state.rawCellStatus),t=(e.error,e.lastSeen,e.clarity),a=e.power,n=(e.chargeMode,e.opMode),r=(e.vBatt,e.wifi),o=e.stationType,c="KestrelMet6000"===o?"cellular-signal-optimization/":"wifi-signal-optimization/",s="KestrelMet6000"===o?"cellular-battery-mode/":"wifi-battery-mode/";return m.a.createElement("div",{className:"component-cell-status"},m.a.createElement("div",{className:"status-bars"},m.a.createElement(Te,{link:Object(Ve.e)().helpUrlBase+c}),t&&m.a.createElement("div",{className:"status-bar"},m.a.createElement("div",{className:"bar-title"},"Signal Clarity"),m.a.createElement("div",{className:"bar-value"},function(e){var t="No report",a={color:"black",backgroundColor:"gray",border:"hidden",borderRadius:"5px",padding:"5px",display:"block"};"number"===typeof e&&(e>=-10&&e<0?(t="Excellent ("+e+" dB)",a.color="white",a.backgroundColor="green"):e>=-15?(t="Good ("+e+" dB)",a.color="black",a.backgroundColor="yellow"):e>=-20?(t="Fair to Poor ("+e+" dB)",a.color="black",a.backgroundColor="orange"):e>=-30&&(t="Poor signal ("+e+" dB)",a.color="white",a.backgroundColor="red"));return m.a.createElement("span",{style:a},t)}(t))),a&&m.a.createElement("div",{className:"status-bar"},m.a.createElement("div",{className:"bar-title"},"Signal Strength"),m.a.createElement("div",{className:"bar-value"},function(e){var t="No report",a={color:"black",backgroundColor:"gray",border:"hidden",borderRadius:"5px",padding:"5px",display:"block"};"number"===typeof e&&(e>=-80&&e<0?(t="Excellent ("+e+" dBm)",a.color="white",a.backgroundColor="green"):e>=-90?(t="Good ("+e+" dBm)",a.color="black",a.backgroundColor="yellow"):e>=-100?(t="Fair to Poor ("+e+" dBm)",a.color="black",a.backgroundColor="orange"):e>=-200&&(t="Poor signal ("+e+" dBm)",a.color="white",a.backgroundColor="red"));return m.a.createElement("span",{style:a},t)}(a))),r&&m.a.createElement("div",{className:"status-bar"},m.a.createElement("div",{className:"bar-title"},"WiFi Strength"),m.a.createElement("div",{className:"bar-value"},function(e){var t="No report",a={color:"black",backgroundColor:"gray",border:"hidden",borderRadius:"5px",padding:"5px",display:"block"},n=-1*Math.abs(e);"number"===typeof n&&(n>=-67&&n<0?(t="Excellent ("+n+" dBm)",a.color="white",a.backgroundColor="green"):n>=-70?(t="Good ("+n+" dBm)",a.color="black",a.backgroundColor="yellow"):n>=-80?(t="Fair to Poor ("+n+" dBm)",a.color="black",a.backgroundColor="orange"):n>=-90&&(t="Poor signal ("+n+" dBm)",a.color="white",a.backgroundColor="red"));return m.a.createElement("span",{style:a},t)}(r))),m.a.createElement("div",{className:"status-bar"},m.a.createElement("div",{className:"bar-title"},"Battery Level"),m.a.createElement("div",{className:"bar-value"},function(e){var t="No report",a={color:"black",backgroundColor:"gray",border:"hidden",borderRadius:"5px",padding:"5px",display:"block"};"number"===typeof e&&(0==e?(t="Battery Charged",a.backgroundColor="green",a.color="white"):1==e?(t="Low Battery",a.backgroundColor="yellow",a.color="black"):e>=2&&(t="Critically Low Battery",a.backgroundColor="red",a.color="white"));return m.a.createElement("span",{style:a},t)}(n))),m.a.createElement(Te,{link:Object(Ve.e)().helpUrlBase+s})))}}]),t}(d.PureComponent);oo.displayName="CellStatus";var co=a(100);function so(){return lo.apply(this,arguments)}function lo(){return(lo=Object(Jt.a)(Xt.a.mark(function e(){var t,a,n,r=arguments;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:{},"https://diagnostics.rainwise.net/mk4",e.next=4,co("https://diagnostics.rainwise.net/mk4",{method:"POST",mode:"cors",cache:"no-cache",credentials:"same-origin",headers:{"Content-Type":"application/json"},redirect:"follow",referrerPolicy:"no-referrer",body:JSON.stringify(t)});case 4:return a=e.sent,n=a.json(),"200"!=a.status&&"204"!=a.status&&console.log("ERROR: postToRainWise resulted in response status "+a.status),e.abrupt("return",n);case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}var uo=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={open:!1,showLocation:!1,editLocation:!1,showShare:!1,intro:!1},a.tabs={aw:{label:"Ambient Weather"},km_aw:{label:"Ambient Weather"},pws:{label:"PWS Weather"},wu:{label:"Weather Underground"},aa:{label:"Amazon Alexa"},ga:{label:"Google Assistant"},ift:{label:"If This Then That"}},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.device,a=e.currentDevice,n=t.recentlyCreated;n&&n._id===a._id&&this.setState({open:"aw",intro:!0})}},{key:"getInput",value:function(e,t){var a=this.props.deviceActions,n=e.info?e.info[t]:"";return m.a.createElement("input",{type:"text",value:n,className:"editable-title type-info-"+t,onChange:function(n){var r=e.info||{};r[t]=n.target.value,a.patch(e._id,{info:r})}})}},{key:"removeDevice",value:function(){if(window.confirm("Are you sure you want to delete this device?")){var e=this.props.userActions,t=this.props.user,a=this.props.currentDevice,n=this.props.deviceActions,r=n.removeDevice,i=n.fetchDevices,o=n.setDeviceI,c=Object(w.path)(["info","payments","subscriptions"],t),s=Object(w.path)(["info","_id"],t),l=Object(w.path)(["macAddress"],a);if(c)(function(){var a=Object(Jt.a)(Xt.a.mark(function a(n){var r,i,o,c;return Xt.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:r=!0,i=0;case 2:if(!(i<n.length)){a.next=18;break}if(Object(w.path)(["macAddress"],n[i])!==l){a.next=15;break}if(o=Object(w.path)(["productName"],n[i]),la(s,l,o,!1)){a.next=11;break}r=!1,a.next=15;break;case 11:return(c=Object.assign({},t.info)).payments.subscriptions[i].cancelAtPeriodEnd=!1,a.next=15,e.refreshUser(c);case 15:i++,a.next=2;break;case 18:return a.abrupt("return",r);case 19:case"end":return a.stop()}},a)}));return function(e){return a.apply(this,arguments)}})()(c);r(a).then(function(){return i()}),o(0)}}},{key:"badge",value:function(e){return m.a.createElement("div",{className:N()("badge",{on:e})})}},{key:"_speechDefault",value:function(e){var t=this.props,a=t.userActions,n=t.currentDevice,r=t.user,i="aa"===e?"alexa":"google",o=Object(w.path)(["info",i,"lastDevice"],r);return o&&n._id===o?m.a.createElement("p",null,"This is the default device for this assistant."):m.a.createElement("p",null,"This is not your default device for this assistant. ",m.a.createElement("a",{onClick:function(){var e=r.info[i]||{};e.lastDevice=n._id;var t={};t[i]=e,a.patch(r.info._id,t)},className:"btn btn-primary"},"Make Default"))}},{key:"_tabContent",value:function(){var e=this,t=this.state,a=t.showShare,n=(t.editLocation,t.showLocation,t.open),r=t.intro,i=this.props,o=i.userActions,c=i.user,s=i.currentDevice,l=i.deviceActions;return"pws"===n||"wu"===n?m.a.createElement(Qi,{theDevice:s,service:n,deviceActions:l}):"aw"===n?r?m.a.createElement("div",{className:"intro"},m.a.createElement("h1",null,"Your device is all set up!"),m.a.createElement("p",null,"See all those icons above? Those are the other services you can connect your devices to.  Once a service has been connected you'll see a green check underneath its icon."),Object(Ve.g)("aa")?m.a.createElement("p",null,"Share your dashboard with friends, contribute your data to worldwide networks, ask Alexa to update you on the temperature outside YOUR house, and use IFTTT to set up the smart home that you\u2019ve always dreamed of."):m.a.createElement("p",null,"By logging into our sister site AmbientWeather.net (with the same login and password) you have additional choices of consumer systems such as Amazon Alexa and IFTTT."),m.a.createElement("div",{className:"btns"},m.a.createElement("a",{onClick:function(){return e.setState({intro:!1})},className:"close-intro"},"Close"),m.a.createElement(E.a,{to:"/dashboard",className:"btn btn-primary"},"View Dashboard"))):a?m.a.createElement("div",{className:"share-tab"},m.a.createElement("a",{className:"close",onClick:function(){return e.setState({showShare:!1})}}),m.a.createElement("h2",{className:"share"},"Sharing ",m.a.createElement("i",{className:"btn btn-green glyphicon glyphicon-share-alt"})),m.a.createElement(qi,{bodyOnly:!0,currentDevice:s})):m.a.createElement("div",null,m.a.createElement(Co,{currentDevice:s,onChange:function(e,t){var a={};a[t]=e[t],l.patch(s._id,a).then(function(e){var t=e.result,a=!1,n=(Object(O.getUserSetting)("recent")(c)||[]).map(function(e){return e.macAddress===t.macAddress?(a=!0,Object(O.cleanDeviceToStore)(t)):e});a&&o.updateSetting("recent",n)})}}),m.a.createElement("div",{className:"delete-device-wrap"},m.a.createElement("a",{className:"delete-device",onClick:function(){return e.removeDevice()}},"Delete this device"))):"aa"===n?this._tabActive("aa")?m.a.createElement("div",null,m.a.createElement("p",null,"Your account is connected to Amazon Alexa! ",m.a.createElement("a",{href:"https://help.ambientweather.net/help/amazon-alexa/"},"Here is a list of ways you can use the skill >")),this._speechDefault("aa")):m.a.createElement("div",null,m.a.createElement("p",null,"Use our ",m.a.createElement("a",{href:"https://www.amazon.com/dp/B074PGCM1D/"},"Amazon Alexa Skill")," to get real-time, and past weather information from your devices.  Enable the skill to get started, then say \u2018Alexa, ask Ambient Weather for a weather report.\u2019"),m.a.createElement("p",null,m.a.createElement("a",{href:"https://help.ambientweather.net/help/amazon-alexa/"},"Read more about the skill here >"))):"ga"===n?this._tabActive("ga")?m.a.createElement("div",null,m.a.createElement("p",null,"Your account is connected to Google Assistant! ",m.a.createElement("a",{href:"https://help.ambientweather.net/help/google-home/"},"Here is a list of ways you can use the skill >")),this._speechDefault("ga")):m.a.createElement("div",null,m.a.createElement("p",null,"Use our ",m.a.createElement("a",{href:"https://assistant.google.com/services/a/id/668e6f3369f27209/"},"Google Assistant Skill")," to get real-time, and past weather information from your devices.  Enable the skill to get started, then say \u2018Hey Google, ask Ambient Weather for a weather report.\u2019"),m.a.createElement("p",null,m.a.createElement("a",{href:"https://help.ambientweather.net/help/google-home/"},"Read more about the skill here >"))):"ift"===n?m.a.createElement("div",null,m.a.createElement("p",null,m.a.createElement("a",{href:"http:///ifttt.com"},"IFTTT")," is a simple way for two devices that are connected to the Internet to communiate with each other.  It has become a standard for Home Automation and Smart Devices like Ambient Weather."),m.a.createElement("p",null,m.a.createElement("a",{href:"https://help.ambientweather.net/help/ifttt/"},"Read more about all the ways you can use Ambient Weather and IFTTT here >"))):"km_aw"===n?m.a.createElement("div",null,m.a.createElement("p",null,"Kestrel Meters and Ambient Weather are partner companies under Nielsen-Kellerman Holdings.  As such, the account login for KestrelMet.net will work equally on ",m.a.createElement("a",{target:"_blank",href:"https://ambientweather.net"},"AmbientWeather.net"),", and your device data is visible on both online platforms.")):void 0}},{key:"_tabActive",value:function(e){var t=this.props,a=t.user,n=t.alerts,r=t.currentDevice;return"ift"===e?alert.alerts&&Object(w.pipe)(Object(w.filter)(function(e){return e.ifttt&&e.deviceId===r._id}),Object(w.pipe)(w.isEmpty,w.not))(n):"ga"===e?Object(w.path)(["info","oauth","google-assistant"],a):"aa"===e?Object(w.path)(["info","oauth","alexa"],a):Object(w.contains)(e,["pws","wu"])?Object(w.path)(["servers",e,"verified"],r):"aw"===e?r.public:"km_aw"===e&&r.public}},{key:"_subscription",value:function(){var e=this.props,t=e.currentDevice,a=e.user;if(Ua(t)){var n=Object(w.path)(["macAddress"],t),r=Object(w.path)(["info","payments","subscriptions"],a),i=n,o="kestrelmet-one-year-subscription",c=r.find(function(e){return e.macAddress===i&&e.productName===o}),s=m.a.createElement("span",{className:"cellLink"},"Expired.  ",m.a.createElement(E.a,{to:{pathname:"/account",hash:"#subscription-list"}},"Add new cell plan"));if(c&&c.currentPeriodEnd){var l=c.currentPeriodEnd,u=moment(1e3*l).format("MMM, D, YYYY");Date.now()>1e3*l||(s=m.a.createElement("span",{className:"cellLink"},"Expires ",m.a.createElement(E.a,{to:{pathname:"/account",hash:"#subscription-list"}},u)))}return m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Cellular Plan: "),s)}}},{key:"_tabLine",value:function(){var e=this,t=this.state,a=t.showShare,n=t.open;t.intro;return Object.values(Object(w.mapObjIndexed)(function(t,r){return m.a.createElement("a",{onClick:function(){if(n===r)return"aw"===r&&a?e.setState({showShare:!1}):e.setState({open:!1,intro:!1,showShare:!1});e.setState({open:r,intro:!1,showShare:!1})},key:r,className:N()("tab",r,{open:n===r,active:e._tabActive(r)})},m.a.createElement("span",null,"aw"!=r?t.label:Object(Ve.b)()))},this.tabs))}},{key:"render",value:function(){var e,t=this,a=this.props,n=a.user,r=a.currentDevice,i=a.deviceActions,o=a.userActions,c=this.state,s=(c.showShare,c.open),l=r;l.lastData&&(e=moment(new Date(l.lastData.dateutc)));var u,d=Object(w.path)(["info","coords","location"],r);return Object.keys(this.tabs).forEach(function(e){Object(Ve.g)(e)||delete t.tabs[e]}),m.a.createElement("div",{key:l._id,className:"device-line v2"},m.a.createElement("div",{className:"block"},m.a.createElement("header",null,m.a.createElement("div",{className:"info-wrap"},this.getInput(l,"name"),m.a.createElement("div",{className:"sub-head clearfix"},m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"MAC Address:"),m.a.createElement("span",{className:"mac"},l.macAddress)),m.a.createElement("div",{className:"item tz"},m.a.createElement("label",null,"Timezone: "),m.a.createElement(Re,{value:l.tz.name,onChange:function(e){e.name!==l.tz.name&&(i.patch(l._id,{tz:Object(w.pick)(["name"],e)}),so(Object.assign({},{macAddress:l.macAddress},{tz:{name:e.name}})))}})),m.a.createElement("div",{className:"item"},m.a.createElement("label",null,"Location: "),m.a.createElement("span",null,d||m.a.createElement("a",{onClick:function(){return t.setState({open:"aw",showLocation:!0,editLocation:!0})}},"(not set)"))),this._subscription()),(u=r,"NK_KestrelMet6000"===Object(w.path)(["lastData","stationtype"],u)||"NK_KestrelMet6000W"===Object(w.path)(["lastData","stationtype"],u)?m.a.createElement(oo,{mac:l.macAddress}):null),l.lastData?m.a.createElement(Ho,{userActions:o,user:n,currentDevice:l,deviceActions:i}):null),Object(Ve.e)().sharePublicly&&m.a.createElement("div",{className:"share-wrap"},m.a.createElement("a",{onClick:function(){return t.setState({open:"aw",showShare:!0})},className:"btn btn-green"},m.a.createElement("i",{className:"glyphicon glyphicon-share-alt"}))),m.a.createElement("div",{className:"last-updated"},e?"updated "+e.from(Date.now()):"not reporting..."))),m.a.createElement("div",{className:"connections block"},m.a.createElement("div",{className:"tabs"},this._tabLine()),m.a.createElement("div",{className:N()("content",{open:s})},this._tabContent())))}}]),t}(d.PureComponent);uo.displayName="DeviceLine";var mo=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={isCellular:!1},n._reset=(a=n)._reset.bind(a),n.debug=!1,n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_checkNoDevices",value:function(){var e=this.props.device.devices;!this.manuallyClosed&&(e&&e.length<1||Object(O.getUrlQueryParam)(this.props.location,"macAddress"))&&this.setState({open:!0})}},{key:"componentDidMount",value:function(){this._reset(),this._checkNoDevices()}},{key:"componentDidUpdate",value:function(e){this._checkNoDevices()}},{key:"macAddressChange",value:function(e){var t=this.state.currentDevice;e.isValid?(t.macAddress=e.macAddress,this.props.device.checkMacAddressPending||this.props.deviceActions.checkMacAddress(e.macAddress)):t.macAddress="",this.setState({currentDevice:Object.assign({},t)})}},{key:"_reset",value:function(){this.setState({open:!1,showPayment:!1,showLocation:!1,location:!1,isCellular:!1,currentDevice:{info:{name:""},tz:{},macAddress:"",summaryMigrated:Date.now()}}),this.macInput&&this.macInput.clear()}},{key:"_notOk",value:function(){var e=this.state.currentDevice,t=this.props.device,a=t.checkMacAddressPending,n=t.macAddressExists;return""===e.macAddress||a||n}},{key:"_checkIfCellular",value:function(){var e=Object(Jt.a)(Xt.a.mark(function e(){var t,a,n;return Xt.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.state.currentDevice.macAddress,this.debug&&console.log("_checkIfCellular // mac = "+t),t.startsWith("30:")){e.next=6;break}return this.debug&&console.log("_checkIfCellular // mac != ^30:"),this.setState({isCellular:!1}),e.abrupt("return",!1);case 6:if(!Object(O.isBillingDev)()){e.next=9;break}return this.setState({isCellular:!0}),e.abrupt("return",!0);case 9:return e.next=11,fetch("https://diagnostics.rainwise.net/mk4?mac=".concat(t.replace(/:/g,""),"&ignore_serial=true"));case 11:return a=e.sent,e.next=14,a.json();case 14:if(n=e.sent,this.debug&&console.log("_checkIfCellular // rwn_json = "+JSON.stringify(n,0,2)),"KestrelMet6000"!==n.stationType){e.next=20;break}return this.debug&&console.log("_checkIfCellular // Asserting stationType is KestrelMet6000"),this.setState({isCellular:!0}),e.abrupt("return",!0);case 20:return this.debug&&console.log("_checkIfCellular // It wasn't a KestrelMet6000"),this.setState({isCellular:!1}),e.abrupt("return",!1);case 23:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"save",value:function(){var e=this,t=this.props,a=t.deviceActions,n=t.user,r=this.state.currentDevice;this._notOk()||(""===r.info.name&&(r.info.name="My Weather Station"),null===r.public&&delete r.public,a.saveCurrent(r).then(function(){var t=Object(Jt.a)(Xt.a.mark(function t(r){var i;return Xt.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e._checkIfCellular();case 2:if(t.sent){t.next=8;break}e.debug&&console.log("save // does not needsSubscription"),e._reset(),t.next=16;break;case 8:if(e.debug&&console.log("save // yes needsSubscription"),Ba(n,r.macAddress)){t.next=15;break}return e.debug&&console.log("save // !deviceHasSubscription"),t.next=13,da(n.info._id,r.macAddress,"kestrelmet-one-year-subscription");case 13:i=t.sent,e.debug&&console.log("save // billingSubscribe status = "+i.status);case 15:e.setState({showPayment:!0,showLocation:!1,currentDevice:r,isCellular:!0});case 16:return t.abrupt("return",a.fetchDevices());case 17:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()))}},{key:"_macSubscriptionEnds",value:function(e,t){var a=Object(w.path)(["info","payments","subscriptions"],e);if(!a)return null;var n=a.find(function(e){return e.macAddress===this},t);return n&&moment(1e3*n.currentPeriodEnd).format("MMM, D, YYYY")}},{key:"render",value:function(){var e=this,t=this.state,a=t.showLocation,n=t.open,r=t.currentDevice,i=t.showPayment,o=t.isCellular,c=this.props,s=c.device,l=c.user,u=s.checkMacAddressPending,d=s.macAddressExists;if(!r)return m.a.createElement("div",null);var p=r.macAddress,h=function(t){e.setState({open:!n}),t.preventDefault()},f="",b="";""!==r.macAddress?u?f=m.a.createElement("span",{className:"help-block"},"One sec.."):d?(b="has-error",f=m.a.createElement("div",{className:"error"},m.a.createElement("div",{className:"help-block"},"That MAC address already exists, please check the number for accuracy."),m.a.createElement("p",null,"You may have a duplicate account. ",m.a.createElement("a",{onClick:this.props.userActions.logoutUser.bind(this)},"Log out to switch accounts.")),m.a.createElement("p",null,"Still need help? Contact ",m.a.createElement("a",{href:"mailto:support@ambientweather.com"},"support@ambientweather.com"),". Please include your MAC address."))):o&&Object(O.isCordova)()?(b="has-error",f=m.a.createElement("span",{className:"help-block"},"This model can only be registered on the website.  Please visit www.AmbientWeather.net to register.")):(b="has-success",f=m.a.createElement("span",{className:"help-block"},"Looks good!")):f="";var v=m.a.createElement("div",{className:"step-1"},m.a.createElement(Cr,null),m.a.createElement("h2",null,"Connect your device"),m.a.createElement("p",null,"Enter your devices's MAC address.","km"!=Object(Ve.e)().token&&m.a.createElement(m.a.Fragment,null,"\xa0",m.a.createElement("a",{href:"https://ambientweather.com/faqs/question/view/id/1450/",target:"_blank"},"How to find my MAC address"))),m.a.createElement("div",{className:N()("form-group mac",b)},m.a.createElement(R,{ref:function(t){return e.macInput=t},onChange:this.macAddressChange.bind(this),className:"form-control"})),m.a.createElement("div",{className:N()("mac-message",b)},f),m.a.createElement("button",{className:"btn-long btn btn-primary",onClick:function(){var t={showLocation:!0};Object(Ve.e)().sharePublicly&&(t.currentDevice=Object(O.toggleDevicePublic)(r)),e.setState(t)},disabled:this._notOk()||"has-error"===b},"Next"));if(a&&(v=m.a.createElement(Co,{currentDevice:r,onChange:function(t){return e.setState({currentDevice:t})}},m.a.createElement("div",{className:"btns-wrap"},m.a.createElement("button",{className:"btn-long btn btn-primary",onClick:this.save.bind(this),disabled:this._notOk()},"Create")))),i){var g=Object(w.path)(["info","_id"],l),y=Object(w.path)(["_id"],r),E=m.a.createElement("p",null,"Congratulations!  Your new cellular weather station includes one free year of cellular service, starting today."),k=this._macSubscriptionEnds(l,p),j=m.a.createElement("p",null,"The cellular plan subscription for this station ends on: ",k);v=m.a.createElement("div",{className:"step-2"},m.a.createElement("h2",null,"Cellular Access Plan"),k?j:E,Ha(l)?m.a.createElement(m.a.Fragment,null,m.a.createElement("p",null,"We'll use your card on file to renew this subscription automatically at the expiration date."),m.a.createElement("p",null,"If you ever need to change your auto-renew settings you can do that on your Account page."),m.a.createElement("button",{className:"btn-long btn btn-primary",onClick:this._reset},"Complete")):m.a.createElement(m.a.Fragment,null,m.a.createElement("p",null,"In order to prevent loss of connection after the first year, please file a credit card with us to auto-renew your service.  Your card will NOT be charged now and you can cancel the auto-renewal any time under your Account tab."),m.a.createElement("br",null),m.a.createElement(xa,{userId:g,deviceId:y,mode:"register",onSuccess:this._reset}),m.a.createElement("a",{className:"skip",onClick:this._reset},"Skip this step")))}return m.a.createElement("div",{className:N()("device-create-device block",{open:n,location:a,payment:i})},m.a.createElement("a",{onClick:h,className:"connect"},"Connect a New Device"),m.a.createElement("a",{onClick:function(t){e.manuallyClosed=!0,h(t)},className:"close"}),m.a.createElement("div",{className:"body"},v))}}]),t}(d.PureComponent),po=Object(P.h)(mo);mo.displayName="CreateDevice";var ho=a(99),fo=a.n(ho),bo=a(34),vo=function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 53 53",xmlns:"http://www.w3.org/2000/svg"},t),m.a.createElement("g",{transform:"translate(1 1)",fill:"none",fillRule:"evenodd"},m.a.createElement("ellipse",{stroke:"#FFF",strokeWidth:"5",fill:"#FFC924",cx:"25.511",cy:"25.492",rx:"14.236",ry:"14.415"}),m.a.createElement("path",{d:"M44 25.5h6.5M.5 25.5H7M25.274.514V7M25.387 44.06v6.424M12.5 38.5l-5 5M38.635 12.5l4.925-4.838M7.621 7.662L12.5 12.5M38.592 38.5l4.933 5",stroke:"#FFC924",strokeWidth:"3",strokeLinecap:"round"})))},go={v2:[function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg"},t),m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17",fillRule:"evenodd"}))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(180 17 17)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M19.73 34c8.007 0 14.5-6.492 14.5-14.5S28.007 5 20 5c-.915 0-1.132-.162-2 0-13 4.5-13 25 .276 28.928.478.048.962.072 1.453.072z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(180 17 17)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M21.26 34.187C29.222 33.209 35 26 34.5 18c-.5-8-7.623-13.175-15-13-13 3-13 27 1.76 29.187z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(180 17 17)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M21.81 33.908c7.944-1.116 13.478-8.463 12.361-16.409C33.054 9.553 27.056 4.5 19.056 5c-5.432 6.163-5.232 22.16 0 28.908 1.36.206 1.323.201 2.754 0z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(180 17 17)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M22.264 5c-.951-.185-2.27-.161-3.132 0-.064 9.17-.064 26.593 0 29.054 6.978.199 13.492-4.746 14.868-11.826C35.531 14.35 30.138 6.53 22.264 5z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(180 17 17)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M24.215 5c-1.214-.418-1.944 0-4.28 0 4.171 6.955 4.171 22.118 0 29 6.064.04 11.444-3.723 13.528-9.775C36.076 16.638 31.8 7.612 24.215 5z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(180 17 17)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M21.882 33.797c8.384-5.801 8.384-21.85 0-28.59C27.42 5.207 32.47 9.912 34 15.62c2.077 7.75-3.047 16.953-12.118 18.176z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(180 17 17)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M21.994 33.808c6.369-1.07 12.02-6.708 12.225-13.544.232-7.745-4.8-13.916-12.225-15.022 13.274 4.928 13.274 24.151 0 28.566z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"translate(5 5)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"})))))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"translate(5 5)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M16.261 5.342C9.957 6.744 4.608 12.67 4.761 19.507c.174 7.747 5.522 13.646 12.995 14.362-13.514-4.227-14.52-23.423-1.495-28.527z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"translate(5 5)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M17.118 5.203c-8.384 5.801-8.384 21.85 0 28.59C11.58 33.793 6.53 29.088 5 23.38 2.923 15.63 8.047 6.426 17.118 5.203z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(4 -54.59 88.59)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M14.785 34c1.214.418 1.944 0 4.28 0-4.171-6.955-4.171-22.118 0-29-6.064-.04-11.444 3.723-13.528 9.775C2.924 22.362 7.2 31.388 14.785 34z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(-3 112.471 -78.471)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M16.484 33.95c.947.201 2.266.2 3.13.054.225-9.167.529-26.587.508-29.05-6.974-.32-13.573 4.51-15.072 11.566-1.668 7.848 3.587 15.762 11.434 17.43z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(7 -25.267 57.875)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M17.19 5.262C9.246 6.38 3.712 13.725 4.829 21.672c1.117 7.945 7.115 12.998 15.115 12.498 5.432-6.163 5.232-22.16 0-28.908-1.36-.206-1.323-.2-2.754 0z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"rotate(-5 74.26 -40.26)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M18.253 4.761c-7.99.7-14.017 7.7-13.796 15.715.22 8.012 7.159 13.432 14.537 13.515 13.097-2.544 13.934-26.53-.74-29.23z",fill:"#FFF"})))},function(e){e.styles;var t=Object(bo.a)(e,["styles"]);return m.a.createElement("svg",Object.assign({viewBox:"0 0 39 39",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},t),m.a.createElement("defs",null,m.a.createElement("path",{id:"a",d:"M0 .042h7.96v9.917H0z"}),m.a.createElement("path",{id:"c",d:"M0 .042h7.96v9.917H0z"})),m.a.createElement("g",{fill:"none",fillRule:"evenodd"},m.a.createElement("circle",{stroke:"#FFF",strokeWidth:"5",fill:"#FFF",transform:"matrix(1 0 0 -1 0 39)",cx:"19.5",cy:"19.5",r:"17"}),m.a.createElement("g",{transform:"translate(5 5)"},m.a.createElement("circle",{fill:"#DBDDDD",transform:"matrix(1 0 0 -1 0 29)",cx:"14.5",cy:"14.5",r:"14.5"}),m.a.createElement("g",{transform:"translate(1 6)"},m.a.createElement("mask",{id:"b",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#a"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#b)"})),m.a.createElement("path",{d:"M13.511 20.895c-.338-.376-.68-.75-.968-1.155a4.59 4.59 0 01-.244-.388l-.007-.016a2.713 2.713 0 01-.156-.463v-.01c-.01-.101-.833-1.66-1.136-1.863-1.5-1-1.5-.483-1.5-1 0-1 1.5-1.5.55-3.568s-.918.323-1.074.739l-.024.059a.87.87 0 01-.023.041c-.026.043-.113.15-.144.19-.043.04-.088.08-.134.118-.041.034-.085.067-.13.1-.011.009-.02.016-.03.022-.394.245-.833.436-1.253.647-.492.248-.986.536-1.361.905-.518.511-.743 1.095-.846 1.751-.092.588.02 1.175.323 1.709.37.652 1.171.837 1.93.972a3.596 3.596 0 01.239.053l.073.039.04.032.061.053a.6.6 0 01.019.023c.032.042.06.086.088.13l.015.023c.172.394.22.823.31 1.234.107.498.296 1.007.643 1.425.263.317.543.539.908.77.302.192.712.288 1.076.364.114.024.229.046.343.072.036.28 1.901.597 2.401-.403.5-1 .771-1.759.011-2.605zM7.127 3.04h-.01l-.012-.005a.787.787 0 00-.464 0 .9.9 0 00-.522.45c-.118.226-.15.502-.088.755l.088.234a.938.938 0 00.313.351c.096.05.205.116.315.134.134.021.25.041.38.041C7.603 5 8 4.554 8 4.02s-.397-.979-.873-.98M12 6c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1M5 21c-.545 0-1 .455-1 1 0 .545.455 1 1 1 .545 0 1-.455 1-1 0-.545-.455-1-1-1",fill:"#D6D6D6"}),m.a.createElement("g",null,m.a.createElement("g",{transform:"rotate(180 14 11)"},m.a.createElement("mask",{id:"d",fill:"#fff"},m.a.createElement("use",{xlinkHref:"#c"})),m.a.createElement("path",{d:"M7.922 3.941c-.104-.701-.635-1.292-1.233-1.676.024-.058.045-.117.06-.177.11-.434.022-.906-.175-1.303-.23-.467-.738-.693-1.253-.738-.465-.04-1.008.176-1.378.429-.479.328-.85.719-1.207 1.161a3.997 3.997 0 00-.64 1.138c-.028.072-.054.144-.08.217l-.02.053c-.505.224-.795.764-.642 1.292.032.11.083.213.148.306A4.612 4.612 0 00.298 6.765C.12 7.447.075 8.161.004 8.86c-.05.48.39.941.854 1.062.584.152 1.299-.182 1.431-.77a7.25 7.25 0 01.187-.712l.015-.04c.013-.028.03-.065.043-.089l.024-.037c.02-.024.052-.063.08-.093l.009-.005a.376.376 0 01.037-.018l.1-.022c.034-.002.07-.002.104-.003.36-.008.717.044 1.078.026 1.424-.07 2.798-1.048 3.536-2.163.42-.634.527-1.328.42-2.056",fill:"#D6D6D6",mask:"url(#d)"})),m.a.createElement("path",{d:"M15.489 7.105c.338.376.68.75.968 1.155a4.59 4.59 0 01.244.388l.007.016a2.713 2.713 0 01.156.463v.01c.01.101.833 1.66 1.136 1.863 1.5 1 1.5.483 1.5 1 0 1-1.5 1.5-.55 3.568s.918-.323 1.074-.739l.024-.059a.87.87 0 01.023-.041c.026-.043.113-.15.144-.19.043-.04.088-.08.134-.118.041-.034.085-.067.13-.1.011-.009.02-.016.03-.022.394-.245.833-.436 1.253-.647.492-.248.986-.536 1.361-.905.518-.511.743-1.095.846-1.751a2.608 2.608 0 00-.323-1.709c-.37-.652-1.171-.837-1.93-.972a3.596 3.596 0 01-.239-.053l-.073-.039-.04-.032a1.162 1.162 0 01-.061-.053.6.6 0 01-.019-.023c-.032-.042-.06-.086-.088-.13a2.675 2.675 0 00-.015-.023c-.172-.394-.22-.823-.31-1.234-.107-.498-.296-1.007-.643-1.425-.263-.317-.543-.539-.908-.77-.302-.192-.712-.288-1.076-.364-.114-.024-.229-.046-.343-.072C17.865 3.817 16 3.5 15.5 4.5c-.5 1-.771 1.759-.011 2.605zM21.873 24.96h.01l.012.005c.155.047.31.047.464 0a.9.9 0 00.522-.45c.118-.226.15-.502.088-.755l-.088-.234a.938.938 0 00-.313-.351c-.096-.05-.205-.116-.315-.134-.134-.021-.25-.041-.38-.041-.476 0-.873.446-.873.98s.397.979.873.98M17 22c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1M24 7c.545 0 1-.455 1-1 0-.545-.455-1-1-1-.545 0-1 .455-1 1 0 .545.455 1 1 1",fill:"#D6D6D6"}))),m.a.createElement("path",{d:"M19.27 5c-8.007 0-14.5 6.492-14.5 14.5S10.993 34 19 34c.915 0 1.132.162 2 0 13-4.5 13-25-.276-28.928A14.673 14.673 0 0019.271 5z",fill:"#FFF"})))}]},yo=function(e){if(!e)return 0;var t=e.illuminated;if(e.phase>=.5){var a=8+Math.round(8-8*t);return a>=16?0:a}return Math.round(8*t)},Eo=Object(w.curry)(function(e,t){return Object(w.pipe)(Object(w.find)(Object(w.propEq)("phen",t)),Object(w.prop)("time"))(e)}),Oo=(Object(w.curry)(function(e,t){return Eo(e,t).valueOf()}),function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={lastMac:!1,height:0,show:"moon"},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_height",value:function(){return this.state.height-15}},{key:"_now",value:function(){return this.props.now?moment(this.props.now):moment()}},{key:"_getDay",value:function(e){var t=this.props,a=t.currentDevice;t.now;return e?moment.tz(e+" 00:00",a.tz.name):moment.tz(this._now().format("YYYY-MM-DD 00:00"),a.tz.name)}},{key:"_fetchData",value:function(){var e=this.props.currentDevice,t=this.state,a=t.height,n=t.lastMac;if(e.macAddress!==n){var r=this._getDay(),i=r.clone().subtract(1,"day"),o=new Date(r.format()),c=fo.a.phase_hunt(o),s=fo.a.phase_range(o,new Date(r.clone().add(60,"days").format()),fo.a.PHASE_FULL),l=r.clone().startOf("day"),u=r.clone().endOf("day"),d=Object(O.getAstroValue)(moment,e),m=fo.a.phase(o),p=Object(w.curry)(function(e,t){return t.isValid()?t:e});this.setState({startOfDay:l,endOfDay:u,phase:m,lastMac:e.macAddress,nextNewMoon:moment(c.nextnew_date),nextFullMoon:moment(s[0]),sun:{rise:d(ve.a.solar.rise,r),set:d(ve.a.solar.set,r),transit:d(ve.a.solar.transit,r),dusk:d(ve.a.solar.dusk,r),dawn:d(ve.a.solar.dawn,r)},moon:{rise:p(this._getDay().startOf("day"),d(ve.a.lunar.rise,r)),set:p(this._getDay().endOf("day"),d(ve.a.lunar.set,r))},yesterdayMoon:{rise:d(ve.a.lunar.rise,i),set:d(ve.a.lunar.set,i)},yesterdaySun:{rise:d(ve.a.solar.rise,i),set:d(ve.a.solar.set,i)}})}this.ref&&!a&&this._setHeight()}},{key:"_setHeight",value:function(){this.ref&&this.setState({height:this.ref.offsetHeight-(this._expanded()?100:20),width:this.ref.offsetWidth})}},{key:"componentDidMount",value:function(){this._fetchData(),window.addEventListener("resize",this._setHeight.bind(this))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this._setHeight.bind(this))}},{key:"componentDidUpdate",value:function(){this._fetchData(),this._setHeight()}},{key:"_moonI",value:function(){var e=this.state.phase;return yo(e)}},{key:"_waxingWaning",value:function(){return this.state.phase.phase>.5?"Waning":"Waxing"}},{key:"_moonLength",value:function(e){var t=this.state,a=t.moon,n=t.yesterdayMoon,r=e?this._getDay().subtract(1,"day"):this._getDay(),i=e?n:a,o=r.clone().startOf("day"),c=r.clone().endOf("day");return i.set.valueOf()<i.rise.valueOf()?moment.duration(i.set.diff(o)).add(moment.duration(c.diff(i.rise))):moment.duration(i.set.diff(i.rise))}},{key:"_chart",value:function(){var e=this,t=this.props,a=t.currentDevice,n=t.user,r=this.state,i=r.sun,o=r.moon,c=(r.height,moment.tz(this._now().valueOf(),a.tz.name)),s=this.state.startOfDay.valueOf(),l=this.state.endOfDay.valueOf(),u=l-s,d=s+648e5,p=-(i.set.valueOf()-d)/u*360,h=[{name:"Sunrise",value:i.set.valueOf()-i.rise.valueOf(),color:"#fcd754"},{name:"Last Light",value:i.dusk.valueOf()-i.set.valueOf(),color:"#f6e5b2"},{name:"Night",value:l-i.dusk.valueOf()+i.dawn.valueOf()-s,color:"#f5f5f5"},{name:"First Light",value:i.rise.valueOf()-i.dawn.valueOf(),color:"#f6e5b2"}],f=0,b=[],v=o.set.valueOf(),g=o.rise.valueOf();if(v<g){f=-(g-d)/u*360;var y=g-v;b.push({name:"Moon Down",value:y,color:"#f5f5f5"}),b.push({name:"Moon Up",value:u-y,color:"#09a8e6"}),c.valueOf()<v||c.valueOf()}else{var E=v-g;f=-(v-d)/u*360,b.push({name:"Moon Up",value:E,color:"#09a8e6"}),b.push({name:"Moon Down",value:u-E,color:"#f5f5f5"}),c.valueOf()<v&&c.valueOf()}var w=8,k=84,j=57,N=!1;this._expanded()&&(w=5,k=76,j=52,N=!0);var D=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"sun";return function(a){var n=a.cx,r=a.cy,i=(a.midAngle,a.innerRadius),o=a.outerRadius;a.value;if(!(a.index>0)){var l=Math.PI/180,d=o-(o-i)/2,p=270-360*((c.valueOf()-s)/u),h="moon"===t?17:24;N&&(h="moon"===t?35:47);var f=n+d*Math.cos(-p*l)-h/2,b=r+d*Math.sin(-p*l)-h/2;return"moon"===t?go.v2[e._moonI()]({width:h,height:h,x:f,y:b}):m.a.createElement(vo,{width:h,height:h,x:f,y:b})}}},S="dark"===Object(O.getTheme)(n)?"transparent":"#fff";return m.a.createElement(he.l,{height:this._height()},m.a.createElement(he.j,null,m.a.createElement(he.i,{startAngle:p,endAngle:360+p,data:h,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",innerRadius:"".concat(k-w,"%"),outerRadius:"".concat(k,"%"),fill:"#FFC924",isAnimationActive:!1,label:D(),stroke:S,onMouseEnter:function(t,a){return e.setState({show:1===a||3===a?"twilight":"sun"})}},h.map(function(e,t){return m.a.createElement(he.d,{key:"cell-".concat(t),fill:h[t].color})})),m.a.createElement(he.i,{data:b,startAngle:f,endAngle:360+f,isAnimationActive:!1,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",innerRadius:"".concat(j-w,"%"),outerRadius:"".concat(j,"%"),fill:"#09a8e6",stroke:S,label:D("moon"),onMouseEnter:function(){return e.setState({show:"moon"})}},b.map(function(e,t){return m.a.createElement(he.d,{key:"cell-".concat(t),fill:b[t].color})}))))}},{key:"_largeEnough",value:function(){return this.state.width>480}},{key:"_expanded",value:function(){return Object(O.widgetExpanded)("sunMoon",this.props.currentDevice)&&this._largeEnough()}},{key:"_dayLength",value:function(e){var t=this.state,a=t.sun,n=t.yesterdaySun,r=e?n:a;return moment.duration(r.set.diff(r.rise))}},{key:"_center",value:function(){var e=this.props,t=e.user,a=(e.currentDevice,this.state),n=(a.moon,a.sun),r=a.phase,i=a.seasons,o=a.show,c=a.nextFullMoon,s=a.nextNewMoon;if(r){var l;if("moon"===o)if(this._expanded()){var u=parseInt(100*r.illuminated,10)+"% "+this._waxingWaning(),d=r.phase;d<=.1||d>=.9?u="New Moon":d>=.2&&d<=.3?u="First Quarter":d>=.45&&d<=.55?u="Full Moon":d>=.7&&d<=.8&&(u="Third Quarter"),l=[m.a.createElement("div",{className:"title",key:"moon-exp-title"},u)],c&&(l.push(m.a.createElement("div",{className:"label",key:"moon-exp-label-1"},"Next Full Moon")),l.push(m.a.createElement("div",{key:"moon-exp-1"},c.format("MMMM Do")))),s&&(l.push(m.a.createElement("div",{className:"label",key:"moon-exp-label-2"},"Next New Moon")),l.push(m.a.createElement("div",{key:"moon-exp-2"},s.format("MMMM Do"))))}else(l=[m.a.createElement("div",{className:"label",key:"moon-label"},"Moon")]).push(m.a.createElement("div",{key:"moon-1"},parseInt(100*r.illuminated,10),"%")),l.push(m.a.createElement("div",{key:"moon-2"},this._waxingWaning()));else if(this._expanded()){var p=moment.duration(n.rise.diff(n.dawn));if(l=[m.a.createElement("div",{className:"label",key:"soloar-noon-label"},"Solar Noon"),m.a.createElement("div",{key:"solar-noon-2"},n.transit.format(Object(O.timeFormatForUser)(t))),m.a.createElement("div",{className:"label",key:"twilight-label"},"Twilight"),m.a.createElement("div",{key:"twilight-2"},"+".concat(p.minutes()," minutes"))],i){var h=Object(w.find)(function(e){return("Equinox"===e.phenom||"Solstice"===e.phenom)&&e.date.valueOf()>Date.now()},i);h&&(l.push(m.a.createElement("div",{className:"label",key:"next-label"},"Next ",h.phenom)),l.push(m.a.createElement("div",{key:"next"},h.date.format("MMM Do"))))}}else if("sun"===o){var f=this._dayLength();l=[m.a.createElement("div",{className:"label",key:"sun-label"},"Day"),m.a.createElement("div",{key:"sun-1"},"".concat(f.hours()," hr")),m.a.createElement("div",{key:"sun-2"},"".concat(f.minutes()," min"))]}else if("twilight"===o){var b=moment.duration(n.rise.diff(n.dawn));l=[m.a.createElement("div",{className:"label",key:"twilight-label"},"Twilight"),m.a.createElement("div",{key:"twilight-2"},"+".concat(b.minutes()," min"))]}return m.a.createElement("div",{style:{height:this._height()},className:N()("center",o)},l)}}},{key:"_info",value:function(){var e=this.props.user,t=this.state,a=(t.width,t.sun),n=t.moon,r=Object(O.timeFormatForUser)(e),i=13,o=this._moonI();if([0,1,15].includes(o)&&(o=8),this._expanded()){var c=this._dayLength().subtract(this._dayLength(!0)),s=this._moonLength().subtract(this._moonLength(!0)),l=go.v2[o]({height:i,width:i});return m.a.createElement("div",{className:"info"},m.a.createElement("table",null,m.a.createElement("tbody",null,m.a.createElement("tr",{className:"headings"},m.a.createElement("td",null),m.a.createElement("td",null,"Rise"),m.a.createElement("td",null),m.a.createElement("td",null,"Set"),m.a.createElement("td",null,"Duration"),m.a.createElement("td",null,"From Yesterday"),m.a.createElement("td",null)),m.a.createElement("tr",null,m.a.createElement("td",null,m.a.createElement("div",{className:"sun"})),m.a.createElement("td",null,a.rise.format(r)),m.a.createElement("td",null,m.a.createElement("span",{className:"hyphen"})),m.a.createElement("td",null,a.set.format(r)),m.a.createElement("td",null,m.a.createElement("span",null,this._dayLength().hours()," hr, ",this._dayLength().minutes()," min")),m.a.createElement("td",null,m.a.createElement("span",{className:N()("arrow",{neg:c.seconds()<0})},Math.abs(c.minutes())," min, ",Math.abs(c.seconds())," sec")),m.a.createElement("td",null,m.a.createElement("div",{className:"sun"}))),m.a.createElement("tr",null,m.a.createElement("td",null,l),m.a.createElement("td",null,n.rise.format(r)),m.a.createElement("td",null,m.a.createElement("span",{className:"hyphen"})),m.a.createElement("td",null,n.set.format(r)),m.a.createElement("td",null,m.a.createElement("span",null,this._moonLength().hours()," hr, ",this._moonLength().minutes()," min")),m.a.createElement("td",null,m.a.createElement("span",{className:N()("arrow",{neg:s.seconds()<0})},Math.abs(s.minutes())," min, ",Math.abs(s.seconds())," sec")),m.a.createElement("td",null,l)))))}return i=11,m.a.createElement("div",{className:"info"},m.a.createElement("div",{className:"rise"},m.a.createElement("div",{className:"label"},"Rise"),m.a.createElement("div",{className:"sun"},a.rise.format(r)),m.a.createElement("div",{className:"moon"},go.v2[o]({height:i,width:i}),n.rise.format(r))),m.a.createElement("div",{className:"set"},m.a.createElement("div",{className:"label"},"Set"),m.a.createElement("div",{className:"sun"},a.set.format(r)),m.a.createElement("div",{className:"moon"},n.set.format(r),go.v2[o]({height:i,width:i}))))}},{key:"render",value:function(){var e=this,t=this.state.width;return this.state.sun?m.a.createElement("div",{ref:function(t){e.ref=t},className:N()("device-sun-moon-widget",{exp:this._expanded(),lg:t>410})},m.a.createElement("div",{className:N()("wrap",{hour24:1===Object(O.getUserUnitI)("hour24",this.props.user)})},this._chart(),this._info(),this._center())):null}}]),t}(d.PureComponent));Oo.displayName="SunMoonWidget";var wo=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={mTz:window.moment},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_tooltip",value:function(e){var t=this.state.mTz,a=this.props,n=a.device,r=a.user,i=a.mode,o=e.payload;if(o[0]&&t){var c,s=o[0].payload,l=fo.a.phase(new Date(s.dateutc)),u=function(e){var a=Object(O.getAstroValue)(t,Object(O.getTheDevice)(n),e,s.dateutc);return a.format(Object(O.timeFormatForUser)(r))+" "+a.zoneAbbr()};if("yearly"===i){var d=t.duration(s.sunRiseSet[1]-s.sunRiseSet[0]);c=m.a.createElement("span",null,m.a.createElement("br",null),"Day Length: ",d.hours()," hr, ",d.minutes()," min")}return m.a.createElement("div",{className:"tooltip"},m.a.createElement("p",null,Object(O.tooltipFormatDate)(n,r,i,s.dateutc)),m.a.createElement("div",{className:"line"},m.a.createElement("div",null,m.a.createElement(vo,{width:25,height:25})),m.a.createElement("p",null,"Rise: ",u(ve.a.solar.rise),m.a.createElement("br",null),"Set: ",u(ve.a.solar.set),c)),m.a.createElement("div",{className:"line"},m.a.createElement("div",null,go.v2[yo(l)]({width:22,height:22})),m.a.createElement("p",null,"Rise: ",u(ve.a.lunar.rise),m.a.createElement("br",null),"Set: ",u(ve.a.lunar.set))))}}},{key:"render",value:function(){var e=this.state.mTz,t=this.props,a=t.user,n=t.device,r=t.width,i=t.height,o=t.graphData,c=t.mode;if(!e)return null;var s=o,l="yearly"===c,u="Sun Height",d="Moon Height",p="sun",h=!1,f=null,b=null,v=this._tooltip.bind(this),g=(Object(O.getTheDevice)(n),Object(w.concat)(Object(w.pluck)("sun",s),Object(w.pluck)("moon",s))),y=Object(w.apply)(Math.max,g);if(l){u="Sun Transit",d="Moon Phase",p="sunTransit",y=8634e4,h=!0;var E=e().startOf("day");f=function(e){return E.clone().add(e,"ms").format(Object(O.timeFormatForUser)(a))},b=m.a.createElement(he.a,{type:"monotone",dataKey:"sunRiseSet",stroke:"#f5e5b6",strokeWidth:0,fill:"#f5e5b6",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!1,name:"Sun Rise/Set"})}return m.a.createElement(Di,{width:r,height:i,graphData:s,id:"sunMoon",composed:!0,mode:c,onClick:this.props.onClick,tooltipProps:{content:v,offset:20}},m.a.createElement(he.p,{dataKey:"sun",orientation:"left",type:"number",axisLine:!1,domain:[0,y],tick:h,tickFormatter:f}),b,m.a.createElement(he.g,{key:"sun",type:"monotone",dataKey:p,stroke:"#fcd754",strokeWidth:2,fill:"#fcd754",connectNulls:!0,dot:!1,legendType:"circle",isAnimationActive:!1,name:u,activeDot:function(e){var t=e.cx,a=e.cy;return m.a.createElement(vo,{width:25,height:25,x:t-12.5,y:a-12.5})}}),m.a.createElement(he.g,{key:"moon",type:"monotone",dataKey:"moon",stroke:"#b0bbc3",strokeWidth:2,fill:"#b0bbc3",connectNulls:!0,dot:!1,legendType:"circle",isAnimationActive:!1,name:d,activeDot:function(e){var t=e.cx,a=e.cy,n=fo.a.phase(new Date(e.payload.dateutc));return go.v2[yo(n)]({width:18,height:18,x:t-9,y:a-9})}}),this.props.children)}}]),t}(d.PureComponent);wo.displayName="SunMoonGraph",wo.displayName="SunMoonGraph",wo.displayName="SunMoonGraph",wo.displayName="SunMoonGraph",wo.displayName="SunMoonGraph",wo.displayName="SunMoonGraph",wo.displayName="SunMoonGraph";a(311);var ko=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={loading:!1,utilityOpen:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this._fetchDevice()}},{key:"componentDidUpdate",value:function(){this._fetchDevice()}},{key:"_fetchDevice",value:function(){var e=this.props,t=e.device,a=e.currentDevice,n=e.deviceActions;!e.skipFetch&&Object(O.shouldGetDevice)(t,a._id,5)&&n.getDevice(a._id)}},{key:"_onClick",value:function(){var e=this,t=this.props.onClick;this.setState({loading:!0}),t&&t(this._currentDevice()),setTimeout(function(){e.setState({loading:!1})},1e3)}},{key:"_ago",value:function(){var e=this.props,t=e.currentDevice,a=e.layerParam,n=e.post,r=this.state.webcamTimestamp;return"webcam"===a?r?m.a.createElement(Vr,{dateutc:r.valueOf()}):null:"social"===a?n?m.a.createElement(Vr,{dateutc:n.createdAt}):null:m.a.createElement(Vr,{dateutc:Object(w.path)(["lastData","dateutc"],t)})}},{key:"_buttons",value:function(){var e=this,t=this.props,a=t.socialActions,n=t.layerParam,r=t.user,o=t.post,c=this.state.utilityOpen;if("social"!==n)return null;var s=[],l=function(){return e.setState({utilityOpen:!1})},u=this._share({onClick:l,key:"share"});if(u&&s.push(u),!Object(O.postIsMine)(r,o)&&!Object(O.isAdmin)(r)||Object(O.postIsExpired)(o)||s.push(m.a.createElement("a",{key:"expire",onClick:function(){window.confirm("This post will no longer show up on the map. Proceed anyway?")&&(a.patchPost(o._id,{expiresAt:Date.now()}),l())}},"Expire Post")),Object(O.postIsMine)(r,o)&&s.push(m.a.createElement("a",{key:"trash",onClick:function(){window.confirm("Delete Post?")&&(a.patchPost(o._id,{status:"trash"}),l())},className:"remove"},"Delete Post")),Object(O.isAdmin)(r)&&s.push(m.a.createElement("a",{key:"remove",onClick:function(){window.confirm("Ban Post?")&&(a.patchPost(o._id,{status:"banned"}),l())},className:"remove"},"Remove")),Object(O.isAdmin)(r)){var d="boosted"===o.status;s.push(m.a.createElement("a",{key:"boost",onClick:function(){if(window.confirm(d?"Unboost Post?":"Boost Post?")){var e=Object(w.path)(["data","centerGeo"],o)||Object(O.centerPointForGeo)(o.geo),t=3e3;if(!d){var n=window.prompt("Set post radius (miles):","3000");n&&(t=parseInt(n))}var r={status:d?"normal":"boosted",geo:Object(dt.b)(e.coordinates,d?100:t)};o.data.centerGeo||(r.data=Object(i.a)({},o.data,{centerGeo:o.geo})),a.patchPost(o._id,r),l()}},className:"remove"},d?"Unboost Post":"Boost Post"))}return s.length<1?null:m.a.createElement("div",{className:N()("utility",{open:c})},m.a.createElement("a",{className:"dots",onClick:function(){return e.setState({utilityOpen:!c})}}),m.a.createElement("div",null,s))}},{key:"_share",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=this.props,n=a.userActions,r=a.user,i=a.device,o=a.layerParam,c=a.post,s=(i.devices,[["layerParam"],["currentDevice","unitSetting","image"],["currentDevice","info","name"],["currentDevice","info","coords","location"]]);if("social"===o)s=Object(w.concat)(s,[["post","image"],["post","text"],["post","_id"],["post","createdAt"]]);else if("webcam"===o){var l=Object(O.socialDevices)(r,i);if(l.length>0)return m.a.createElement("span",{className:"component-share"},m.a.createElement("a",{onClick:function(t){t.preventDefault(),n.doModal({type:"create-post",data:{currentDevice:l[0],coords:e._currentDevice().info.coords,webcamSnapshot:e._currentDevice()._id}})},className:"share"}));s=!1}else/rain/.test(o)?s=Object(w.concat)(s,O.WIDGET_CONFIG.rain.share.paths):/wind/.test(o)?s=Object(w.concat)(s,O.WIDGET_CONFIG.wind.share.paths):o&&(s=Object(w.concat)(s,O.WIDGET_CONFIG.temp.share.paths));if(!s)return null;var u=this._currentDevice(),d=Object(O.getDeviceLabel)(u),p=(d.split(","),Object(O.getDeviceShareLink)(u)+("social"===o?"/social":""));return m.a.createElement(Rr,Object.assign({currentDevice:u,layerParam:o,post:c,title:d,description:"AmbientWeather.net: Weather is Personal",component:"DevicePopup",redirect:p,paths:s},t))}},{key:"_like",value:function(){var e=this.props,t=e.layerParam,a=e.post;return"social"!==t?null:m.a.createElement(Qr,{type:"post",thing:a})}},{key:"_currentDevice",value:function(){var e=this.props,t=e.user,a=e.device,n=a.dashboardDevice,r=a.deviceCache[this.props.currentDevice._id];return r||(r=n&&this.props.currentDevice._id===n._id?n:this.props.currentDevice),Object(O.deviceIsMine)(a,r._id)&&Object(w.path)(["info","image"],t)&&(r.unitSetting=r.unitSetting||{},r.unitSetting.image=Object(w.path)(["info"],t).image),Object.assign({},r,{settings:null})}},{key:"render",value:function(){var e=this,t=this.props,a=t.history,n=t.post,r=t.onClick,i=t.className,o=t.userActions,c=t.deviceActions,s=t.user,l=t.layerParam,u=(t.onMouseLeave,t.device),d=t.id,p=this.state,h=p.loading,f=p.height,b=this._currentDevice(),v=b.unitSetting;Object(O.deviceIsMine)(u,b._id)&&Object(w.path)(["info","image"],s)&&(v=Object(w.path)(["info"],s)),v&&v.image||(v={image:"https://ambientweather.net/169ad3add50ee4c257874d239fbdd998.svg"});var g=m.a.createElement("div",{className:"avatar-wrap"},m.a.createElement(S,{noDefault:!0,u:v})),y=m.a.createElement(pi,{slim:!0,currentDevice:b});"social"===l?y=m.a.createElement(wt,{post:n}):"webcam"===l?y=m.a.createElement(qo,{onTimestamp:function(t){return e.setState({webcamTimestamp:t})},currentDevice:b,userActions:o}):/rain/.test(l)?y=m.a.createElement(fi,{currentDevice:b}):/wind/.test(l)?y=m.a.createElement(hi,{currentDevice:b}):l||(y=null);var E=Object(O.getDeviceLabel)(b).split(","),k=E[1];if(n){var j=Object(w.path)(["data","location"],n);j&&(k=j)}var D=Object(O.getDeviceSharePath)(b)+("social"===l?"/social":""),A=m.a.createElement("a",{onClick:function(){c.setDashboardDevice(null),a.replace(D)},className:"btn btn-primary"},"View Dashboard");return r&&(A=m.a.createElement("a",{onClick:this._onClick.bind(this),className:N()("btn btn-primary",{loading:h})},h?m.a.createElement(fe,{className:"white"}):"View Dashboard")),m.a.createElement("div",{id:d,onMouseLeave:function(){},className:N()("device-device-popup",{"not-mine":!Object(O.deviceIsMine)(u,b._id),"on-dash":b._id===Object(w.path)(["dashboardDevice","_id"],u),"has-img":n&&n.image,boosted:n&&"boosted"===n.status,short:f<250},l,i),ref:function(t){return e.ref=t}},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"meta"},g,m.a.createElement(Nr,{currentDevice:b}),m.a.createElement("div",{className:"device-name-wrap"},E[0]&&m.a.createElement("span",null,E[0]),k&&m.a.createElement("b",null,k))),m.a.createElement("div",{className:"ago"},this._buttons(),this._ago())),m.a.createElement("div",{className:"content"},y),m.a.createElement("div",{className:"bottom"},this._like(),A,this._share()),"social"===l?m.a.createElement(jt,{post:n}):null)}}]),t}(d.PureComponent),jo=ae(Object(P.h)(ko));ko.displayName="DevicePopup";var No=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"shouldComponentUpdate",value:function(e){return Object(O.pathsChanged)(this.props,e,[["currentDevice","_id"],["currentDevice","settings","map","expanded"]])}},{key:"componentDidUpdate",value:function(e){var t=this,a=this.props.currentDevice;this.map&&this.map.setDevices([a]),setTimeout(function(){t.map&&t.map.map&&t.map.map.resize()},1e3)}},{key:"render",value:function(){var e=this,t=this.props,a=t.currentDevice,n=t.deviceActions,r=m.a.createElement(fr,{coords:a&&Object(w.path)(["info","coords","coords"],a),mapOpts:{hideNavControl:!0,noScrollZoom:!0,padding:0,paddingTop:0,maxZoom:8.5,interactive:!1},onDeviceClick:n.setDashboardDevice,layer:"radar",onMapLoad:function(e){e.resize()},onRef:function(t){t&&(e.map=t,e.map.setDevices([a]))}});return Object(O.widgetWhat)("minimized","map",a)&&(r=null),m.a.createElement("div",{className:"device-map-widget"},m.a.createElement(E.a,{key:"expand",to:"/",className:"expand"}),r)}}]),t}(d.PureComponent);No.displayName="MapWidget",No.displayName="MapWidget",No.displayName="MapWidget",No.displayName="MapWidget",No.displayName="MapWidget",No.displayName="MapWidget",No.displayName="MapWidget";var Do=function(e){function t(e){var a;return Object(o.a)(this,t),(a=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={now:Date.now()},a.interval=!1,a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this;this.interval=setInterval(function(){return e.setState({now:Date.now()})},5e3)}},{key:"componentWillUnmount",value:function(){this.interval&&clearInterval(this.interval)}},{key:"render",value:function(){var e=m.a.createElement("span",{className:"countdown"}),t=this.state.now,a=this.props,n=a.currentDevice,r=a.device,i=a.actions,o=r.fetchDevicesPending,c=i.fetchDevices,s=n;if(!s||!s.lastData)return null;var l=s.lastData.stationtype&&"NK_KestrelMet6000W"===s.lastData.stationtype;if(o)e=m.a.createElement("span",{key:"countdown",className:"countdown"},"one moment...");else if(s.lastData.dateutc){var u=moment(new Date(s.lastData.dateutc));e=u.diff(new Date,"minutes")<-1?m.a.createElement(Sr,{key:"refresh",onClick:c,className:"countdown"},l?u.format("MM/DD/YYYY, h:mm a"):u.from(t),"\xa0\xa0 ",m.a.createElement("i",{className:"glyphicon glyphicon-refresh"})):m.a.createElement("span",{key:"countdown",className:"countdown"},l?u.format("MM/DD/YYYY, h:mm a"):u.from(t))}return e}}]),t}(d.PureComponent),So=ce(Do);Do.displayName="LastUpdated";var Ao=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=Object(w.path)(["info","coords","coords"],this.props.currentDevice);return m.a.createElement(_r,{coords:[e.lon,e.lat]},m.a.createElement(Er,{expanded:Object(O.widgetExpanded)("forecast",this.props.currentDevice),currentDevice:this.props.currentDevice}))}}]),t}(d.PureComponent);Ao.displayName="ForecastWidget";var _o=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_fetchActiveDevicePosts",value:function(){var e=this.props,t=e.actions,a=e.currentDevice;a._id&&t.fetchPosts({deviceId:a._id,expiresAt:{$gte:Date.now()}})}},{key:"componentDidMount",value:function(){this._fetchActiveDevicePosts()}},{key:"componentDidUpdate",value:function(e){Object(O.pathsChanged)(this.props,e,[["currentDevice","_id"]])&&this._fetchActiveDevicePosts()}},{key:"render",value:function(){var e=this,t=this.props,a=t.children,n=t.currentDevice,r=t.onChange,i=t.social.allPosts,o=Object(w.path)(["tz","name"],n),c=Object(w.find)(function(e){return e.deviceId===Object(w.path)(["_id"],n)&&Date.parse(e.expiresAt)>Date.now()},i);return m.a.createElement("div",{className:"device-device-edit-form"},m.a.createElement("h2",null,"Now let's get some details:"),m.a.createElement("label",{className:"name"},"Give your device a name"),m.a.createElement("input",{type:"text",className:"name",ref:function(t){return e.nameInput=t},value:n.info.name,placeholder:"Ex: My Weather Station",onChange:function(e){n.info.name=e.target.value,r(Object.assign({},n),"info")}}),m.a.createElement("label",null,"Where is your device located?"),m.a.createElement(er,{location:Object.assign({},n.info.coords),onChange:function(e){var t=Object.assign({},n);e.coords?(t.info.coords=e,so(Object.assign({},{macAddress:n.macAddress},e))):t.info.coords=null;r(t,"info")}}),c?m.a.createElement("p",{className:"warning"},"Changing your device's location will expire your active social posts."):null,m.a.createElement(hc,{currentDevice:n}),m.a.createElement("div",{className:"item tz"},m.a.createElement("label",null,"Timezone"),m.a.createElement(Re,{value:o,onChange:function(e){e.name!==o&&(so(Object.assign({},{macAddress:n.macAddress},{tz:{name:e.name}})),r(Object.assign({},n,{tz:{name:e.name}}),"tz"))}})),m.a.createElement("div",{className:"sharemydevice"},m.a.createElement("label",null,"Community"),m.a.createElement("p",null,m.a.createElement("label",{className:"normal"},m.a.createElement("input",{type:"checkbox",name:"public",checked:n.public||!1,onChange:function(){r(Object(O.toggleDevicePublic)(n),"public")}})," Allow others to view my weather station data. "),n.public&&!n.info.coords?m.a.createElement("span",{className:"warning"},"Add a location to your device above so others can find it on the map."):null)),a,m.a.createElement("div",{className:"privacy"},m.a.createElement("p",null,"By setting your location, you will gain access to local forecasts, sunrise and sunset times, moon phases, and other location-based features on your dashboard. ",Object(Ve.b)()," reserves the right to utilize this data to improve the platform and help other services make better tools that incorporate weather data. ",m.a.createElement("a",{href:Object(Ve.e)().privacyUrl,target:"_blank"},"See privacy standards >>"))))}}]),t}(d.PureComponent),Co=vn(_o);_o.displayName="DeviceEditForm";var xo=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this;this.resizeObserver=new gr.a(function(t){e.setState({width:t[0].contentRect.width})}),this.resizeObserver.observe(this.ref)}},{key:"componentWillUnmount",value:function(){this.resizeObserver&&this.resizeObserver.disconnect()}},{key:"render",value:function(){var e=this,t=this.state.width,a=this.props.currentDevice.lastData,n=a.lightning_day,r=a.lightning_hour,i=a.lightning_time;return m.a.createElement("div",{className:N()("device-lightning-widget",{lg:t>350}),ref:function(t){return e.ref=t}},m.a.createElement("div",{className:"top-wrap"},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"val"},n),m.a.createElement("div",{className:"labels"},m.a.createElement("div",{className:"icon"}),m.a.createElement("div",null,"Today")))),m.a.createElement("div",{className:"bottom"},m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Hourly"),m.a.createElement("div",{className:"val"},m.a.createElement("span",{className:"icon"},r))),m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Last Strike"),m.a.createElement("div",{className:"val"},i?moment(i).fromNow():"No report yet")),m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Distance"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{type:"lightning_distance",row:a})))))}}]),t}(d.PureComponent);xo.displayName="LightningWidget",xo.displayName="LightningWidget",xo.displayName="LightningWidget",xo.displayName="LightningWidget",xo.displayName="LightningWidget",xo.displayName="LightningWidget",xo.displayName="LightningWidget";var Io=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.user,a=e.width,n=e.onClick,r=e.height,i=e.graphData,o=e.mode,c=i[0]&&i[0].refined,s="lightning_hour",l=s,u="lightning_day",d=(Object(O.getSuffForUser)(t),!1);Object(O.rowsHave)(i,"lightning_dayH")&&(u="lightning_dayH",d=!0);var p=!1;Object(O.rowsHave)(i,"lightning_hourAvg")&&(l="lightning_hourAvg",p=!0);var h,f=Object(w.concat)(Object(w.pluck)(l,i),Object(w.pluck)(u,i)),b=!1;return Object(O.rowsHave)(i,"lightning_hourHl")&&(b=!0,h=m.a.createElement(he.a,{type:"monotone",dataKey:"lightning_hourHl",stroke:"#b4dcf6",strokeWidth:0,fill:"#b4dcf6",legendType:"circle",connectNulls:!1,dot:!1,isAnimationActive:!1,name:Object(O.getLabel)(s)+" High/Low"}),f=Object(w.concat)(f,Object(w.pipe)(Object(w.pluck)("lightning_hourHl"),w.flatten)(i))),f=Object(w.filter)(O.isSomething,f),m.a.createElement(Di,{onClick:n,width:a,height:r,mode:o,graphData:i,id:"lightning",composed:b},m.a.createElement(he.p,{dataKey:s,orientation:"left",type:"number",axisLine:!1,domain:[0,Object(w.apply)(Math.max,f)]}),h,m.a.createElement(he.g,{type:"monotone",dataKey:u,stroke:"#50bfbd",fill:"#50bfbd",strokeWidth:2,dot:!1,isAnimationActive:!c,name:Object(O.getLabel)("lightning_day")+(d?" High":""),legendType:"circle",connectNulls:!0}),m.a.createElement(he.g,{type:"monotone",dataKey:l,stroke:"#2c9ce6",strokeWidth:2,fill:"#2c9ce6",dot:!1,isAnimationActive:!c,name:Object(O.getLabel)(s)+(p?" Avg":""),legendType:"circle",connectNulls:!0}),this.props.children)}}]),t}(d.PureComponent);Io.displayName="LightningGraph",Io.displayName="LightningGraph",Io.displayName="LightningGraph",Io.displayName="LightningGraph",Io.displayName="LightningGraph",Io.displayName="LightningGraph",Io.displayName="LightningGraph";var To=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.onChange,n=t.lastData,r=Object(w.filter)(Object(O.dataHas)(n),O.WIDGET_CONFIG.leak.fields),i=Object(w.map)(function(e){var r="OK",i=n[e];return 1===i?r="LEAK":2===i&&(r="OFFLINE"),m.a.createElement("div",{key:e,className:N()("line","leak-"+i)},m.a.createElement("div",null,m.a.createElement(wi,{type:e,currentDevice:t,onChange:a})),m.a.createElement("div",{className:"icon"},r))},r);return m.a.createElement("div",{className:"device-leak-widget table-widget"},i)}}]),t}(d.PureComponent);To.displayName="LeakWidget";var Po=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).togglePublic=(a=n).togglePublic.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"togglePublic",value:function(){var e=this.props,t=e.currentDevice,a=e.onClick,n=e.actions;if(!t.public||window.confirm("Note: The public link and embed code for this device will stop working. Proceed?")){var r=Object(O.toggleDevicePublic)(t);n.patch(r._id,{public:r.public}),a&&a(r)}}},{key:"render",value:function(){var e=this.props.currentDevice;return m.a.createElement("a",{className:N()("btn",{"btn-gray":e.public,"btn-primary":!e.public}),onClick:this.togglePublic},e.public?"Make Private":"Make Public")}}]),t}(d.PureComponent),Mo=ce(Po);Po.displayName="ToggleDevicePublicBtn",Po.displayName="ToggleDevicePublicBtn",Po.displayName="ToggleDevicePublicBtn",Po.displayName="ToggleDevicePublicBtn",Po.displayName="ToggleDevicePublicBtn",Po.displayName="ToggleDevicePublicBtn",Po.displayName="ToggleDevicePublicBtn";var Ro=function(e,t,a){return Object(O.getLabel)(a,e).replace("#","")+(Object(O.getSuffForUser)(t,a)?" ("+Object(O.getSuffForUser)(t,a).replace(" ","")+")":"")},Lo=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return'"'.concat(e.replace(/"/g,'\\"'),'"')},Fo=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={fetching:!1,docs:[],days:[]},n._start=(a=n)._start.bind(a),n._cancel=(a=n)._cancel.bind(a),n._fetchDay=(a=n)._fetchDay.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){var e=this.props,t=(e.userActions,e.user),a=(e.device,t.modal),n=a.theDevice,r=a.start,i=a.end,o=Object(O.getDateTzForDevice)(moment,n),c=o(i),s=o(r||moment(c).subtract(24,"hours"));this.setState({macAddress:n.macAddress,startDate:s,endDate:c,getDate:o})}},{key:"downloadCsv",value:function(e){var t=this.props,a=t.user,n=t.device,r=Object(O.getDateTz)(moment,n),i=Object(O.convertUnitForUser)(a),o=Object(w.flip)(w.prop),c=Object(w.concat)(["dateutc","dateutc"],Object(O.getDisplayKeys)(e).filter(function(e){return"dateutc"!==e})),s=!1,l="data:text/csv;charset=utf-8,"+c.map(function(e){return"dateutc"===e&&s?"Simple Date":(s=!0,Ro(n,a,e))}).map(Lo).join(",")+"\n"+e.map(function(e){var t=c.map(function(t){return Object(w.pipe)(o(e),i(t),function(e){return isNaN(e)?"":e})(t)});return Object(w.pipe)(Object(w.over)(Object(w.lensIndex)(0),function(e){return r(e).format()}),Object(w.over)(Object(w.lensIndex)(1),function(e){return r(e).format("YYYY-MM-DD HH:mm:ss")}))(t).join(",")}).reverse().join("\n");this._doDownload(l,"ambient-weather-"+r(e[0].dateutc).format("YYYYMMDD")+"-"+r(Object(w.last)(e).dateutc).format("YYYYMMDD"))}},{key:"_docDate",value:function(e){return Object(O.getSummaryDocDateGetDate)(this.state.getDate,e.dateutc)}},{key:"downloadSummaryCsv",value:function(e){var t=this,a=this.state,n=a.getDate,r=a.startDate,i=a.endDate,o=this.props,c=o.user,s=o.device,l=s.deviceSummaries,u=c.modal.theDevice,d=Object(O.convertUnitForUser)(c);return function(){Object(w.flip)(w.prop);var a=Object(w.filter)(function(e){var t=n(e.dateutc);return r.valueOf()<=t.valueOf()&&i.valueOf()>=t.valueOf()})(Object(w.prepend)(u.lastData.hl,l)),o=Object(O.getDisplayKeys)(l).filter(function(e){return"dateutc"!==e}),m=","+(e?"Date,":"")+o.map(function(e){return Ro(s,c,e)}).map(Lo).join(","),p="ambient-weather-high-lows-",h="YYYYMMDD";p+=e?"details-":"summary-";var f=a;f.length>1?p+=t._docDate(f[f.length-1]).format(h)+"-"+t._docDate(f[0]).format(h):p+=t._docDate(f[0]).format(h);var b="data:text/csv;charset=utf-8,"+m+"\n"+Object(w.unnest)(a.map(function(a){var r=[],i=function(e){return function(t){var r=a[t];if(r&&!Object(O.isWindDir)(t))return/.t/.test(e)?n(r[e]).format():d(t,r[e])}},c=function(e){return function(t){var a=Object(O.getHlAvg)(e,t);if(Object(O.isSomething)(a))return d(t,a)}};if(e){var s=t._docDate(a).format("YYYY-MM-DD");r.push(["Average",s].concat(Object(ct.a)(o.map(c(a))))),r.push(["High",s].concat(Object(ct.a)(o.map(i("h"))))),r.push(["High Datetime",s].concat(Object(ct.a)(o.map(i("ht"))))),r.push(["Low",s].concat(Object(ct.a)(o.map(i("l"))))),r.push(["Low Datetime",s].concat(Object(ct.a)(o.map(i("lt")))))}else r.push(["Average"].concat(Object(ct.a)(o.map(c(a))))),r.push(["High"].concat(Object(ct.a)(o.map(i("h"))))),r.push(["High Datetime"].concat(Object(ct.a)(o.map(i("ht"))))),r.push(["Low"].concat(Object(ct.a)(o.map(i("l"))))),r.push(["Low Datetime"].concat(Object(ct.a)(o.map(i("lt")))));return r})).map(Object(w.join)(",")).join("\n");t._doDownload(b,p)}}},{key:"_doDownload",value:function(e,t){var a=document.createElement("a");a.setAttribute("href",encodeURI(e)),a.setAttribute("download",t+".csv"),document.body.appendChild(a),a.click(),this._cancel()}},{key:"_fetchDay",value:function(){var e=this,t=this.props,a=(t.device,t.deviceActions),n=this.state,r=n.days,i=n.docs,o=n.macAddress;if(r.length<1)return this.downloadCsv(Object(w.flatten)(i)),this.setState({fetching:!1});var c=r.pop();a.fetchDeviceData({start:c[0],end:c[1],macAddress:o,res:5}).then(function(t){e.setState({docs:Object(w.concat)(i,Object(w.reverse)(t)),days:r},e._fetchDay)})}},{key:"_lastDateWeHave",value:function(){var e=this.props.device.deviceSummaries;return Object(w.last)(e).dateutc}},{key:"_start",value:function(){var e=this.state,t=(e.macAddress,e.startDate),a=e.endDate,n=e.getDate,r=this._lastDateWeHave(),i=t.valueOf()<r?n(r):t,o=Math.abs(i.diff(a,"days"))+1,c=Object(w.reverse)(Object(w.range)(0,o).map(function(e){var t=moment(i).add(e,"days");return[t.valueOf(),t.endOf("day").valueOf()]}));this.setState({days:c,startTime:Date.now(),fetching:!0,docs:[]},this._fetchDay)}},{key:"_cancel",value:function(){this.setState({fetching:!1,days:[],docs:[]}),this.props.userActions.doModal("")}},{key:"render",value:function(){var e=this,t=this.props,a=(t.userActions,t.user),n=t.device,r=this.state,i=r.startTime,o=r.getDate,c=r.startDate,s=r.endDate,l=r.fetching,u=r.days,d=r.docs,p=a.modal,h=(p.theDevice,p.start,p.end,this._lastDateWeHave()),f=c&&c.valueOf()<o(h).startOf("day").valueOf(),b="MMM Do, YYYY";if(!c)return null;var v=m.a.createElement("div",null,m.a.createElement("a",{className:"close export",onClick:this._cancel}),m.a.createElement("h3",null,"Export Data",m.a.createElement(Te,{link:Object(Ve.e)().helpUrlBase+"how-do-i-download-data-ambientweather-net/"})),m.a.createElement(We,{device:n,start:c,end:s,getDate:o,onChange:function(t){e.setState({startDate:t[0],endDate:t[1]})}}),f?m.a.createElement("div",{className:"estimated"},"Range too great. This device has data starting ",o(h).format(b)):"",m.a.createElement("div",{className:"btns"},m.a.createElement("a",{onClick:this._start.bind(this),className:"btn btn-primary"},"Export All Data"),m.a.createElement("a",{className:"white btn",onClick:this.downloadSummaryCsv(!0)},"Export Daily Summary")));if(l){var g=288*u.length+d.length,y=Object(w.last)(u),E=d.length/g*100,O=(Date.now()-i)/d.length*u.length*1e3;v=m.a.createElement("div",null,m.a.createElement("b",null,y?"Exported "+c.format(b)+" - "+moment(y[0]).format(b):"Processing..."),m.a.createElement("div",{className:"progress-wrap"},m.a.createElement("div",{className:"progress"},m.a.createElement("div",{className:"blue progress-bar",style:{width:E+"%"}})),m.a.createElement("span",null,Math.floor(E)+"%")),m.a.createElement("div",{className:"estimated"},d.length>0?"Estimated time remaining: "+moment.duration(O).humanize():""),m.a.createElement("a",{className:"btn white",onClick:this._cancel},"Cancel"),m.a.createElement("a",{onClick:function(){return e.downloadCsv(Object(w.flatten)(d))}},"Download partial file"))}return m.a.createElement("div",{className:N()("device-export-data",{fetching:l,error:f})},m.a.createElement("div",{className:"wrap"},v))}}]),t}(d.PureComponent),Uo=ae(Fo);Fo.displayName="ExportData",Fo.displayName="ExportData",Fo.displayName="ExportData",Fo.displayName="ExportData",Fo.displayName="ExportData",Fo.displayName="ExportData",Fo.displayName="ExportData";var Wo=["Ambient","Foscam","Reolink","Nest","Ring","Other"],Ho=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={open:!1,type:"",url:"",imageFound:!1,findingImage:!1,creatingWebcam:!1,password:!1},n._next=(a=n)._next.bind(a),n._reset=(a=n)._reset.bind(a),n._delete=(a=n)._delete.bind(a),n._public=(a=n)._public.bind(a),n._resetPassword=(a=n)._resetPassword.bind(a),n._fetchImage=Object(O.debounce)(n._fetchImage.bind(Object(He.a)(Object(He.a)(n))),100),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_resetPassword",value:function(){window.confirm("Are you sure you want to reset your FTP password?")&&this.setState({type:"ftp"},this._next())}},{key:"_reset",value:function(){this.setState({open:!1,url:"",manufacturer:"",model:"",imageFound:!1,findingImage:!1,creatingWebcam:!1})}},{key:"_delete",value:function(){var e=this,t=this.props,a=t.deviceActions,n=t.currentDevice;window.confirm("Are you sure you want to delete this camera?")&&this._doPatch({_delete:!0,username:n.webcam.username}).then(function(t){a.fetchDevices(),e._reset()})}},{key:"_doPatch",value:function(e){var t=this,a=this.props,n=a.deviceActions,r=a.currentDevice,i=this.state;i.url,i.type;return new Promise(function(a,i){t.setState({creatingWebcam:!0},function(){n.patch(r._id,{webcam:e}).then(function(e){t.setState({creatingWebcam:!1},function(){return a(e)})})})})}},{key:"_next",value:function(){var e=this,t=this.props,a=(t.deviceActions,t.currentDevice),n=this.state,r=n.url,i=n.type,o=n.manufacturer,c=n.model;"ftp"===i?this._doPatch({username:a.macAddress.replace(/:/g,""),manufacturer:o,model:c}).then(function(t){e.setState({password:t.result.webcam.password})}):this._doPatch({url:r,manufacturer:o,model:c})}},{key:"componentDidUpdate",value:function(e,t){Object(O.pathsChanged)(this.state,t,["url"])&&this._fetchImage()}},{key:"_public",value:function(e){var t=this.props.currentDevice;e.target.checked?this._doPatch(Object.assign({},t.webcam,{public:!0,approved:!1})):this._doPatch(Object.assign({},t.webcam,{public:!1}))}},{key:"_fetchImage",value:function(){var e=this,t=this.state.url;if(this._urlOk(t)){var a=new Image;a.addEventListener("load",function(){e.setState({imageFound:!0,findingImage:!1})}),a.addEventListener("error",function(t){e.setState({findingImage:!1,imageFound:!1})}),a.src=t}}},{key:"_urlOk",value:function(e){return/http/.test(e)}},{key:"_url",value:function(e){var t={url:e};this.setState(t)}},{key:"_right",value:function(){var e,t,a=this,n=this.state,r=n.creatingWebcam,i=n.open,o=(n.imageFound,n.findingImage),c=n.url,s=this.props,l=s.currentDevice,u=s.userActions,d=s.user;if(!i)return null;if(o)return m.a.createElement(fe,null);if(r)return null;if(c&&this._urlOk(c)?e=m.a.createElement(Ko,{message:"Image not found",currentDevice:{webcam:{url:c}},onSuccess:function(){return a.setState({imageFound:!0})},onFail:function(){return a.setState({imageFound:!1})}}):Object(w.path)(["webcam"],l)&&(e=m.a.createElement(Ko,{currentDevice:l,onSuccess:function(){return a.setState({imageFound:!0})},onFail:function(){return a.setState({imageFound:!1})}})),Object(O.hasVideo)(l)){var p=za(d,l.macAddress);t=m.a.createElement("div",{className:"cam-banner"},m.a.createElement("span",null,"Your time-lapse video is ",p.label," resolution..."),p.tier<3?m.a.createElement("button",{onClick:function(){return u.doModal({type:"enhanced-cam",data:{currentDevice:l}})},className:"btn btn-primary btn-lg"},"Upgrade Now"):m.a.createElement("a",{onClick:function(){return u.doModal({type:"enhanced-cam",data:{currentDevice:l}})},className:""},"downgrade"))}return m.a.createElement(m.a.Fragment,null,m.a.createElement("div",{className:"img-wrap"},e),t)}},{key:"_top",value:function(){var e=this,t=this.state,a=t.open,n=t.creatingWebcam,r=this.props.currentDevice.webcam,i=m.a.createElement("span",null,m.a.createElement("a",{className:"add",onClick:function(){return e.setState({open:!0})}},"Add Weather Cam")," ",m.a.createElement(Te,{link:Object(Ve.e)().helpUrlBase+"weathercams/"}));return a?n?m.a.createElement(fe,null):r?m.a.createElement("h2",{className:"camera"},"Weather Cam ",m.a.createElement("a",{onClick:function(){return e.setState({open:!1})}},"hide details")):m.a.createElement("h2",{className:"camera"},"Connect your Weather Cam"):r?m.a.createElement("h2",{className:"camera"},"Weather Cam ",m.a.createElement("a",{onClick:function(){return e.setState({open:!0})}},"view details")):i}},{key:"render",value:function(){var e,t=this,a=this.state,n=a.creatingWebcam,r=a.url,i=a.open,o=a.type,c=a.imageFound,s=a.password,l=a.manufacturer,u=a.model,d=this.props,p=d.currentDevice,h=d.user,f=p.webcam;if(i)if(n)e=null;else if(f){var b,v,g=m.a.createElement("div",null,m.a.createElement("table",null,m.a.createElement("tbody",null,m.a.createElement("tr",null,m.a.createElement("td",null,"Server:"),m.a.createElement("td",null,Object(O.isBillingDev)()?"test-ftp":"ftp2",".ambientweather.net")),m.a.createElement("tr",null,m.a.createElement("td",null,"Port:"),m.a.createElement("td",null,"21")),m.a.createElement("tr",null,m.a.createElement("td",null,"FTP Mode:"),m.a.createElement("td",null,"PASV (passive)")),m.a.createElement("tr",null,m.a.createElement("td",null,"Username:"),m.a.createElement("td",null,p.webcam.username)),m.a.createElement("tr",null,m.a.createElement("td",null,"Password:"),m.a.createElement("td",null,s?m.a.createElement("span",null,s," ",m.a.createElement("span",{className:"sans small"},"(you will only have access to this once)")):m.a.createElement("span",null,"****"))),m.a.createElement("tr",null,m.a.createElement("td",null,"Min Interval:"),m.a.createElement("td",null,"1 minute")))));if(f.url&&(g=m.a.createElement("div",null,m.a.createElement("p",null,"Camera URL:"),m.a.createElement("p",{className:"wrap-text"},m.a.createElement("a",{href:f.url,className:"dark monospace",target:"_blank"},f.url)),m.a.createElement(Fr,{text:f.url,linkTitle:"Copy URL",className:"small"}),f.error&&m.a.createElement("p",{className:"error"},f.error,". Please check the url for your camera. Then, if you'd like it to show publicly you'll need to delete this camera and re-add it."))),f.public&&!f.approved?b=m.a.createElement("label",null,"Your weather cam is awaiting approval to become public"):(c||f.approved)&&(b=[m.a.createElement("label",{key:1},m.a.createElement("input",{checked:f.public,onChange:this._public,type:"checkbox"})," Allow others to view your weather cam."),m.a.createElement("a",{key:2,href:"https://help.ambientweather.net/privacy-policy/",className:"small"},"See our privacy policy"),m.a.createElement("br",{key:3})]),Object(O.hasVideo)(p)){var y=za(h,p.macAddress);v=m.a.createElement(m.a.Fragment,null,m.a.createElement("h3",null,y.label," Cam Features"),m.a.createElement("div",{className:"bordered"},m.a.createElement("table",null,m.a.createElement("tbody",null,m.a.createElement("tr",null,m.a.createElement("td",null,"Time lapse resolution:"),m.a.createElement("td",null,y.timelapseRes)),m.a.createElement("tr",null,m.a.createElement("td",null,"Regeneration rate:"),m.a.createElement("td",null,y.regenRate)),m.a.createElement("tr",null,m.a.createElement("td",null,"Weather banner:"),m.a.createElement("td",null,y.banner)),m.a.createElement("tr",null,m.a.createElement("td",null,"Sampling:"),m.a.createElement("td",null,y.sampling)),m.a.createElement("tr",null,m.a.createElement("td",null,"Time lapse storage:"),m.a.createElement("td",null,y.storage)),m.a.createElement("tr",null,m.a.createElement("td",null,"Map Icon:"),m.a.createElement("td",null,y.mapIcon))))))}e=m.a.createElement(m.a.Fragment,null,m.a.createElement("div",{className:"ftp"},m.a.createElement("div",{className:"bordered"},g,b,m.a.createElement("a",{onClick:this._delete,className:"small delete"},"Delete Camera")),v))}else e=m.a.createElement("div",null,m.a.createElement("p",null,"What format does your webcam use?"),m.a.createElement("div",{className:"radios"},["ftp","url"].map(function(e){return m.a.createElement(De,{key:e,selected:o===e,onClick:function(){return t.setState({type:e,url:""})},label:e.toUpperCase()})})),"url"===o?m.a.createElement("div",{className:"url"},m.a.createElement("p",null,"Enter the URL for your webcam's static image"),m.a.createElement("input",{type:"text",className:"form-control",value:r,onChange:function(e){return t._url(e.target.value)}})):null,o?m.a.createElement(m.a.Fragment,null,m.a.createElement("div",{className:"url"},m.a.createElement("p",null,"Webcam Manufacturer\xa0\xa0\xa0\xa0",m.a.createElement("a",{href:"https://ambientweather.com/wifi-weather-camera-wc-fmwac2k",target:"_blank"},"Learn more about Ambient Weather cameras")),m.a.createElement("div",{className:"radios"},Wo.map(function(e){return m.a.createElement(De,{key:e,selected:l===e,onClick:function(){return t.setState({manufacturer:e})},label:e})}))),m.a.createElement("div",{className:"url"},m.a.createElement("p",null,"Webcam Model"),m.a.createElement("input",{type:"text",className:"form-control",value:u,onChange:function(e){return t.setState({model:e.target.value})}}))):null,m.a.createElement("div",{className:"btns"},m.a.createElement("button",{onClick:this._next,disabled:!o||!l||!u||"url"===o&&!c,className:"btn btn-primary"},"Next"),m.a.createElement("a",{className:"btn",onClick:this._reset},"cancel")));return m.a.createElement("div",{className:N()("device-create-webcam",{open:i,video:Object(O.hasVideo)(p)},"tier-".concat(Ga(h,p.macAddress)))},this._top(),m.a.createElement("div",{className:"wrap"},m.a.createElement("div",{className:"left"},e),m.a.createElement("div",{className:"right"},this._right())))}}]),t}(d.PureComponent);Ho.displayName="CreateWebcam";var Bo=a(330),Yo=a.n(Bo),Go=a(321),zo=a.n(Go),Ko=(a(100),function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={imageFound:!1,onScreen:!1},n._fetchImage=(a=n)._fetchImage.bind(a),n._mounted=!0,n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillUnmount",value:function(){clearInterval(this._int),this._mounted=!1}},{key:"_time",value:function(){this._t=Object(pe.roundDownMins)(5,Date.now())}},{key:"_url",value:function(){var e=this.props.currentDevice,t=Object(w.path)(["webcam","url"],e)||Object(w.path)(["info","webcam"],e),a="K6NGQaZTI3d6JabLcSGX25Y41BuBQPkVcJmeNHibVNhJ4k";if(t)return/ambientweather\.net\/images/.test(t)?t+(Object(O.isIos)()?"?ios=".concat(a):""):/images\.ambientweather\.net/.test(t)?t:Object(O.getUrl)()+"/images/test?url=".concat(encodeURIComponent(t)+(Object(O.isIos)()?"&ios=".concat(a):""));var n=Object(w.path)(["webcam","username"],e);return n?"https://images.ambientweather.net/".concat(n,"/latest.jpg"):void 0}},{key:"_videoUrl",value:function(){return Object(O.hasVideo)(this.props.currentDevice)}},{key:"_setState",value:function(e){this._mounted&&this.setState(e)}},{key:"_fetchImage",value:function(){var e=this,t=this._url();if(t){this.state.onScreen;var a=this.props,n=a.onTimestamp,r=a.onSuccess,i=a.onFail,o=a.currentDevice;this.setState({findingImage:!0,timestamp:!1},function(){var a=new Image;a.addEventListener("load",function(){if(/images\.ambientweather/.test(t)){var i=e;Yo.a.getData(a,function(){var e=Yo.a.getTag(this,"DateTimeOriginal"),t=!1;e&&(t=Object(O.getDateTzForDevice)(moment,o,moment(e+"+00:00","YYYY:MM:DD hh:mm:ssZ"))),i._setState({timestamp:t}),n&&n(t)})}e._setState({imageFound:!0,findingImage:!1}),r&&r()}),a.addEventListener("error",function(t){e._setState({findingImage:!1,imageFound:!1,timestamp:!1}),i&&i()}),a.src=t})}}},{key:"_playVideo",value:function(){return this.props.playVideo&&this._videoUrl()}},{key:"componentDidMount",value:function(){var e=this;this._time(),this._fetchImage(),this._int=setInterval(function(){e._time(),e._fetchImage()},3e5)}},{key:"componentDidUpdate",value:function(e,t){(Object(O.pathsChanged)(this.props,e,[["currentDevice","macAddress"]])||Object(O.pathsChanged)(this.props,e,[["currentDevice","webcam","url"]])||Object(O.pathsChanged)(this.state,t,[["onScreen"]]))&&this._fetchImage()}},{key:"render",value:function(){var e,t=this.state,a=(t.foundVideo,t.timestamp),n=t.imageFound,r=t.findingImage,i=(t.onScreen,this.props),o=(i.playVideo,i.message),c=i.currentDevice,s=i.onPlay,l=this._url(),u=m.a.createElement("div",null,m.a.createElement("h5",null,o)),d={backgroundImage:"url(".concat(l,")")};if(this._playVideo()){d={};var p={image:this._url(),video:{video:this._videoUrl(),width:640,height:360},redirect:Object(O.getDeviceShareLink)(c)+"?show=webcam",title:"".concat(Object(O.getDeviceLabel)(c)," - 24 hour timelapse")},h=Object(O.ssisShareLink)("v",p);e=m.a.createElement(Fr,{className:"copy-link btn btn-primary",onClick:function(e){return e.stopPropagation()},text:h,linkTitle:"Live Feed URL"}),u=m.a.createElement("div",{className:"video-container",onClick:!1!==this.props.controls&&function(e){return e.stopPropagation()}},m.a.createElement(lt.a,Object.assign({className:"video",url:this._videoUrl(),light:this._url(),controls:!0,muted:!0,loop:!0,width:"100%",height:"100%",onPlay:function(){Object(O.trackEvent)("webcam","play",Object(O.getDeviceSlug)(c)),s&&s()}},Object(w.pick)(["playing","light","controls","playsinline","onReady","onStart","onPause","config","onDuration","onProgress","onBuffer","onBufferEnd","progressInterval"],this.props))))}else(n||r)&&(u=null);return m.a.createElement("div",{className:N()("device-webcam-image",{finding:r,video:this._videoUrl(),"play-video":this._playVideo()}),style:d},a?m.a.createElement("a",{className:"timestamp",onClick:this._fetchImage},a.fromNow()):null,u,m.a.createElement("a",{className:"video-link"}),e)}}]),t}(d.PureComponent));Ko.displayName="WebcamImage";var qo=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.playVideo,a=e.currentDevice,n=e.userActions,r=e.onTimestamp;return m.a.createElement("div",{className:"device-webcam-widget"},m.a.createElement("a",{onClick:function(e){e.preventDefault(),n.doModal({type:"webcam",data:a})}},m.a.createElement(Ko,{playVideo:t,onTimestamp:r,currentDevice:a})))}}]),t}(d.PureComponent);qo.displayName="WebcamWidget",qo.displayName="WebcamWidget",qo.displayName="WebcamWidget",qo.displayName="WebcamWidget",qo.displayName="WebcamWidget",qo.displayName="WebcamWidget",qo.displayName="WebcamWidget";var Vo=a(489),$o=(a(1e3),function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={tab:"stations",scrolling:!1,internalFocusDeviceId:!1,mobileFs:!1},n._webcamTab=(a=n)._webcamTab.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_ensureActiveItemVisible",value:function(){var e=this;if("social"!==this.state.tab){var t=this.refs.active;if(t){var a=Object(sr.findDOMNode)(t);this.setState({scrolling:!0},function(){a.scrollIntoView({behavior:"smooth"}),setTimeout(function(){e.setState({scrolling:!1})},500)})}}}},{key:"_checkTab",value:function(){var e=this.props,t=e.device,a=e.social,n=t.focusDevice,r=t.mapLayer,i=this.state,o=i.internalFocusDeviceId;i.firstClick;if(n&&n._id!==o&&""===r){var c="stations";Object(O.deviceIdsWithActivePosts)(a.mapVisiblePosts).includes(n._id)?c="social":Object(O.hasWebcam)(n)&&(c="webcams"),this.setState({tab:c})}}},{key:"componentDidMount",value:function(){this._checkTab()}},{key:"componentDidUpdate",value:function(e,t){var a=this.props,n=a.device,r=(a.deviceActions,n.focusDevice),i=n.mapLayer,o=n.sidebar,c=this.state,s=c.internalFocusDeviceId,l=c.tab,u=Object(O.pathsChanged)(this.props,e),d=Object(O.pathsChanged)(this.state,t);Object(O.pathsChanged)(this.state,t,["scrolling"])&&t.scrolling&&(console.log("hello"),Object(sr.findDOMNode)(this.refs.wrap).scrollTop=0);u([["device","sidebar"]])&&this.setState({mobileFs:!1}),u([["device","focusDevice"],["device","sidebar"]])&&o&&!this._useCarousel()&&(this._ensureActiveItemVisible(),this._checkTab(),r&&r._id!==s&&this.setState({internalFocusDeviceId:!1}),this._useCarousel()||(this.lastFocusDevice=e.device.focusDevice)),u(["device","mapLayer"])&&""!==i&&this.setState({tab:"stations"}),o&&(u([["device","sidebar"]])||d([["tab"]]))&&Object(O.trackEvent)("map","tab",l)}},{key:"_mobileFullScreen",value:function(e,t){var a=t||this.state,n=a.mobileFs;a.internalFocusDeviceId;return n}},{key:"_deviceCard",value:function(e){var t=this,a=this.props,n=(a.social,a.device),r=a.deviceActions,i=a.userActions,o=n.mapLayer,c=n.focusDevice,s=n.hoverDevice,l=this.state,u=l.tab,d=l.mobileFs,p="social"===u&&e.post,h="webcams"===u||this._useCarousel()&&!p,f=Object(O.getLayerParam)(o);return h?f="webcam":p&&(f="social"),m.a.createElement("div",{onMouseEnter:function(){return r.hoverDevice(e)},onMouseLeave:function(){return r.hoverDevice()},key:e.post?e.post._id:e._id,className:"card-wrap",onClick:function(a){"input"!==a.target.tagName.toLowerCase()&&"social"===f&&(t.setState({internalFocusDeviceId:e._id,mobileFs:!0},function(){return r.focusDevice(e)}),t._useCarousel()&&!d&&i.doModal(null))}},m.a.createElement(zo.a,{scrollDelay:500,ref:Object(w.path)(["_id"],c)===e._id?"active":null},function(a){var n=a.isVisible;return n&&("social"===u||t._useCarousel())&&Object(O.trackEvent)("views","social",e._id),m.a.createElement(jo,{className:N()({active:Object(w.path)(["_id"],c)===e._id,hovered:Object(w.path)(["_id"],s)===e._id}),post:e.post,currentDevice:e,layerParam:f,skipFetch:!n})}))}},{key:"_webcamTab",value:function(){this.setState({tab:"webcams"}),this.props.deviceActions.setThing("mapLayer","")}},{key:"_useCarousel",value:function(){return!Object(O.isGtBreakpoint)("phone-max")}},{key:"_devicesToShow",value:function(){var e=this.props,t=e.device,a=e.social,n=e.user,r=t.mapLayer,i=t.focusDevice,o=t.mapVisibleDevices,c=t.fetchedDevices,s=t.deviceCache,l=this.state,u=l.scrolling,d=l.tab,m=o,p=Object(w.always)(0);if(i&&Object(w.path)(["info","coords","coords"],i)&&!this._useCarousel()){var h=u&&this.lastFocusDevice?this.lastFocusDevice:i;p=function(e,t){var a=Object(w.path)(["info","coords","coords"]);return Object(O.latLonDistance)(a(h).lat,a(h).lon,a(e).lat,a(e).lon)-Object(O.latLonDistance)(a(h).lat,a(h).lon,a(t).lat,a(t).lon)}}var f=function(e){var t=Object(O.getLayerParam)(r);return e.lastData&&Object(O.isSomething)(e.lastData[t])},b=w.identity;if(Object(O.mapShowSocial)(r)&&"social"===d){var v=Object(O.postsSort)(Object(O.activePosts)(a.mapVisiblePosts));p=function(e,t){return function(e){var t="function"===typeof e?e:Object(w.always)(e);if(!Object(O.isLoggedIn)(n))return t;var a=Object(O.getUserSetting)("favs")(n),r=Object.keys(a||{});return a&&0!==r.length?function(t,a){return r.includes(t.macAddress)&&r.includes(a.macAddress)?e:r.includes(t.macAddress)?-1:r.includes(a.macAddress)?1:"function"===typeof e?e(t,a):e}:t}(Object(O.dateVal)(t.post.createdAt)-Object(O.dateVal)(e.post.createdAt))(e,t)};return m=v.map(function(e){var t=Object.assign({},function(e){return Object(w.find)(Object(w.propEq)("_id",e.deviceId),[].concat(Object(ct.a)(o),Object(ct.a)(c),Object(ct.a)(Object.values(s))))}(e));return t.post=e,t}).sort(p),Object(w.pipe)(Object(w.groupBy)(function(e){var t=Object(w.path)(["data","centerGeo"],e.post)||Object(O.centerPointForGeo)(e.post.geo),a=Object(O.roundDecimal)(13,t.coordinates[0]),n=Object(O.roundDecimal)(13,t.coordinates[1]);return"".concat(e._id,"-").concat(a,"-").concat(n)}),w.toPairs,Object(w.map)(function(e){return e[1][0]}))(m)}return"webcams"===d&&(f=O.hasWebcam),m.filter(f).map(b).sort(p)}},{key:"_addAdsToCards",value:function(e){var t=this.state.tab;if(!Array.isArray(e))return e;if("webcams"===t)return e;var a=Object(w.pipe)(Object(w.splitEvery)(3),function(e){return Object(w.concat)(Object(w.concat)(e[0]||[],[m.a.createElement(Zr,{tags:[t],query:{pos:1},key:"".concat(t,"-1")})]),e.slice(1)||[])},w.flatten)(e),n=a.slice(0,14);return Object(w.pipe)(Object(w.splitEvery)(10),function(e){return e.map(function(e,a){return Object(w.prepend)(m.a.createElement(Zr,{tags:[t],query:{pos:2+a},key:"".concat(t,"-").concat(2+a)}),e)})},w.flatten,Object(w.concat)(n))(a.slice(14))}},{key:"_cards",value:function(){var e=this.state.tab,t=this.props,a=t.device,n=(t.social,a.sidebar),r=(a.mapVisibleDevices,a.mapZoom);if(!n)return" ";var i=this._devicesToShow(),o=null;return"webcams"===e&&i.length<1&&r<7?o=m.a.createElement("div",{className:"alt-show"},"Try zooming in to see more webcams..."):"social"===e&&i.length<1&&(o=m.a.createElement("div",{className:"alt-show"},"Try zooming out to see more social posts...")),o||i.map(this._deviceCard.bind(this))}},{key:"render",value:function(){var e=this,t=this.props,a=t.userActions,n=t.deviceActions,r=t.device,i=t.user,o=(r.devices,r.mapZoom,r.mapLayer),c=(r.hoverDevice,r.focusDevice),s=r.sidebar,l=this.state,u=l.tab,d=(l.scrolling,l.mobileFs),p=this._devicesToShow();return m.a.createElement("div",{className:N()("device-outside-bar",{open:s,expanded:s,"not-fs":!this._mobileFullScreen(),fs:this._mobileFullScreen()},u)},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"tabs inverse"},m.a.createElement("a",{onClick:function(){return e.setState({tab:"stations"})},className:N()({active:"stations"===u})},"Stations"),m.a.createElement("a",{onClick:this._webcamTab,className:N()({active:"webcams"===u})},"Webcams"),Object(O.mapShowSocial)(o)?m.a.createElement("a",{onClick:function(){return e.setState({tab:"social"})},className:N()({active:"social"===u},"beta")},"Social"):null)),function(t){if(!e._useCarousel()){var o,s=Object(O.socialDevices)(i,r);return"social"===u&&s.length>0&&(o=m.a.createElement("div",{key:"create-post",className:"create-post-wrap"},m.a.createElement("h4",null,"What's it like out there?"),m.a.createElement("a",{onClick:function(e){e.preventDefault(),a.doModal({type:"create-post",data:{currentDevice:s[0]}})},className:"btn create-post btn-primary btn-long"},"Create a post"))),[m.a.createElement("div",{ref:"wrap",className:"wrap",key:"wrap"},e._addAdsToCards(t)),o]}if(!t||" "===t)return null;return m.a.createElement(Vo.Carousel,{showThumbs:!1,showArrows:!1,showStatus:!1,showIndicators:!1,autoPlay:!0,interval:3e6,centerMode:!d,selectedItem:c?Object(w.findIndex)(Object(w.propEq)("_id",c._id),p):0,onChange:function(t,a){t>p.length-1&&(t=0),e.setState({internalFocusDeviceId:p[t]._id},function(){n.hoverDevice(p[t]),n.focusDevice(p[t])})}},t)}(this._cards()))}}]),t}(d.PureComponent)),Qo=ae($o);$o.displayName="OutsideBar";var Xo=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t,a,n=this.props,r=n.snapshot,i=n.type,o=n.currentDevice,c=(n.forecast,Object(w.pick)(["currentDevice","forecast","user","device"],this.props)),s=Object(w.path)(["lastData","dateutc"],o);return e=m.a.createElement(pi,Object.assign({slim:!0},c)),"rain"===i?e=m.a.createElement(fi,c):"wind"===i?e=m.a.createElement(hi,c):"humidity"===i?e=m.a.createElement(Pi,c):"co2"===i?e=m.a.createElement(tc,c):"aqin"===i?e=m.a.createElement(ec,Object.assign({},c,{type:"aqin"})):"air"===i?e=m.a.createElement(ec,Object.assign({},c,{type:"air"})):"airin"===i?e=m.a.createElement(ec,Object.assign({type:"pm25_in"},c,{type:"airin"})):"uv"===i?e=m.a.createElement(yi,c):"pressure"===i?e=m.a.createElement(bi,c):"solar"===i?e=m.a.createElement(Ei,c):/temp\d0?f/.test(i)?e=m.a.createElement(gi,Object.assign({},c,{sensor:i.match(/temp(\d0?)f/)[1]})):"indoor"===i?e=m.a.createElement(gi,c):"lightning"===i?e=m.a.createElement(xo,c):/forecast/.test(i)?e=m.a.createElement(Er,Object.assign({now:s},c)):"map"===i?e=m.a.createElement(No,c):/soiltemp/.test(i)?e=m.a.createElement(Vi,Object.assign({},c,{sensor:i.match(/\d0?/)[0]})):"sunMoon"===i&&(e=m.a.createElement(Oo,c)),r&&(s&&(t=m.a.createElement("div",{className:"snapshot"},"captured ".concat(Object(O.getDateTzForDevice)(moment,o,s).format("MMM D, YYYY h:mma")))),a=m.a.createElement("div",{className:"widget-title"},m.a.createElement("span",null,Object(O.getWidgetTitle)(o,i)))),m.a.createElement("div",{className:N()("device-every-widget",i)},t,e,a)}}]),t}(d.PureComponent);Xo.displayName="EveryWidget",Xo.displayName="EveryWidget",Xo.displayName="EveryWidget",Xo.displayName="EveryWidget",Xo.displayName="EveryWidget",Xo.displayName="EveryWidget",Xo.displayName="EveryWidget";var Jo=a(331),Zo=a.n(Jo),ec=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e,t,a=this.props,n=a.currentDevice,r=a.type,o=void 0===r?"aqin":r,c=[{cutoff:[0,50],label:"Good",degrees:[0,28]},{cutoff:[51,100],label:"Moderate",degrees:[29,57]},{cutoff:[101,150],label:"Unhealthy for Sensitive Groups",degrees:[58,86]},{cutoff:[151,200],label:"Unhealthy",degrees:[87,114]},{cutoff:[201,300],label:"Very Unhealthy",degrees:[115,143]},{cutoff:[301,500],label:"Hazardous",degrees:[144,173]}],s=function(e){var t=e>500||isNaN(e)?500:e,a=c.find(function(e){return t<=e.cutoff[1]}),n=a.degrees[0]+(t-a.cutoff[0])*(a.degrees[1]-a.degrees[0])/(a.cutoff[1]-a.cutoff[0]),r={transform:"rotate(".concat(n,"deg)")};return Object(i.a)({},a,{arrowStyle:r,v:t})},l="",u="",d=m.a.createElement("span",null,"\xb5g/m",m.a.createElement("sup",null,"3")),p=[o],h={},f=n.lastData.hl;if("aqin"===o){var b=n.lastData.aqi_pm10_in_aqin||Zo.a.pm10(n.lastData.pm10_in_aqin),v=n.lastData.aqi_pm25_aqin>b?"pm25":"pm10";l=n.lastData.aqi_pm25_aqin>b?n.lastData.aqi_pm25_aqin:b,p.push(v),h.pm10=s(b),h.pm25=s(n.lastData.aqi_pm25_aqin),u=h[v].label,t=m.a.createElement("div",{style:h.pm10.arrowStyle,className:"arrow alt"}),d="AQI",e=m.a.createElement("div",{className:"extended"},m.a.createElement("div",{className:"pm25"},m.a.createElement("div",{className:"label"},"PM2.5 indoor"),m.a.createElement("table",null,m.a.createElement("tr",null,m.a.createElement("td",null,"Current"),m.a.createElement("td",null,m.a.createElement(le,{type:"pm25_in_aqin",row:n.lastData})),m.a.createElement("td",null,m.a.createElement("span",null,"\xb5g/m",m.a.createElement("sup",null,"3")))),m.a.createElement("tr",null,m.a.createElement("td",null,"24h avg"),m.a.createElement("td",null,m.a.createElement(le,{type:"pm25_in_24h_aqin",row:n.lastData})),m.a.createElement("td",null,m.a.createElement("span",null,"\xb5g/m",m.a.createElement("sup",null,"3")))),f&&m.a.createElement("tr",null,m.a.createElement("td",null,"Peak"),m.a.createElement("td",null,m.a.createElement(le,{type:"pm25_in_aqin",value:Object(w.path)(["lastData","hl","pm25_in_aqin","h"],n)})),m.a.createElement("td",null,m.a.createElement("span",null,"\xb5g/m",m.a.createElement("sup",null,"3")))),m.a.createElement("tr",null,m.a.createElement("td",null,"AQI"),m.a.createElement("td",null,m.a.createElement(le,{type:"aqi_pm25_aqin",row:n.lastData}))))),m.a.createElement("div",{className:"pm10"},m.a.createElement("div",{className:"label"},"PM10 indoor"),m.a.createElement("table",null,m.a.createElement("tr",null,m.a.createElement("td",null,"Current"),m.a.createElement("td",null,m.a.createElement(le,{type:"pm10_in_aqin",row:n.lastData})),m.a.createElement("td",null,m.a.createElement("span",null,"\xb5g/m",m.a.createElement("sup",null,"3")))),m.a.createElement("tr",null,m.a.createElement("td",null,"24h avg"),m.a.createElement("td",null,m.a.createElement(le,{type:"pm10_in_24h_aqin",row:n.lastData})),m.a.createElement("td",null,m.a.createElement("span",null,"\xb5g/m",m.a.createElement("sup",null,"3")))),f&&m.a.createElement("tr",null,m.a.createElement("td",null,"Peak"),m.a.createElement("td",null,m.a.createElement(le,{type:"pm10_in_aqin",value:Object(w.path)(["lastData","hl","pm10_in_aqin","h"],n)})),m.a.createElement("td",null,m.a.createElement("span",null,"\xb5g/m",m.a.createElement("sup",null,"3")))),m.a.createElement("tr",null,m.a.createElement("td",null,"AQI"),m.a.createElement("td",null,m.a.createElement(le,{type:"aqi_pm10_aqin",value:b}))))))}else{var g="air"===o?"pm25":"pm25_in";l=n.lastData[g],h.pm25=s(Zo.a.pm25(l)),u=h.pm25.label;var y=Object(w.path)(["lastData","hl",g,"h"],n);e=m.a.createElement("div",{className:"corners"},m.a.createElement("div",null,"Avg",m.a.createElement(le,{type:"".concat(g,"_24h"),row:n.lastData})),y&&m.a.createElement("div",null,"Peak",m.a.createElement(le,{type:g,value:y})))}return m.a.createElement("div",{className:N()("device-air-2-widget",p)},m.a.createElement("div",{className:"gauge-wrap"},m.a.createElement("div",{className:"gauge"}),m.a.createElement("div",{style:h.pm25.arrowStyle,className:"arrow main"}),t,m.a.createElement("div",{className:"values"},m.a.createElement("div",{className:"value main"},l),m.a.createElement("div",{className:"units"},d))),m.a.createElement("div",{className:"bottom"},m.a.createElement("div",{className:"label"},u),e))}}]),t}(d.PureComponent);ec.displayName="Air2Widget";var tc=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.type,n=void 0===a?"co2_in_aqin":a,r=[{cutoff:[0,600],label:"Healthy",distance:[0,18.6]},{cutoff:[601,1e3],label:"Moderate",distance:[18.6,31]},{cutoff:[1001,1500],label:"Unhealthy for Sensitive Groups",distance:[32,47.5]},{cutoff:[1501,2e3],label:"Unhealthy",distance:[47.5,64]},{cutoff:[2001,2500],label:"Very Unhealthy",distance:[64,80]},{cutoff:[2501,5e3],label:"Hazardous",distance:[80,96]}],o=function(e){var t=e>5e3?5e3:e,a=r.find(function(e){return t<=e.cutoff[1]}),n=a.distance[0]+(t-a.cutoff[0])*(a.distance[1]-a.distance[0])/(a.cutoff[1]-a.cutoff[0]);return Object(i.a)({},a,{distance:n,v:t})}(t.lastData[n]),c=[m.a.createElement("div",{key:"temp"},"Temp",m.a.createElement(le,{type:"pm_in_temp_aqin",row:t.lastData,suff:"\xb0"})),m.a.createElement("div",{key:"humidity"},"Humidity",m.a.createElement(le,{type:"pm_in_humidity_aqin",row:t.lastData}))];return"co2_in"===n&&(c=m.a.createElement("div",null,"24h",m.a.createElement(le,{type:"co2_in_24h",row:t.lastData}))),m.a.createElement("div",{className:"device-co-2-widget"},m.a.createElement("div",{className:"value"},"CO2",m.a.createElement(le,{type:n,row:t.lastData})),m.a.createElement("div",{className:"gauge"},m.a.createElement("div",{className:"dot",style:{marginLeft:"".concat(o.distance,"%")}})),m.a.createElement("div",{className:N()("label",o.label.toLowerCase().replace(/ /g,"-"))},o.label),m.a.createElement("div",{className:"bottom"},c))}}]),t}(d.PureComponent);tc.displayName="Co2Widget",tc.displayName="Co2Widget",tc.displayName="Co2Widget",tc.displayName="Co2Widget",tc.displayName="Co2Widget",tc.displayName="Co2Widget",tc.displayName="Co2Widget";var ac=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=(e.slim,e.fetchDeviceData,e.device,e.currentDevice),a=(e.user,t.lastData),n=a,r=m.a.createElement("div",{className:"hidden"}),i=Object(O.isSomething)(n.wbgtflagzone)?n.wbgtflagzone&&n.wbgtflagzone[0].toUpperCase()+n.wbgtflagzone.slice(1).toLowerCase():"";if(n&&Object(O.isSomething)(n.wbgtf)){var o=[],c=[];Object(O.isSomething)(n.wbgtf)&&(o.push(m.a.createElement(le,{type:"wbgtf",row:a})),Object(O.widgetExpanded)("wbgt",t)&&Object(O.isSomething)(n.blackglobef)&&c.push(m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Black Globe Temp"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{type:"blackglobef",row:a})))),Object(O.widgetExpanded)("wbgt",t)&&Object(O.isSomething)(n.nawbf)&&c.push(m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"NWB Temp"),m.a.createElement("div",{className:"val"},m.a.createElement(le,{type:"nawbf",row:a}))))),r=m.a.createElement("div",{className:"device-wbgt-widget"},m.a.createElement("div",{className:"body"},m.a.createElement("div",{className:"top"},o),m.a.createElement("div",{className:"bottom"},c),""!==i&&m.a.createElement("div",{className:"flag-zone"},"Zone: ",i)))}return r}}]),t}(d.PureComponent);ac.displayName="WbgtWidget";var nc=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.currentDevice.lastData,t=e,a=m.a.createElement("div",{className:"heatindex-widget hidden"});return Object(O.dataHas)(t)("heatindexf")&&(a=m.a.createElement("div",{className:"big-number heatindex-widget"},m.a.createElement(le,{type:"heatindexf",row:e}))),a}}]),t}(d.PureComponent);nc.displayName="HeatIndexWidget";var rc=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.currentDevice.lastData,t=e,a=m.a.createElement("div",{className:"dischargerate-widget hidden"});return Object(O.dataHas)(t)("dischargeft3s")&&(a=m.a.createElement("div",{className:"med-number dischargerate-widget"},m.a.createElement(le,{type:"dischargeft3s",row:e}))),a}}]),t}(d.PureComponent);rc.displayName="DischargeRateWidget";var ic=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.currentDevice.lastData,t=e,a=m.a.createElement("div",{className:"gaugeheight-widget hidden"});return Object(O.dataHas)(t)("gaugeheightft")&&(a=m.a.createElement("div",{className:"med-number gaugeheight-widget"},m.a.createElement(le,{type:"gaugeheightft",row:e}))),a}}]),t}(d.PureComponent);ic.displayName="GaugeHeightWidget";var oc=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.currentDevice.lastData,t=e,a=m.a.createElement("div",{className:"waterph-widget hidden"});return Object(O.dataHas)(t)("watermeasph")&&(a=m.a.createElement("div",{className:"med-number waterph-widget"},m.a.createElement(le,{type:"watermeasph",row:e}))),a}}]),t}(d.PureComponent);oc.displayName="WaterPhWidget";var cc=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props.currentDevice.lastData,t=e,a=m.a.createElement("div",{className:"waternitrates-widget hidden"});return Object(O.dataHas)(t)("waternitratesmgl")&&(a=m.a.createElement("div",{className:"med-number waternitrates-widget"},m.a.createElement(le,{type:"waternitratesmgl",row:e}))),a}}]),t}(d.PureComponent);cc.displayName="WaterNitratesWidget";var sc=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=e.sensor,n=t.lastData,r=Object(O.dataHas)(n),i="soiltemp".concat(a),o="soiltens".concat(a),c=[],s=!0;return r([i])&&c.push(m.a.createElement("div",{key:1},m.a.createElement("div",{className:"label"},"Temperature"),m.a.createElement(le,{type:i,row:n}))),r([o])&&(s=!1,c.push(m.a.createElement("div",{key:2},m.a.createElement("div",{className:"label"},"Tension"),m.a.createElement(le,{type:o,row:n})))),m.a.createElement("div",{className:N()("device-soil-tension-widget",{single:s})},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"wrap"},c)))}}]),t}(d.PureComponent);sc.displayName="SoilTensionWidget",sc.displayName="SoilTensionWidget",sc.displayName="SoilTensionWidget",sc.displayName="SoilTensionWidget",sc.displayName="SoilTensionWidget",sc.displayName="SoilTensionWidget",sc.displayName="SoilTensionWidget";var lc=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={now:!1},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"render",value:function(){var e=this.props,t=e.currentDevice,a=(e.device,t.lastData),n=m.a.createElement("div",{className:"device-leaf-bin-widget hidden"});if(Object(O.dataHas)(a)(["leafwet1x"])){var r,i="";a.hl&&a.hl.leafwetsum&&(r=a.hl.leafwetsum.s),Object(O.isSomething)(r)&&(i=m.a.createElement("div",{className:"from zero"},m.a.createElement("div",{className:"label"},"Total Wet Minutes Today"),m.a.createElement(le,{type:"leafwet1x",value:r})));var o="Dry";a.leafwet1x&&a.leafwet1x>0&&(o="Wet"),n=m.a.createElement("div",{className:"device-leaf-bin-widget center-aligned"},m.a.createElement("div",{className:"label"},"Current State"),m.a.createElement("div",{className:"leafwet"},m.a.createElement("div",{className:"fdp-val"},o)),i)}return n}}]),t}(d.PureComponent);function uc(e){var t=e.currentDevice.lastData,a=[];return Object(O.dataHas)(t)(["gdd"])&&a.push(m.a.createElement("div",{key:"gdd"},m.a.createElement("div",{className:"growdays"},m.a.createElement(le,{type:"gdd",row:t})))),m.a.createElement("div",{className:"device-grow-days-widget"},a)}function dc(e){var t=e.currentDevice.lastData,a=Object(O.dataHas)(t),n=!0,r=[];return a(["etos"])&&r.push(m.a.createElement("div",{key:"etos"},m.a.createElement("div",{className:"label"},"ETos (Short crops)"),m.a.createElement(le,{type:"etos",row:t}))),a(["etrs"])&&(n=!1,r.push(m.a.createElement("div",{key:"etrs"},m.a.createElement("br",null),m.a.createElement("div",{className:"label"},"ETrs (Tall crops)"),m.a.createElement(le,{type:"etrs",row:t})))),m.a.createElement("div",{className:N()("device-evapo-trans-widget",{single:n})},m.a.createElement("div",{className:"top"},m.a.createElement("div",{className:"wrap"},r)))}lc.displayName="LeafBinWidget",lc.displayName="LeafBinWidget",lc.displayName="LeafBinWidget",lc.displayName="LeafBinWidget",lc.displayName="LeafBinWidget",lc.displayName="LeafBinWidget",lc.displayName="LeafBinWidget",uc.defaultProps={},uc.displayName="GrowDaysWidget",uc.displayName="GrowDaysWidget",uc.displayName="GrowDaysWidget",uc.displayName="GrowDaysWidget",uc.displayName="GrowDaysWidget",uc.displayName="GrowDaysWidget",uc.displayName="GrowDaysWidget",dc.defaultProps={},dc.displayName="EvapoTransWidget",dc.displayName="EvapoTransWidget",dc.displayName="EvapoTransWidget",dc.displayName="EvapoTransWidget",dc.displayName="EvapoTransWidget",dc.displayName="EvapoTransWidget",dc.displayName="EvapoTransWidget";var mc=Object(w.path)(["info","coords","elevation"]);function pc(e){var t=e.currentDevice,a=e.actions,n=e.user,r=Object(w.path)(["info","coords"],t),i=Object(d.useState)(null),o=Object(Ye.a)(i,2),c=o[0],s=o[1],l=Object(d.useRef)([]),u=Object(d.useRef)(null);if(Object(d.useEffect)(function(){if(r&&Object(O.coordsAreDifferent)(u.current,r)){u.current=r;var e={$publicNear:{coords:Object(O.makeSureObjHasGeo)(r).geo.coordinates},$limit:15,skipCache:!0,rank:2};a.fetchDevice(e).then(function(e){l.current=e.data.filter(function(e){return/noaa/.test(e.macAddress)&&Object(w.path)(["lastData","baromrelin"],e)}),s(l.current[0])})}},[r,u,a]),Object(d.useEffect)(function(){c&&console.log(c)},[c]),!r)return null;var p=m.a.createElement(fe,null);if(c){var h=1===Object(O.getUserUnitI)("metric",n)?Object(O.latLonDistance)(r.coords.lat,r.coords.lon,c.info.coords.coords.lat,c.info.coords.coords.lon,"K").toFixed(1)+" km":Object(O.latLonDistance)(r.coords.lat,r.coords.lon,c.info.coords.coords.lat,c.info.coords.coords.lon).toFixed(1)+" mi",f=null;mc(c)&&mc(t)&&(f=m.a.createElement(m.a.Fragment,null," and a difference in elevation of ",Math.floor(Math.abs(mc(c)-mc(t)*O.METERS_TO_FEET))," feet")),p=m.a.createElement("p",null,'We found an official station "',Object(pe.getDeviceLabel)(c),'" ',h," away",f,". You can use its relative pressure: ",m.a.createElement(le,{row:c.lastData,type:"baromrelin",skipConvert:!0})," to configure yours. \xa0\xa0",m.a.createElement("a",{onClick:function(){var e=l.current.indexOf(c)+1;e===l.current.length&&(e=0),s(l.current[e])}},"Try another"))}return m.a.createElement("div",{className:"device-barometer-info item"},m.a.createElement("label",null,"Barometer Calibration ",m.a.createElement(Te,{link:"https://ambientweather.com/faqs/question/view/id/1593/"})),p)}pc.defaultProps={};var hc=g(ce(pc));function fc(e){var t=e.currentDevice,a=Object(d.useState)("sunrise"),n=Object(Ye.a)(a,2),r=n[0];n[1],Object(P.g)();if(!t)return null;var i=Object(O.getWebcamArchives)(t);return m.a.createElement("div",{className:"device-webcam-archive"},i.map(function(e){var a=e.fileName,n=e.url,i=e.date;return m.a.createElement("div",{className:"webcam-thumb",key:a},m.a.createElement(E.a,{to:"/dashboard/".concat(Object(O.getDeviceSlug)(t),"/cam-charts/").concat(i.format("YYYYMMDD"))},m.a.createElement("div",{className:"thumb",style:{backgroundImage:"url(".concat(n.replace(".mp4","-".concat(r,".jpg")),")")}})),m.a.createElement("header",null,m.a.createElement("span",null,i.format("MMM D, YYYY")),m.a.createElement(E.a,{className:"play",to:"/dashboard/".concat(Object(O.getDeviceSlug)(t),"/cam-library/").concat(i.format("YYYYMMDD"))},"play")))}))}function bc(e){var t=e.currentDevice;return m.a.createElement("div",{className:"device-crosswind-widget"},m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Crosswind"),m.a.createElement(le,{row:Object(w.path)(["lastData"],t),type:"crosswindmph"})),m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Headwind"),m.a.createElement(le,{row:Object(w.path)(["lastData"],t),type:"headwindmph"})))}function vc(e){var t=e.currentDevice.lastData;return m.a.createElement("div",{className:"device-air-density-widget"},m.a.createElement(le,{row:t,type:"airdensitylbft3"}),m.a.createElement("div",null,m.a.createElement("div",{className:"label"},"Relative Air Density"),m.a.createElement(le,{row:t,type:"relativeairdensity"})))}pc.displayName="BarometerInfo",fc.defaultProps={},fc.displayName="WebcamArchive",fc.displayName="WebcamArchive",fc.displayName="WebcamArchive",fc.displayName="WebcamArchive",fc.displayName="WebcamArchive",fc.displayName="WebcamArchive",fc.displayName="WebcamArchive",bc.defaultProps={},bc.displayName="CrosswindWidget",vc.defaultProps={},vc.displayName="AirDensityWidget";a(1002),a(1004);a(1006);var gc=g(function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={open:!1,breakpoint:Object(O.getCurrentBreakpoint)()},n._resize=(a=n)._resize.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){window.addEventListener("resize",this._resize,{passive:!0}),Object(ut.c)(this.props.location),this._resize(),this.props.actions.fetchUser()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this._resize)}},{key:"componentDidUpdate",value:function(e){Object(O.pathsChanged)(e,this.props,[["common","online"]])&&this.props.online&&Object(O.reloadApp)()}},{key:"_resize",value:function(){this.setState({breakpoint:Object(O.getCurrentBreakpoint)(),mobileAddressBarShowing:window.outerHeight-window.innerHeight>80})}},{key:"render",value:function(){var e=this,t=this.props,a=t.common,n=t.actions,r=t.device,i=t.user,o=t.location,c=r.sidebar,s=r.forecastOpen,l=this.state,u=l.open,d=l.breakpoint,p=l.mobileAddressBarShowing,h=new Date,f=o.pathname.split("/").slice(1,3).join("-"),b=f.split("-").slice(0,1)[0],v=(""===b?"home":b)+"-page",g="home-page"===v;if(!a.online)return m.a.createElement("div",{className:"app offline"},m.a.createElement("p",null,"offline"),m.a.createElement("div",{className:"icon"}));var y=m.a.createElement("div",{className:N()("app v4",f,v,Object(w.path)(["modal","type"],i),"w-"+d,Object(O.isLoggedIn)(i)&&!Object(O.isOauth)(o)?"dashboard":"loggedout",Object(O.getTheme)(i),a.appClass,{open:u,sidebar:!!c,"forecast-open":s,"sidebar-fs":"fs"===c,"mobile-address":p,embed:Object(O.isEmbed)(o),ios:Object(O.isCordova)()&&"iOS"===window.device.platform,"ios-c-or-b":Object(ut.F)(),cordova:Object(O.isCordova)(),"sitewide-modal":!!i.modal,v3:Object(O.showV3)(i)},Object(Ve.a)())},m.a.createElement(T.a,null),m.a.createElement("a",{tabIndex:"-1",onClick:function(){return e.setState({open:!e.state.open})},className:"close-menu"}),m.a.createElement(Ie,null),m.a.createElement("div",{className:"mobile-header"},m.a.createElement("a",{tabIndex:"-1",onClick:function(){return e.setState({open:!e.state.open})},className:"burger"}),m.a.createElement(E.a,{className:"navbar-brand",to:"/dashboard"},"Home")),m.a.createElement(_,null),Object(O.isLoggedIn)(i)&&m.a.createElement(At,null),m.a.createElement("div",{className:"clearfix loggedout"},m.a.createElement(E.a,{className:"loggedout navbar-brand",to:g&&!Object(O.isLoggedIn)(i)?"/welcome":"/dashboard"},"Home")),m.a.createElement(ke,{onChange:function(){return e.setState({open:!1})}}),m.a.createElement("div",{className:"page-container"},this.props.children),m.a.createElement(Fn,null),m.a.createElement(Gr,{device:r,userActions:n,user:i}),m.a.createElement("footer",{id:"footer_main"},m.a.createElement("div",{className:"dashboard"},"\xa9 Copyright ",Object(Ve.c)(),", ",h.getFullYear(),". All rights reserved. \xa0 \xa0",m.a.createElement("span",{className:"br"}),m.a.createElement("a",{href:Object(Ve.e)().helpUrl,rel:"noopener",target:"_blank"},"Need Help?"),"km"!=Object(Ve.e)().token&&m.a.createElement(m.a.Fragment,null,m.a.createElement("span",{className:"sep"},"|"),"Join our \xa0",m.a.createElement("a",{className:"",href:"https://ambientweather.com/faqs/question/view/id/1779/",rel:"noopener",target:"_blank"},"Community")),"account"===f&&m.a.createElement("span",null," | v",window._ambientVersion)),m.a.createElement("div",{className:"powered"},"Powered by ",m.a.createElement("a",{target:"_blank",rel:"noopener",href:"https://ambientweather.net"},"Ambient Weather"))),m.a.createElement(Ir,null));return Object(O.isIos)()?m.a.createElement(ni,{location:o,user:i,userActions:n},y):y}}]),t}(d.Component)),yc={path:"common",name:"Common",childRoutes:[{path:"menu",component:Bn},{path:"ua/:id",component:Qn}]},Ec={path:"",childRoutes:[{path:"add-device",component:Qe},{path:"welcome",component:Qe},{path:"dashboard",component:Pt},{path:"dashboard/:key",component:Pt},{path:"dashboard/:key/:tab",component:Pt},{path:"dashboard/:key/:tab/:id",component:Pt},{path:"signin",component:Ut},{path:"confirm",component:Ht},{path:"settings",component:Yt},{path:"account",component:Xa},{path:"admin",component:ln},{path:"password-reset",component:dn},{path:"admin/social",component:Sn},{path:"admin/alexa",component:hn},{path:"home-page",component:bn,isIndex:!0},{path:"index.html",component:bn},{path:"where-to",component:yn},{path:"baro",component:Mn},{path:"support",component:An}]},Oc={path:"devices",childRoutes:[{path:"my-devices",component:Ii,isIndex:!0},{path:"public/:key",component:Yi}]},wc=Object(w.flip)(w.difference),kc=function(e,t){var a=e.param.localeCompare(t.param);return 0!==a?a:e.threshold!==t.threshold?e.threshold<t.threshold?-1:1:e._id.localeCompare(t._id)},jc=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={devicesFetching:[],devicesFetched:[]},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"_checkAlertDevices",value:function(){var e=this,t=this.state,a=t.devicesFetched,n=t.devicesFetching,r=this.props,i=r.deviceActions,o=r.alert,c=r.device,s=o.alerts,l=c.devices;if(s&&l){var u=Object(w.pipe)(Object(w.pluck)("_id"),Object(w.difference)(this._alertDeviceIds()),wc(n),wc(Object(w.pluck)("_id",a)))(l);if(u[0]){var d=u[0];this.setState({devicesFetching:Object(w.append)(d,n)},function(){i.getDevice(d).then(function(t){t||(t={_id:d,info:{name:"{device missing}"}}),e.setState({devicesFetched:Object(w.append)(t,e.state.devicesFetched),devicesFetching:e.state.devicesFetching.filter(function(e){return e!==d})})})})}}}},{key:"_alertDeviceIds",value:function(){var e=this.props.alert.alerts;return e?Object(w.pipe)(Object(w.pluck)("deviceId"),w.uniq,Object(w.filter)(Boolean))(e):[]}},{key:"_getDevice",value:function(e){var t=this.state.devicesFetched,a=this.props.device.devices;return Object(w.find)(Object(w.propEq)("_id",e),Object(w.concat)(a||[],t))}},{key:"componentDidMount",value:function(){var e=this.props,t=e.user,a=e.alert,n=e.alertActions;Object(O.isLoggedIn)(t)&&!a.alerts&&n.fetchAlerts({userId:t.info._id}),this._checkAlertDevices()}},{key:"componentDidUpdate",value:function(){this._checkAlertDevices()}},{key:"_alert",value:function(e){var t=this.props.alertActions,a=this._getDevice(e.deviceId),n=m.a.createElement("a",{tabIndex:"-1",onClick:function(){window.confirm("Are you sure?")&&t.removeAlert(e)}},m.a.createElement("i",{className:"glyphicon glyphicon-trash"}));e.ifttt&&(n=m.a.createElement("a",{href:"https://ifttt.com/my_applets",rel:"noopener noreferrer",target:"_blank",title:"This alert was created on IFTTT. You can modify it there",className:"ifttt"}));var r=""+Object(O.getLabelForDevice)(e.param,a);return"notReporting"===e.param||/^leak/.test(e.param)?/^leak/.test(e.param)&&(r=m.a.createElement("span",null,r,1===e.threshold?" Leak Detected":" Leak Sensor Offline"),n=m.a.createElement("i",{className:"leak"})):r=m.a.createElement("span",null,Object(O.getLabelForDevice)(e.param,a)+" "+Object(O.getConditionLabel)(e.condition)+" ",m.a.createElement(le,{type:e.param,value:e.threshold})),m.a.createElement("div",{className:"line",key:e._id},n,r)}},{key:"_alertGroup",value:function(e){var t=this.props.alert.alerts,a=void 0===t?[]:t;return m.a.createElement("div",{key:e._id,className:"alert-group"},m.a.createElement("h3",null,Object(O.getDeviceLabel)(e)),a.filter(Object(w.propEq)("deviceId",e._id)).sort(kc).map(this._alert.bind(this)))}},{key:"render",value:function(){var e=this.props,t=e.device,a=e.alert,n=(e.alertActions,a.fetchAlertsPending),r=(t.devices,this._alertDeviceIds().map(this._getDevice.bind(this)).filter(w.identity).map(this._alertGroup.bind(this)));return m.a.createElement("div",{className:"list alert-alert-list"},n?m.a.createElement(fe,null):r)}}]),t}(d.PureComponent),Nc=ae(jc);jc.displayName="AlertList",jc.displayName="AlertList",jc.displayName="AlertList",jc.displayName="AlertList",jc.displayName="AlertList",jc.displayName="AlertList",jc.displayName="AlertList";var Dc=O.ALERT_CONDITIONS,Sc=function(e){function t(e){var a,n;return Object(o.a)(this,t),(n=Object(s.a)(this,Object(l.a)(t).call(this,e))).state={dirtyThreshold:""},n.createAlert=(a=n).createAlert.bind(a),n}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentWillUpdate",value:function(e,t){var a=this.props,n=a.alertActions,r=(a.deviceActions,e.device),i=e.user,o=e.alert,c=(r.devices,r.deviceCache,t.deviceId,t.param),s=t.dirtyThreshold,l=t.unit;Object(O.isLoggedIn)(i)&&!o.alerts&&n.fetchAlerts({userId:i.info._id});var u=Object(O.getMasterUnitParam)(c),d={units:!!u&&oe.ambient.DATA_SPEC[u].units,threshold:s,unit:l};if(!d.units||l&&Object(w.contains)(l,d.units)||(d.unit=d.units[0]),d.unit&&d.units&&s){var m=Object(w.indexOf)(d.unit,d.units);d.threshold=Object(O.convertUnitInverse)(u,m,parseFloat(s))}this.setState(d)}},{key:"componentDidUpdate",value:function(){var e=this.props,t=e.device,a=e.deviceActions,n=this._theDevice();n&&n._id&&Object(O.shouldGetDevice)(t,n._id,60)&&a.getDevice(n._id)}},{key:"reset",value:function(){this.setState({param:!1,condition:!1,dirtyThreshold:""})}},{key:"createAlert",value:function(){var e=this.props.alertActions,t=Object(w.clone)(this.state);t.deviceId=this._theDevice()._id,e.createAlert(t),this.reset()}},{key:"_theDevice",value:function(){var e=this.state,t=(e.deviceId,e.theDevice,this.props.device);return Object(O.getTheDevice)(t)}},{key:"render",value:function(){var e=this,t=this.state,a=t.dirtyThreshold,n=t.threshold,r=t.unit,i=t.units,o=t.param,c=t.condition,s=(t.deviceId,this.props),l=(s.user,s.alertActions,s.device.devices,"");this._theDevice()&&(l=m.a.createElement("div",{className:"device-chooser"},m.a.createElement(nr,null)));var u="";i&&(u=m.a.createElement("select",{className:"form-control",onChange:function(t){return e.setState({unit:t.target.value})},value:r},i.map(function(e){return m.a.createElement("option",{key:e,value:e},e)})));var d=!(o&&Object(w.contains)(c,Object(w.map)(Object(w.nth)(1),Dc))&&Object(O.isSomething)(n));"notReporting"===o&&(d=!1);var p="",h=this._theDevice();if(h){var f=Object(O.getDisplayKeys)([h.lastData]).filter(function(e){return"dateutc"!==e}).filter(Object(w.pipe)(Object(w.test)(/^leak\d$/),w.not));f.push("notReporting"),p=m.a.createElement("select",{className:"form-control",onChange:function(t){return e.setState({param:t.target.value})},value:o},m.a.createElement("option",null,"Parameter"),f.map(function(e){return m.a.createElement("option",{key:e,value:e},Object(O.getLabelForDevice)(e,h))}))}return m.a.createElement("div",{className:"alert-crud"},m.a.createElement("div",{className:N()("create",o)},l,p,m.a.createElement("select",{className:"form-control condition",onChange:function(t){return e.setState({condition:t.target.value})},value:c},m.a.createElement("option",null,"Condition"),Dc.map(function(e,t){return m.a.createElement("option",{key:t,value:e[1]},e[0])})),m.a.createElement("div",{className:"input-group amount"},m.a.createElement("input",{type:"number",placeholder:"Amount",onChange:function(t){return e.setState({dirtyThreshold:t.target.value})},className:"boxy",value:a}),u),m.a.createElement("button",{disabled:d,className:"btn btn-primary",onClick:this.createAlert},"Create")),m.a.createElement(Nc,null))}}]),t}(d.PureComponent),Ac=ae(Sc);Sc.displayName="Crud",Sc.displayName="Crud",Sc.displayName="Crud",Sc.displayName="Crud",Sc.displayName="Crud",Sc.displayName="Crud",Sc.displayName="Crud";var _c=function(e){function t(){var e,a;Object(o.a)(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(l.a)(t)).call.apply(e,[this].concat(r)))).state={multiSmsChecked:!1,alertRecipientEmailInfo:{}},a}return Object(u.a)(t,e),Object(c.a)(t,[{key:"componentDidMount",value:function(){this._checkMultiSmsLink()}},{key:"componentDidUpdate",value:function(){this._checkMultiSmsLink()}},{key:"_checkMultiSmsLink",value:function(){var e=this.props.user,t=this.state.multiSmsChecked;e.userChecked&&this._hasMultiSms()&&!t&&(this.setState({multiSmsChecked:!0}),this._fetchMultiSmsLink())}},{key:"_fetchMultiSmsLink",value:function(){var e=this;this.setState({multiSmsLinkUaFetched:!1}),this.props.socialActions.fetchUserActions({userId:this.props.user.info._id,type:"multi-sms-link"}).then(function(t){e.setState({multiSmsLinkUa:t.data[0],multiSmsLinkUaFetched:!0})})}},{key:"_socialPrefs",value:function(){var e=this.props.user,t=Object(O.getUserSetting)("alerts")(e)||{},a=[["Email & Website","all"],["".concat(Object(O.isCordova)()?"App":"Website"," Only"),"app"]].map(function(e){var t=e[0],a=e[1];return m.a.createElement(zt,{defaultValue:"all",key:a,setting:"alerts",settingKey:"social",value:a,label:t})});return m.a.createElement("div",{className:"block social-comm"},m.a.createElement("h3",null,"Social Feed Notifications"),m.a.createElement("div",{className:"prefs"},a),t.social&&"all"!==t.social?"":m.a.createElement("div",{className:"message"},this._emailMessage()))}},{key:"_emailMessage",value:function(){var e,t=this.props,a=t.user,n=t.userActions;if(Object(w.path)(["info","confirmKey"],a)){var r=a.sendConfirmationSucceeded?m.a.createElement("b",null,"Confirmation Sent!"):m.a.createElement("a",{className:"btn btn-primary",onClick:function(){n.sendConfirmation({user:a.info._id,confirmKey:!0})}},"Resend");e=m.a.createElement("p",{className:"warning"},m.a.createElement("span",null,"Alerts will not be sent until your email address (",a.info.email,") is confirmed. "),r)}else e=m.a.createElement("p",null,"We'll send emails to ",a.info.email,".");return e}},{key:"_hasMultiSms",value:function(){return Object(O.isRole)("multi-sms",this.props.user)}},{key:"render",value:function(){var e=this,t=this.props,a=t.socialActions,n=t.userActions,r=t.user,i=this.state,o=i.multiSmsLinkUa,c=i.multiSmsLinkUaFetched,s=i.alertRecipientEmailInfo,l=Object(O.getUserSetting)("alerts")(r)||{},u=[[m.a.createElement("span",null,"No\xa0notifications"),"none"],["Email","email"],["SMS","sms"]].map(function(e){var t=e[0],a=e[1];return m.a.createElement(zt,{key:a,setting:"alerts",settingKey:"type",value:a,label:t})}),d="";if("email"===l.type)d=this._emailMessage();else if("sms"===l.type){var p=m.a.createElement("p",null,"We'll send texts to ",r.info.phone,m.a.createElement("small",null,m.a.createElement("a",{className:"glyphicon glyphicon-trash",onClick:function(){window.confirm("Are you sure?")&&n.patch(r.info._id,{phone:"",phoneConfirmKey:!1})}})));d=Object(O.isUserPhoneConfirmed)(r)?p:m.a.createElement($t,null)}var h="";l.type&&"none"!==l.type&&(h=m.a.createElement(qt,{setting:"alerts",settingKey:"freq",values:[["10 minutes","10min"],["30 minutes","30min"],["1 hour","hour"],["1 day","day"]],label:"Notification Time Window"}));var f=null;if(this._hasMultiSms()){var b=m.a.createElement(fe,null),v=null;if(c)if(o){var g="https://".concat(window.location.host,"/common/ua/").concat(o._id,"?code=").concat(o.data.code);b=m.a.createElement("div",{className:"alert-recipient-forms"},m.a.createElement("p",null,"To invite an ",m.a.createElement("b",null,"SMS")," alert recipient share this link:"),m.a.createElement("p",null,m.a.createElement("input",{type:"text",className:"sms-share-input",value:g,onFocus:function(e){return e.currentTarget.select()}}),"\xa0",m.a.createElement(Fr,{text:g,className:"btn btn-primary"}),"\xa0\xa0",m.a.createElement("a",{onClick:function(){window.confirm("The current share link will no longer work. Continue?")&&a.patchUserAction(o._id,{data:{code:Math.floor(1e6*Math.random())}}).then(function(t){console.log("patched",t),e.setState({multiSmsLinkUa:null,multiSmsLinkUaFetched:!1,multiSmsChecked:!1})})},className:"small"},"revoke")),m.a.createElement("div",{className:"email"},m.a.createElement("p",null,"To add an ",m.a.createElement("b",null,"email")," based recipient add their email address below:"),m.a.createElement("div",null,m.a.createElement("div",null,m.a.createElement("label",null,"Name"),m.a.createElement("input",{value:s.name,onChange:function(t){return e.setState({alertRecipientEmailInfo:Object.assign({},s,{name:t.target.value})})},type:"text",className:"form-control"})),m.a.createElement("div",null,m.a.createElement("label",null,"Email"),m.a.createElement("input",{value:s.email,onChange:function(t){return e.setState({alertRecipientEmailInfo:Object.assign({},s,{email:t.target.value})})},type:"email",className:"form-control"})),m.a.createElement("button",{className:"btn btn-primary",onClick:function(){var t=Object.assign({},l);t.smsRecipients=t.smsRecipients||[],t.smsRecipients.push(s),n.updateSetting("alerts",t),e.setState({alertRecipientEmailInfo:{name:"",email:""}})},disabled:!s.name||!s.email},"Add Email Recipient"))))}else b=m.a.createElement("div",{className:"message"},m.a.createElement("button",{className:"btn btn-primary",onClick:function(){a.addUserAction({userId:r.info._id,type:"multi-sms-link",data:{code:Math.floor(1e6*Math.random())}}).then(e._fetchMultiSmsLink.bind(e))}},"Invite alert subscribers"));l.smsRecipients&&(v=m.a.createElement("div",{className:"sms-recipients"},m.a.createElement("table",{className:"table table-striped"},m.a.createElement("thead",null,m.a.createElement("th",null,"Name"),m.a.createElement("th",null,"Type"),m.a.createElement("th",null,"Contact"),m.a.createElement("th",null,"Enabled?"),m.a.createElement("th",null,"Delete")),m.a.createElement("tbody",null,l.smsRecipients.map(function(e,t){return m.a.createElement("tr",{key:t},m.a.createElement("td",null,e.name),m.a.createElement("td",null,e.phone?"SMS":"Email"),m.a.createElement("td",null,e.phone||e.email),m.a.createElement("td",null,m.a.createElement("input",{type:"checkbox",checked:!e.disabled,onChange:function(){var e=Object.assign({},l);e.smsRecipients[t].disabled=!e.smsRecipients[t].disabled,n.updateSetting("alerts",e)}})),m.a.createElement("td",null,m.a.createElement("small",null,m.a.createElement("a",{className:"glyphicon glyphicon-trash",onClick:function(){if(window.confirm("Stop sending alerts to ".concat(e.name,"?"))){var a=Object.assign({},l);a.smsRecipients=a.smsRecipients.filter(function(e,a){return a!==t}),n.updateSetting("alerts",a)}}}))))}))))),f=m.a.createElement("div",{className:"multi-sms"},m.a.createElement("h3",null,"Alert Recipients"),v,b)}return m.a.createElement("div",{className:"alert-default-page"},m.a.createElement("header",{className:"main"},m.a.createElement("h1",null,"Alerts")),m.a.createElement("div",{className:"page-body"},this._socialPrefs(),m.a.createElement("div",{className:"block"},m.a.createElement("h3",null,"Device Alerts",m.a.createElement(Te,{link:"https://ambientweather.com/faqs/question/view/id/1793/"})),m.a.createElement("div",{className:"prefs"},u,h),m.a.createElement("div",{className:"message"},d),f),m.a.createElement("div",{className:"block"},m.a.createElement("h3",null,"Customizations"),m.a.createElement(Ac,null)),m.a.createElement(Dt,null)))}}]),t}(d.Component),Cc=ae(_c);_c.displayName="DefaultPage";var xc=[{path:"/",component:gc,childRoutes:[].concat([yc,Ec,Oc,{path:"alerts",childRoutes:[{path:"",component:Cc,isIndex:!0}]},{path:"social",childRoutes:[{path:"default-page",component:ot,isIndex:!0}]},{path:"payment",childRoutes:[]}],[{path:"*",name:"Page not found",component:Be}]).filter(function(e){return e.component||e.childRoutes&&e.childRoutes.length>0})}];xc.forEach(function e(t){if(t.childRoutes&&t.childRoutes.length){var a=t.childRoutes.find(function(e){return e.isIndex});if(a){var n=Object(i.a)({},a);n.path="",n.exact=!0,n.autoIndexRoute=!0,t.childRoutes.unshift(n)}t.childRoutes.forEach(e)}});t.a=xc},512:function(e,t,a){e.exports=a(1025)},522:function(e,t){},529:function(e,t,a){"use strict";var n=a(340),r=a(341),i=Math.PI/180,o=1/149597870.7;function c(e){return e-Math.floor(e/(2*Math.PI))*(2*Math.PI)}var s=218.316*i,l=13.176396*i,u=134.963*i,d=13.064993*i,m=93.272*i,p=13.22935*i,h=6.289*i,f=5.128*i,b=23.439*i,v=-3.6e-7*i,g=385001*o,y=-20905*o;function E(e){return u+d*e}function O(e){return function(e){return s+l*e}(e)+h*Math.sin(E(e))}function w(e){return f*Math.sin(function(e){return m+p*e}(e))}function k(e){return b+v*e}function j(e){return t=w(e),a=O(e),n=k(e),Math.atan2(Math.sin(a)*Math.cos(n)-Math.tan(t)*Math.sin(n),Math.cos(a));var t,a,n}function N(e){return t=w(e),a=O(e),n=k(e),Math.asin(Math.sin(t)*Math.cos(n)+Math.cos(t)*Math.sin(n)*Math.sin(a));var t,a,n}function D(e,t){return e-t*(12/Math.PI/24)}function S(e,t){return a=r.local(e,t),n=j(e),c(a)-c(n);var a,n}function A(e,t,a){return S(D(e,a),t)+a}function _(e,t){var a=S(e,t);return a=A(e,t,a),a=A(e,t,a),a=A(e,t,a),a=A(e,t,a)}function C(e,t){return e+t/24}function x(e,t,a){var n=N(e),r=S(e,a);return Math.asin(Math.sin(t)*Math.sin(n)+Math.cos(t)*Math.cos(n)*Math.cos(r))}var I=.0023212879051524586;function T(e,t,a){for(var n=-I,r=x(e,t,a)-n,i=r,o=NaN,c=NaN,s=0;s<=24;s+=2){0!==s&&(i=x(C(e,s),t,a)-n);var l=x(C(e,s+1),t,a)-n,u=(l+r)/2-i,d=(l-r)/2,m=-d/(2*u),p=(u*m+d)*m+i,h=d*d-4*u*i,f=0,b=void 0,v=void 0;if(h>=0){var g=Math.sqrt(h)/(2*Math.abs(u));b=m-g,v=m+g,Math.abs(b)<=1&&f++,Math.abs(v)<=1&&f++,b<-1&&(b=v)}if(1===f?r<0&&isNaN(o)?o=s+b:isNaN(c)&&(c=s+b):2===f&&(isNaN(o)&&(o=s+(p<0?v:b)),isNaN(c)&&(c=s+(p<0?b:v))),o<24&&c<24)break;r=l}return{moonrise:C(e,o),moonset:C(e,c)}}t.latitude=function(e){return w(n.to(e))},t.longitude=function(e){return O(n.to(e))},t.obliquity=function(e){return k(n.to(e))},t.distance=function(e){return t=n.to(e),g+y*Math.cos(E(t));var t},t.declination=function(e){return N(n.to(e))},t.right_ascension=function(e){return j(n.to(e))},t.elevation=function(e,t,a){return x(n.to(e),t*i,a*i)},t.transit=function(e,t,a){return n.from(function(e,t,a){var n=C(e,24),r=D(n,_(n,a));return r<=n?r:(r=D(e,_(e,a)))>=e?r:NaN}(n.to(e),0,a*i))},t.rise=function(e,t,a){return n.from(T(n.to(e),t*i,a*i).moonrise)},t.set=function(e,t,a){return n.from(T(n.to(e),t*i,a*i).moonset)},t.rise_and_set=function(e,t,a){var r=T(n.to(e),t*i,a*i);return r.moonrise=n.from(r.moonrise),r.moonset=n.from(r.moonset),r}},530:function(e,t,a){"use strict";a.r(t),a.d(t,"latitude",function(){return P}),a.d(t,"longitude",function(){return M}),a.d(t,"obliquity",function(){return R}),a.d(t,"distance",function(){return L}),a.d(t,"declination",function(){return F}),a.d(t,"position",function(){return Y}),a.d(t,"azimuth",function(){return W}),a.d(t,"transit",function(){return G}),a.d(t,"rise",function(){return $}),a.d(t,"set",function(){return Q}),a.d(t,"dawn",function(){return X}),a.d(t,"dusk",function(){return J}),a.d(t,"sin_elevation",function(){return U});var n=a(4),r=a(5),i=a(340),o=a(341),c=Math.PI/180,s=357.5291*c,l=.98560028*c;function u(e){return s+l*e}var d=280.459*c,m=.98564736*c,p=1.9148*c,h=.02*c,f=3e-4*c;function b(e){var t=u(e),a=Math.sin(t),n=Math.sin(2*t);return d+m*e+p*a+h*n+f*((3-4*a*a)*a)}var v=23.439*c,g=-3.6e-7*c;function y(e){return v+g*e}var E=1.00014,O=-.01671,w=-14e-5;function k(e){var t=u(e),a=Math.cos(t);return E+O*a+w*(2*a*a-1)}function j(e){return Math.sin(b(e))*Math.sin(y(e))}function N(e){var t=b(e);return Math.atan2(Math.sin(t)*Math.cos(y(e)),Math.cos(t))}var D=9e-4;function S(e,t){return D-t*(.5/Math.PI)+function(e,t){return Math.round(e-D+t*(.5/Math.PI))}(e,t)}var A=.0053,_=-.0069;function C(e,t){var a=S(e,t);return a+A*Math.sin(u(a))+_*Math.sin(2*b(a))}function x(e,t,a,n,r){var i=j(a),o=Math.sqrt(1-i*i);return C(a,r)+t*Math.acos((e-Math.sin(n)*i)/(Math.cos(n)*o))}function I(e,t,a,n,r){return Math.PI+Math.atan2(n,r*e-a*t)}function T(e,t,a,n,r){return e*a+t*n*r}function P(){return 0}function M(e){return b(i.to(e))}function R(e){return y(i.to(e))}function L(e){return k(i.to(e))}function F(e){return Math.asin(j(i.to(e)))}function U(e,t,a){var n=i.to(e),r=Math.sin(t*c),s=Math.cos(t*c),l=j(n),u=Math.sqrt(1-l*l),d=o.local(n,a*c)-N(n);return T(r,s,l,u,Math.cos(d))}function W(e,t,a){var n=i.to(e),r=Math.sin(t*c),s=Math.cos(t*c),l=j(n),u=l/Math.sqrt(1-l*l),d=o.local(n,a*c)-N(n);return I(r,s,u,Math.sin(d),Math.cos(d))}var H=function(){function e(t,a,r,i){Object(n.a)(this,e),this.sin_hour_angle=t,this.cos_hour_angle=a,this.sin_elevation=r,this.azimuth=i}return Object(r.a)(e,[{key:"elevation",get:function(){return Math.asin(this.sin_elevation)}}]),e}(),B=function(){function e(t,a,r,i,o){Object(n.a)(this,e),this.time=t,this.longitude=a,this.obliquity=r,this.sin_declination=i,this.right_ascension=o}return Object(r.a)(e,[{key:"hour_angle",value:function(e){return o.local(i.to(this.time),e*c)-this.right_ascension}},{key:"observer",value:function(e,t){var a=this.hour_angle(t),n=Math.sin(e*c),r=Math.cos(e*c),i=this.sin_declination,o=Math.sqrt(1-i*i),s=i/o,l=Math.sin(a),u=Math.cos(a);return new H(l,u,T(n,r,i,o,u),I(n,r,s,l,u))}},{key:"declination",get:function(){return Math.asin(this.sin_declination)}},{key:"distance",get:function(){return k(i.to(this.time))}}]),e}();function Y(e){var t=i.to(e),a=b(t),n=y(t),r=Math.sin(a),o=Math.cos(a),c=Math.sin(n),s=Math.cos(n);return new B(e,a,n,r*c,Math.atan2(r*s,o))}function G(e,t,a){return i.from(C(i.to(e),a*c))}var z=Math.sin(-.833*c),K=Math.sin(-6*c),q=-.5/Math.PI,V=.5/Math.PI;function $(e,t,a){return i.from(x(z,q,i.to(e),t*c,a*c))}function Q(e,t,a){return i.from(x(z,V,i.to(e),t*c,a*c))}function X(e,t,a){return i.from(x(K,q,i.to(e),t*c,a*c))}function J(e,t,a){return i.from(x(K,V,i.to(e),t*c,a*c))}},583:function(e,t,a){var n=a(271),r=n._,i=r.each,o=r.pick,c=n.createSymbol,s=c("__feathersSkipHooks");t.SKIP=s,t.ACTIVATE_HOOKS=c("__feathersActivateHooks"),t.createHookObject=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a={};return Object.defineProperty(a,"toJSON",{value:function(){return o(this,"type","method","path","params","id","data","result","error")}}),Object.assign(a,t,{method:e,get path(){var e=t.app,a=t.service;return a&&e&&e.services?Object.keys(e.services).find(function(t){return e.services[t]===a}):null}})},t.defaultMakeArguments=function(e){var t=[];return"undefined"!==typeof e.id&&t.push(e.id),e.data&&t.push(e.data),t.push(e.params||{}),t},t.makeArguments=function(e){switch(e.method){case"find":return[e.params];case"get":case"remove":return[e.id,e.params];case"update":case"patch":return[e.id,e.data,e.params];case"create":return[e.data,e.params]}return t.defaultMakeArguments(e)},t.convertHookData=function(e){var t={};return Array.isArray(e)?t={all:e}:"object"!==typeof e?t={all:[e]}:i(e,function(e,a){t[a]=Array.isArray(e)?e:[e]}),t},t.isHookObject=function(e){return"object"===typeof e&&"string"===typeof e.method&&"string"===typeof e.type},t.getHooks=function(e,t,a,n){var r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=e.__hooks[a][n]||[],o=t.__hooks[a][n]||[];return r?o.concat(i):i.concat(o)},t.processHooks=function(e,a){var n=this,r=a,i=function(e){if(e){if(e===s)return s;if(!t.isHookObject(e))throw new Error("".concat(r.type," hook for '").concat(r.method,"' method returned invalid hook object"));r=e}return r};return e.reduce(function(e,t){var a=t.bind(n);return(e=2===a.length?e.then(function(e){return e===s?s:new Promise(function(t,n){a(e,function(e,a){return e?n(e):t(a)})})}):e.then(function(e){return e===s?s:a(e)})).then(i)},Promise.resolve(r)).then(function(){return r}).catch(function(e){throw e.hook=r,e})},t.enableHooks=function(e,a,n){if("function"===typeof e.hooks)return e;var r={};return n.forEach(function(e){r[e]={}}),Object.defineProperty(e,"__hooks",{value:r}),Object.assign(e,{hooks:function(e){var n=this;return i(e,function(e,r){if(!n.__hooks[r])throw new Error("'".concat(r,"' is not a valid hook type"));var o=t.convertHookData(e);i(o,function(e,t){if("all"!==t&&-1===a.indexOf(t))throw new Error("'".concat(t,"' is not a valid hook method"))}),a.forEach(function(e){var t=n.__hooks[r][e]||(n.__hooks[r][e]=[]);o.all&&t.push.apply(t,o.all),o[e]&&t.push.apply(t,o[e])})}),this}})}},584:function(e,t,a){var n=a(271)._;function r(e){if("undefined"!==typeof e)return Math.abs(parseInt(e,10))}function i(e,t,a,r){return Array.isArray(a)?n.each(a,function(a){e[a]=t[a]}):n.each(a,function(a,n){e[n]=a(t[n],r)}),e}var o={$sort:function(e){return"object"!==typeof(t=e)||Array.isArray(t)?t:Object.keys(t).reduce(function(e,a){return e[a]="object"===typeof t[a]?t[a]:parseInt(t[a],10),e},{});var t},$limit:function(e,t){return function(e,t){if(t&&t.default){var a="number"===typeof e?e:t.default,n="number"===typeof t.max?t.max:Number.MAX_VALUE;return Math.min(a,n)}return e}(r(e),t.paginate)},$skip:function(e){return r(e)},$select:function(e){return e}},c=["$in","$nin","$lt","$lte","$gt","$gte","$ne","$or"];e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.filters,r=void 0===a?{}:a,s=t.operators,l=void 0===s?[]:s,u={};return u.filters=i({},e,o,t),u.filters=i(u.filters,e,r,t),u.query=function e(t,a){if(n.isObject(t)){var r={};return n.each(t,function(t,n){"$"===n[0]&&-1===a.indexOf(n)||(r[n]=e(t,a))}),r}return t}(e,c.concat(l)),u},Object.assign(e.exports,{OPERATORS:c,FILTERS:o})},62:function(e,t,a){var n=a(2),r=(a(3).timeFormatForUser,a(337)),i=function(e){return parseInt(e,10)},o=n.curry(function(e,t){return"function"===typeof t.toFixed?t.toFixed(e):t}),c={POST_CHARACTER_LIMIT:300,DATA_SPEC:{ID:{type:"Int"},PASSKEY:{type:"String"},dateutc:{type:"String",label:"Date"},winddir:{type:"Int",label:"Wind Direction",suff:"\xb0"},windspeedmph:{type:"Float",label:"Wind Speed",suff:" mph",units:["mph","ft/sec","m/sec","km/hr","knots"],spokenUnits:["miles per hour","feet per second","meters per second","kilometers per hour","knots"]},windgustmph:{type:"Float",label:"Wind Gust",suff:" mph",units:"windspeedmph"},maxdailygust:{type:"Float",label:"Max Daily Gust",suff:" mph",units:"windspeedmph"},windgustdir:{type:"Int",label:"Wind Gust Direction",suff:"\xb0"},windspdmph_avg2m:{type:"Float",label:"Avg Wind Speed (2 mins)",suff:" mph",units:"windspeedmph"},winddir_avg2m:{type:"Int",label:"Avg Wind Direction (2 mins)",suff:"\xb0"},windspdmph_avg10m:{type:"Float",label:"Avg Wind Speed (10 mins)",suff:" mph",units:"windspeedmph"},winddir_avg10m:{type:"Int",label:"Avg Wind Direction (10 mins)",suff:"\xb0"},humidity:{type:"Int",label:"Outdoor Humidity",suff:"%",spokenUnit:"percent"},humidity1:{type:"Int",label:"Humidity 1",suff:"%",private:!0,spokenUnit:"percent"},humidity2:{type:"Int",label:"Humidity 2",suff:"%",private:!0,spokenUnit:"percent"},humidity3:{type:"Int",label:"Humidity 3",suff:"%",private:!0,spokenUnit:"percent"},humidity4:{type:"Int",label:"Humidity 4",private:!0,suff:"%",spokenUnit:"percent"},humidity5:{type:"Int",label:"Humidity 5",private:!0,suff:"%",spokenUnit:"percent"},humidity6:{type:"Int",label:"Humidity 6",suff:"%",private:!0,spokenUnit:"percent"},humidity7:{type:"Int",label:"Humidity 7",suff:"%",private:!0,spokenUnit:"percent"},humidity8:{type:"Int",label:"Humidity 8",suff:"%",private:!0,spokenUnit:"percent"},humidity9:{type:"Int",label:"Humidity 9",suff:"%",private:!0,spokenUnit:"percent"},humidity10:{type:"Int",label:"Humidity 10",suff:"%",private:!0,spokenUnit:"percent"},humidityin:{type:"Int",label:"Indoor Humidity",suff:"%",spokenUnit:"percent",private:!0},humiditykestrel:{type:"Float",label:"Relative Humidity",suff:"%",spokenUnit:"percent",private:!0},tempf:{type:"Float",label:"Outdoor Temperature",suff:"\xb0F",units:["\xb0F","\xb0C"],spokenUnits:["degrees","degrees"]},tempfkestrel:{type:"Float",label:"Temperature",suff:"\xb0F",units:"tempf",spokenUnits:["degrees","degrees"],private:!0},temp1f:{type:"Float",label:"Temperature 1",suff:"\xb0F",units:"tempf",private:!0},temp2f:{type:"Float",label:"Temperature 2",suff:"\xb0F",units:"tempf",private:!0},temp3f:{type:"Float",label:"Temperature 3",suff:"\xb0F",private:!0,units:"tempf"},temp4f:{type:"Float",label:"Temperature 4",suff:"\xb0F",private:!0,units:"tempf"},temp5f:{type:"Float",label:"Temperature 5",suff:"\xb0F",private:!0,units:"tempf"},temp6f:{type:"Float",label:"Temperature 6",suff:"\xb0F",private:!0,units:"tempf"},temp7f:{type:"Float",label:"Temperature 7",suff:"\xb0F",private:!0,units:"tempf"},temp8f:{type:"Float",label:"Temperature 8",suff:"\xb0F",private:!0,units:"tempf"},temp9f:{type:"Float",label:"Temperature 9",suff:"\xb0F",private:!0,units:"tempf"},temp10f:{type:"Float",label:"Temperature 10",suff:"\xb0F",private:!0,units:"tempf"},feelsLike1:{type:"Float",label:"Feels Like 1",suff:"\xb0F",private:!0,units:"tempf"},feelsLike2:{type:"Float",label:"Feels Like 2",suff:"\xb0F",private:!0,units:"tempf"},feelsLike3:{type:"Float",label:"Feels Like 3",suff:"\xb0F",private:!0,units:"tempf"},feelsLike4:{type:"Float",label:"Feels Like 4",suff:"\xb0F",private:!0,units:"tempf"},feelsLike5:{type:"Float",label:"Feels Like 5",suff:"\xb0F",private:!0,units:"tempf"},feelsLike6:{type:"Float",label:"Feels Like 6",suff:"\xb0F",private:!0,units:"tempf"},feelsLike7:{type:"Float",label:"Feels Like 7",suff:"\xb0F",private:!0,units:"tempf"},feelsLike8:{type:"Float",label:"Feels Like 8",suff:"\xb0F",private:!0,units:"tempf"},feelsLike9:{type:"Float",label:"Feels Like 9",suff:"\xb0F",private:!0,units:"tempf"},feelsLike10:{type:"Float",label:"Feels Like 10",suff:"\xb0F",private:!0,units:"tempf"},feelsLikein:{type:"Float",label:"Indoor Feels Like",suff:"\xb0F",private:!0,units:"tempf"},dewPoint1:{type:"Float",label:"Dew Point 1",suff:"\xb0F",private:!0,units:"tempf"},dewPoint2:{type:"Float",label:"Dew Point 2",suff:"\xb0F",private:!0,units:"tempf"},dewPoint3:{type:"Float",label:"Dew Point 3",suff:"\xb0F",private:!0,units:"tempf"},dewPoint4:{type:"Float",label:"Dew Point 4",suff:"\xb0F",private:!0,units:"tempf"},dewPoint5:{type:"Float",label:"Dew Point 5",suff:"\xb0F",private:!0,units:"tempf"},dewPoint6:{type:"Float",label:"Dew Point 6",suff:"\xb0F",private:!0,units:"tempf"},dewPoint7:{type:"Float",label:"Dew Point 7",suff:"\xb0F",private:!0,units:"tempf"},dewPoint8:{type:"Float",label:"Dew Point 8",suff:"\xb0F",private:!0,units:"tempf"},dewPoint9:{type:"Float",label:"Dew Point 9",suff:"\xb0F",private:!0,units:"tempf"},dewPoint10:{type:"Float",label:"Dew Point 10",suff:"\xb0F",private:!0,units:"tempf"},dewPointin:{type:"Float",label:"Indoor Dew Point",suff:"\xb0F",private:!0,units:"tempf"},soiltemp1:{type:"Float",label:"Soil Temperature 1",suff:"\xb0F",units:"tempf"},soiltemp2:{type:"Float",label:"Soil Temperature 2",suff:"\xb0F",units:"tempf"},soiltemp3:{type:"Float",label:"Soil Temperature 3",suff:"\xb0F",units:"tempf"},soiltemp4:{type:"Float",label:"Soil Temperature 4",suff:"\xb0F",units:"tempf"},soiltemp5:{type:"Float",label:"Soil Temperature 5",suff:"\xb0F",units:"tempf"},soiltemp6:{type:"Float",label:"Soil Temperature 6",suff:"\xb0F",units:"tempf"},soiltemp7:{type:"Float",label:"Soil Temperature 7",suff:"\xb0F",units:"tempf"},soiltemp8:{type:"Float",label:"Soil Temperature 8",suff:"\xb0F",units:"tempf"},soiltemp9:{type:"Float",label:"Soil Temperature 9",suff:"\xb0F",units:"tempf"},soiltemp10:{type:"Float",label:"Soil Temperature 10",suff:"\xb0F",units:"tempf"},soilhum1:{type:"Int",label:"Soil Moisture 1",suff:"%",units:["%"," "],spokenUnits:["percent",""]},soilhum2:{type:"Int",label:"Soil Moisture 2",suff:"%",units:"soilhum1"},soilhum3:{type:"Int",label:"Soil Moisture 3",suff:"%",units:"soilhum1"},soilhum4:{type:"Int",label:"Soil Moisture 4",suff:"%",units:"soilhum1"},soilhum5:{type:"Int",label:"Soil Moisture 5",suff:"%",units:"soilhum1"},soilhum6:{type:"Int",label:"Soil Moisture 6",suff:"%",units:"soilhum1"},soilhum7:{type:"Int",label:"Soil Moisture 7",suff:"%",units:"soilhum1"},soilhum8:{type:"Int",label:"Soil Moisture 8",suff:"%",units:"soilhum1"},soilhum9:{type:"Int",label:"Soil Moisture 9",suff:"%",units:"soilhum1"},soilhum10:{type:"Int",label:"Soil Moisture 10",suff:"%",units:"soilhum1"},tempinf:{type:"Float",label:"Indoor Temperature",suff:"\xb0F",units:"tempf",private:!0},hourlyrainin:{type:"Float",label:"Hourly Rain",suff:" in/hr",units:["in/hr","mm/hr"],spokenUnits:["inches per hour","millimeters per hour"]},dailyrainin:{type:"Float",label:"Daily Rain",suff:" in",units:["in","mm"],spokenUnits:["inches","millimeters"]},weeklyrainin:{type:"Float",label:"Weekly Rain",suff:" in",units:"dailyrainin"},monthlyrainin:{type:"Float",label:"Monthly Rain",suff:" in",units:"dailyrainin"},yearlyrainin:{type:"Float",label:"Yearly Rain",suff:" in",units:"dailyrainin"},eventrainin:{type:"Float",label:"Event Rain",suff:" in",units:"dailyrainin"},totalrainin:{type:"Float",label:"Total Rain",suff:" in",units:"dailyrainin"},"24hourrainin":{type:"Float",label:"24 Hour Rain",suff:" in",units:"dailyrainin"},baromrelin:{type:"Float",label:"Relative Pressure",suff:" inHg",units:["inHg","mmHg","hPa"],spokenUnits:["inches","millimeters","hectopascals"]},baromabsin:{type:"Float",label:"Absolute Pressure",suff:" inHg",units:"baromrelin"},uv:{type:"Float",label:"Ultra-Violet Radiation Index",suff:"",avgFormat:o(1)},solarradiation:{type:"Float",label:"Solar Radiation",suff:" W/m^2",units:["W/m^2","lux"],spokenUnits:["","lux"]},co2:{type:"Float",label:"CO2",suff:" ppm",units:"parts per million"},relay1:{type:"Bool",private:!0,label:"Relay 1"},relay2:{type:"Bool",private:!0,label:"Relay 2"},relay3:{type:"Bool",private:!0,label:"Relay 3"},relay4:{type:"Bool",private:!0,label:"Relay 4"},relay5:{type:"Bool",private:!0,label:"Relay 5"},relay6:{type:"Bool",private:!0,label:"Relay 6"},relay7:{type:"Bool",private:!0,label:"Relay 7"},relay8:{type:"Bool",private:!0,label:"Relay 8"},relay9:{type:"Bool",private:!0,label:"Relay 9"},relay10:{type:"Bool",private:!0,label:"Relay 10"},pm25:{type:"Float",suff:"\xb5g/m^3",label:"PM2.5 Air Quality Sensor",avgFormat:i},pm25_24h:{type:"Float",suff:"\xb5g/m^3",label:"PM2.5 Air Quality Sensor, 24 hour running average",avgFormat:o(1)},pm25_in:{type:"Float",suff:"\xb5g/m^3",private:!0,label:"PM2.5 Air Quality Sensor, indoor"},pm25_in_24h:{type:"Float",suff:"\xb5g/m^3",private:!0,label:"PM2.5 Air Quality Sensor indoor, 24 hour running average"},pm25_in_aqin:{type:"Float",suff:"\xb5g/m^3",private:!0,avgFormat:i,label:"PM2.5 Air Quality Sensor indoor, AQIN sensor"},pm25_in_24h_aqin:{type:"Float",suff:"\xb5g/m^3",private:!0,avgFormat:i,label:"PM2.5 Air Quality Sensor indoor, 24 hour running average, AQIN sensor"},pm10_in_aqin:{type:"Float",suff:"\xb5g/m^3",private:!0,avgFormat:i,label:"PM10 Air Quality Sensor"},pm10_in_24h_aqin:{type:"Float",suff:"\xb5g/m^3",private:!0,avgFormat:i,label:"PM10 Air Quality Sensor, 24 hour running average"},co2_in_aqin:{type:"Int",label:"Indoor CO2 from AQIN",suff:"ppm",avgFormat:i,private:!0},co2_in_24h_aqin:{type:"Float",label:"Indoor CO2 from AQIN, 24 hour running average",suff:"ppm",avgFormat:i,private:!0},pm_in_temp_aqin:{type:"Float",suff:"\xb0F",units:"tempf",label:"Indoor PM sensor temperature",private:!0},pm_in_humidity_aqin:{type:"Int",label:"Indoor PM sensor humidity",suff:"%",spokenUnit:"percent",private:!0},aqi_pm25_aqin:{type:"Int",label:"AQI derived from PM25, AQIN sensor",private:!0},aqi_pm25_24h_aqin:{type:"Int",label:"AQI derived from PM25 Indoor, 24 hour running average, AQIN sensor",private:!0},aqi_pm10_aqin:{type:"Int",label:"AQI derived from PM10 Indoor, AQIN sensor",private:!0},aqi_pm10_24h_aqin:{type:"Int",label:"AQI derived from PM10 Indoor, 24 hour running average, AQIN sensor",private:!0},aqi_pm25:{type:"Int",label:"AQI derived from PM25"},aqi_pm25_24h:{type:"Int",label:"AQI derived from PM25, 24 hour running average"},aqi_pm25_in:{type:"Int",private:!0,label:"AQI derived from PM25 IN"},aqi_pm25_in_24h:{type:"Int",private:!0,label:"AQI derived from PM25 IN, 24 hour running average"},battout:{type:"Bool",private:!0,label:"Outdoor Battery"},battin:{type:"Bool",private:!0,label:"Indoor Battery"},batt1:{type:"Bool",private:!0,label:"Sensor 1 Battery"},batt2:{type:"Bool",private:!0,label:"Sensor 2 Battery"},batt3:{type:"Bool",private:!0,label:"Sensor 3 Battery"},batt4:{type:"Bool",private:!0,label:"Sensor 4 Battery"},batt5:{type:"Bool",private:!0,label:"Sensor 5 Battery"},batt6:{type:"Bool",private:!0,label:"Sensor 6 Battery"},batt7:{type:"Bool",private:!0,label:"Sensor 7 Battery"},batt8:{type:"Bool",private:!0,label:"Sensor 8 Battery"},batt9:{type:"Bool",private:!0,label:"Sensor 9 Battery"},batt10:{type:"Bool",private:!0,label:"Sensor 10 Battery"},battr1:{type:"Bool",private:!0,label:"Relay 1 Battery"},battr2:{type:"Bool",private:!0,label:"Relay 2 Battery"},battr3:{type:"Bool",private:!0,label:"Relay 3 Battery"},battr4:{type:"Bool",private:!0,label:"Relay 4 Battery"},battr5:{type:"Bool",private:!0,label:"Relay 5 Battery"},battr6:{type:"Bool",private:!0,label:"Relay 6 Battery"},battr7:{type:"Bool",private:!0,label:"Relay 7 Battery"},battr8:{type:"Bool",private:!0,label:"Relay 8 Battery"},battr9:{type:"Bool",private:!0,label:"Relay 9 Battery"},battr10:{type:"Bool",private:!0,label:"Relay 10 Battery"},batt_25:{type:"Bool",private:!0,label:"PM2.5 Battery"},batt_25in:{type:"Bool",private:!0,label:"PM2.5 Indoor Battery"},batleak1:{type:"Bool",private:!0,label:"Leak Detection 1 Battery"},batleak2:{type:"Bool",private:!0,label:"Leak Detection 2 Battery"},batleak3:{type:"Bool",private:!0,label:"Leak Detection 3 Battery"},batleak4:{type:"Bool",private:!0,label:"Leak Detection 4 Battery"},batt_lightning:{type:"Bool",label:"Lightning Detector Battery"},battsm1:{type:"Bool",label:"Soil Moisture 1 Battery"},battsm2:{type:"Bool",label:"Soil Moisture 2 Battery"},battsm3:{type:"Bool",label:"Soil Moisture 3 Battery"},battsm4:{type:"Bool",label:"Soil Moisture 4 Battery"},batt_co2:{type:"Bool",label:"CO2 battery"},batt_cellgateway:{type:"Bool",label:"Cellular Gateway battery"},leak1:{type:"Int",private:!0,label:"Leak Detection 1"},leak2:{type:"Int",private:!0,label:"Leak Detection 2"},leak3:{type:"Int",private:!0,label:"Leak Detection 3"},leak4:{type:"Int",private:!0,label:"Leak Detection 4"},lightning_day:{type:"Int",label:"Lightning strikes per day",avgFormat:o(1)},lightning_hour:{type:"Int",label:"Lightning strikes per hour",avgFormat:o(1)},lightning_distance:{type:"Float",label:"Distance of last lightning strike",suff:"mi",units:["mi","km"],spokenUnits:["miles","kilometers"]},lightning_time:{type:"Date",label:"Last strike time"},co2_in:{private:!0,type:"Int",label:"Indoor CO2 standalone"},co2_in_24h:{private:!0,type:"Int",label:"Indoor CO2 standalone, 24 hour running average"},solarradsum:{type:"Float",label:"Solar Radiation Sum",suff:" J/m^2",units:"J/m^2"},leafwet1x:{type:"Bool",label:"Leaf Wetness"},leafwetsum:{type:"Int",label:"Leaf Wetness Minutes",suff:"min",units:["minutes","hours"]},leafwetness1:{type:"Int",label:"Leaf Wetness 1",suff:"%"},leafwetness2:{type:"Int",label:"Leaf Wetness 2",suff:"%"},leafwetness3:{type:"Int",label:"Leaf Wetness 3",suff:"%"},leafwetness4:{type:"Int",label:"Leaf Wetness 4",suff:"%"},leafwetness5:{type:"Int",label:"Leaf Wetness 5",suff:"%"},leafwetness6:{type:"Int",label:"Leaf Wetness 6",suff:"%"},leafwetness7:{type:"Int",label:"Leaf Wetness 7",suff:"%"},leafwetness8:{type:"Int",label:"Leaf Wetness 8",suff:"%"},soiltens1:{type:"Float",label:"Soil Tension 1",suff:"cb",units:["cb","kPa"]},soiltens2:{type:"Float",label:"Soil Tension 2",suff:"cb",units:"soiltens1"},soiltens3:{type:"Float",label:"Soil Tension 3",suff:"cb",units:"soiltens1"},soiltens4:{type:"Float",label:"Soil Tension 4",suff:"cb",units:"soiltens1"},gdd:{type:"Int",label:"Growing Degree Days",suff:"days",avgFormat:o(1)},etos:{type:"Float",label:"Evapotranspiration short",suff:"in/day",units:["in/day","mm/day"]},etrs:{type:"Float",label:"Evapotranspiration, tall",units:"etos"},wbgtf:{type:"Float",label:"WBGT",suff:"\xb0F",private:!0,units:"tempf",simpleGraph:!0},wbgtflagzone:{type:"String",label:"Zone"},heatindexf:{type:"Float",label:"Heat Index",suff:"\xb0F",private:!0,units:"tempf",simpleGraph:!0},blackglobef:{type:"Float",label:"Black Globe",suff:"\xb0F",private:!0,units:"tempf",simpleGraph:!0},wetbulbf:{type:"Float",label:"Wet Bulb",suff:"\xb0F",private:!0,units:"tempf",simpleGraph:!0},nawbf:{type:"Float",label:"NAWB",suff:"\xb0F",private:!0,units:"tempf",simpleGraph:!0},pig:{type:"Float",label:"PIG",suff:"%",private:!0,simpleGraph:!0},dischargeft3s:{type:"Float",label:"Discharge Rate",suff:"ft3/s",units:"ft3s"},gaugeheightft:{type:"Float",label:"Gauge Height",suff:"ft",units:"ft"},watermeasph:{type:"Float",label:"Water pH",suff:"pH",units:"pH"},waternitratesmgl:{type:"Float",label:"Water Nitrates",suff:"mg/l",units:"mgl"},evapratelbft3hr:{type:"Float",label:"Evaporation Rate",suff:"lb/ft^2/hr",private:!0,simpleWidget:!0,units:["lb/ft^2/hr","kg/m^2/hr"],simpleGraph:!0},twlwm2:{type:"Float",label:"Thermal Work Limit",suff:"W/m^2",private:!0,simpleWidget:!0,simpleGraph:!0},densityaltitudeft:{type:"Float",label:"Density Altitude",suff:"ft",private:!0,simpleWidget:!0,simpleGraph:!0,units:"altitudeft"},crosswindmph:{type:"Float",label:"Crosswind/Headwind",suff:"mph",private:!0,simpleGraph:!0,units:"windspeedmph"},headwindmph:{type:"Float",label:"Crosswind/Headwind",suff:"mph",private:!0,simpleGraph:!0,units:"windspeedmph"},ahlu1:{type:"Float",label:"AHLU 1",suff:"",private:!0,simpleWidget:!0,simpleGraph:!0},ahlu2:{type:"Float",label:"AHLU 2",suff:"",private:!0,simpleWidget:!0,simpleGraph:!0},ahlu3:{type:"Float",label:"AHLU 3",suff:"",private:!0,simpleWidget:!0,simpleGraph:!0},humidityratiogplb:{type:"Int",label:"Humidity Ratio",suff:"gr/lb",private:!0,units:["gr/lb","gr/kg"],simpleWidget:!0,simpleGraph:!0},airdensitylbft3:{type:"Float",label:"Air Density",suff:"lb/ft^3",private:!0,simpleGraph:!0,units:["lb/ft^3","kg/m^3"]},relativeairdensity:{type:"Float",label:"Relative Air Density",suff:"%",private:!0,simpleGraph:!0},altitudeft:{type:"Float",label:"Altitude",suff:"ft",private:!0,simpleWidget:!0,simpleGraph:!0,units:["ft","m"]},deltaf:{type:"Float",label:"Delta T",suff:"\xb0F",private:!0,units:"tempf",simpleGraph:!0,simpleWidget:!0},airflowcfm:{type:"Float",label:"Volume Air Flow",suff:"cfm",private:!0,simpleWidget:!0,units:["cfm","m^3/min"],simpleGraph:!0},windchillf:{type:"Float",label:"Wind Chill",suff:"\xb0F",units:"tempf",private:!0,simpleWidget:!0,simpleGraph:!0},thinrc:{type:"Float",label:"Temperature Humidity Index (NRC)",suff:"",private:!0,simpleWidget:!0,simpleGraph:!0},thiyousef:{type:"Float",label:"Temperature Humidity Index (Yousef)",suff:"",private:!0,simpleWidget:!0,simpleGraph:!0}},getPropsByType:function(e){return r.keysWithValue(e,c.DATA_SPEC)}};c.PRIVATE_PARAMS=n.pipe(n.toPairs,n.filter(function(e){return e[1].private}),n.map(function(e){return e[0]}),n.concat(["indoor","battery"]))(c.DATA_SPEC),c.isSomething=function(e){return e||0===e},c.windDirLabel=function(e){return e=e<11.25?"N":e<33.75?"NNE":e<56.25?"NE":e<78.75?"ENE":e<101.25?"E":e<123.75?"ESE":e<146.25?"SE":e<168.75?"SSE":e<191.25?"S":e<213.75?"SSW":e<236.25?"SW":e<258.75?"WSW":e<281.25?"W":e<303.75?"WNW":e<326.25?"NW":e<348.75?"NNW":"N"},c.roundDownMins=n.curry(function(e,t){var a=6e4*e;return Math.floor(t/a)*a}),c.roundDataDateutc=n.curry(function(e){return n.map(n.over(n.lensProp("dateutc"),c.roundDownMins(e)))}),c.formatProp=function(e,t){if("dateutc"===e)return c.roundDownMins(1,Date.parse(t));if(!c.DATA_SPEC[e])return t;if("lightning_distance"===e){var a=parseFloat(t,10);return isNaN(a)?0:parseFloat((.62137*a).toFixed(2),10)}var n=t;switch(c.DATA_SPEC[e].type){case"Int":case"Bool":n=parseInt(t,10);break;case"Float":n=parseFloat(t,10);break;case"Date":n=1e3*parseInt(t,10)}return n},c.formatProps=n.mapObjIndexed(n.flip(c.formatProp)),c.getDisplayProps=function(){return n.pipe(n.toPairs,n.filter(function(e){return n.prop("label",e[1])}),n.fromPairs)(c.DATA_SPEC)},c.toCel=function(e){return 5/9*(e-32)},c.toFahr=function(e){return 1.8*e+32},c.getDeviceLabel=function(e){var t="my weather station";return e&&e.info&&(e.info.name&&(t=e.info.name),e.info.location&&(t+=" - "+e.info.location)),t},c.conversions={tempf:[n.pipe(n.identity,o(1)),n.pipe(c.toCel,o(1))],baromrelin:[n.pipe(n.identity,o(2)),n.pipe(n.divide(n.__,.0393700791974),o(1)),n.pipe(n.multiply(33.86389),o(1))],windspeedmph:[n.pipe(n.identity,o(1)),n.pipe(n.multiply(1.4666667136),o(1)),n.pipe(n.multiply(.44704),o(1)),n.pipe(n.multiply(1.609344),o(1)),n.pipe(n.multiply(.86897624190816),o(1))],hourlyrainin:[n.pipe(n.identity,o(2)),n.pipe(n.multiply(25.4),o(1))],dailyrainin:[n.pipe(n.identity,o(2)),n.pipe(n.multiply(25.4),o(1))],solarradiation:[n.pipe(n.identity,o(1)),n.pipe(n.multiply(126.7),Math.round)],soilhum1:[n.identity,function(e){return Math.floor(e/99*15+1)}],lightning_distance:[i,n.pipe(n.multiply(1.609344),o(1))],soiltens1:[n.pipe(n.identity,o(0)),n.pipe(n.identity,o(0))],leafwetsum:[n.pipe(n.identity,o(0)),n.pipe(n.divide(n.__,60),o(1))],etos:[n.pipe(n.identity,o(2)),n.pipe(n.multiply(25.4),o(1))],ft3s:[n.pipe(n.identity,o(1))],ft:[n.pipe(n.identity,o(2))],pH:[n.pipe(n.identity,o(2))],mgl:[n.pipe(n.identity,o(2))],altitudeft:[n.identity,n.pipe(n.multiply(.3048),o(1))],airdensitylbft3:[n.identity,n.pipe(n.multiply(16.0185),o(1))],evapratelbft3hr:[n.identity,n.pipe(n.multiply(16.0185),o(1))],airflowcfm:[n.identity,n.pipe(n.multiply(.028),o(1))],humidityratiogplb:[n.identity,n.pipe(n.multiply(.142857),o(1))]};var s,l={tempf:[n.identity,c.toFahr],baromrelin:[n.identity,n.pipe(n.multiply(.0393700791974)),n.pipe(n.divide(n.__,33.86389))],windspeedmph:[n.pipe(n.identity),n.pipe(n.divide(n.__,1.4666667136)),n.pipe(n.divide(n.__,.44704)),n.pipe(n.divide(n.__,1.609344)),n.pipe(n.divide(n.__,.86897624190816))],hourlyrainin:[n.pipe(n.identity),n.pipe(n.divide(n.__,25.4))],dailyrainin:[n.pipe(n.identity),n.pipe(n.divide(n.__,25.4))],solarradiation:[n.pipe(n.identity),n.pipe(n.divide(n.__,126.7))],soilhum1:[n.identity,function(e){return Math.floor((e-1)/15*99)}],lightning_distance:[i,n.divide(n.__,1.609344)],soiltens1:[n.pipe(n.identity,o(1)),n.pipe(n.identity,o(1))],leafwetsum:[n.pipe(n.multiply(60),o(0)),n.pipe(n.identity,o(1))],etos:[n.pipe(n.identity),n.pipe(n.divide(n.__,25.4))],altitudeft:[n.identity,n.pipe(n.divide(n.__,.3048),o(1))],airdensitylbft3:[n.identity,n.pipe(n.divide(n.__,16.0185),o(1))],evapratelbft3hr:[n.identity,n.pipe(n.divide(n.__,16.0185),o(1))],airflowcfm:[n.identity,n.pipe(n.divide(n.__,.028),o(1))],humidityratiogplb:[n.identity,n.pipe(n.divide(n.__,.142857),o(1))]};c.getUserSetting=(s=["settings"],n.pipe(n.flip(n.append)(s),n.path)),c.convertUnit=function(e,t,a){if(c.isSomething(a))return c.conversions[e][t](a)},c.convertUnitInverse=function(e,t,a){if(c.isSomething(a))return l[e][t](a)},c.getMasterUnitParam=function(e){var t=n.path([e,"units"],c.DATA_SPEC);return t?Array.isArray(t)?e:t:!!n.contains(e,["dewPoint","feelsLike"])&&"tempf"},c.getUserUnitI=n.curry(function(e,t){var a=e;"dailyrainin"===e&&(a="hourlyrainin");var n=c.getUserSetting(c.getMasterUnitParam(a))(t)||{};return c.isSomething(n.unit)?n.unit:0}),c.getUnitArr=function(e){var t=n.path([e,"units"],c.DATA_SPEC);return!!t&&(c.isArrayLike(t)?t:c.getUnitArr(t))},c.convertUnitForUser=n.curry(function(e,t,a){var n=c.getMasterUnitParam(t),r=c.getUserUnitI(t,e);return n?parseFloat(c.convertUnit(n,r,a)):a}),c.getSuff=function(e){return c.DATA_SPEC[e]&&c.DATA_SPEC[e].suff?c.DATA_SPEC[e].suff:"feelsLike"===e?"\xb0":""},c.getSuffForUser=n.curry(function(e,t){var a=c.getMasterUnitParam(t),n=c.getUserUnitI(t,e),r=c.getSuff(a||t);return n>0?r.replace(c.DATA_SPEC[a].units[0],c.DATA_SPEC[a].units[n]):r}),c.getSpokenSuffForUser=n.curry(function(e,t){if(/humidity/.test(t))return"percent";if(/^pm25/.test(t))return"micrograms per cubic meter";var a=c.getMasterUnitParam(t),n=c.getUserUnitI(t,e);return a?c.DATA_SPEC[a].spokenUnits[n]:""}),c.WIDGET_CONFIG={temp:{title:"Outdoor",priority:0,keywords:["temperature","outdoor","humidity","dew","feels","eclipse"],share:{social:!0,paths:[["currentDevice","lastData","tempf"],["currentDevice","lastData","humidity"],["currentDevice","lastData","dateutc"],["user","info","settings","tempf"],["device","yesterdayData"]],component:"TempWidget"}},tempkestrel:{title:"Ambient",priority:0,keywords:["temperature"],share:{social:!1,paths:[["currentDevice","lastData","tempf"],["currentDevice","lastData","dateutc"]],component:"GenericWidget"}},wind:{title:"Wind",priority:1,keywords:["wind","direction"],share:{social:!0,paths:[["currentDevice","lastData","winddir"],["currentDevice","lastData","windspeedmph"],["user","info","settings","windspeedmph"],["currentDevice","lastData","windgustmph"]],component:"WindWidget"}},rain:{title:"Rainfall",priority:2,keywords:["rain"],share:{social:!0,paths:[["currentDevice","lastData","hourlyrainin"],["currentDevice","lastData","dailyrainin"],["currentDevice","lastData","weeklyrainin"],["currentDevice","lastData","monthlyrainin"],["currentDevice","lastData","hourlyrainin"],["user","info","settings","windspeedmph"],["currentDevice","lastData","lastRain"]],component:"RainWidget"}},pressure:{title:"Pressure",priority:3,keywords:["pressure","barometer","barometric"],share:{social:!0,paths:[["currentDevice","lastData","humidity"],["currentDevice","lastData","dateutc"],["device","pressureWidgetLastHour"]],component:"PressureWidget"}},humidity:{title:"Humidity",priority:3.5,keywords:["humidity","moisture"],share:{social:!0,paths:[["currentDevice","lastData","humidity"],["currentDevice","lastData","dateutc"],["device","yesterdayData"]],component:"HumidityWidget"}},uv:{title:"UV Index",priority:5,keywords:["uv","index","ultra","violet","sun","eclipse"],share:{social:!0,paths:[["currentDevice","lastData","uv"]],component:"UvWidget"}},solar:{title:"Solar Radiation",priority:6,keywords:["solar","sun","radiation","eclipse"],share:{social:!0,paths:[["currentDevice","lastData","solarradiation"],["user","info","settings","solarradiation"],["currentDevice","lastData","hl","solarradiation","h"]],component:"SolarWidget"}},air:{title:"PM2.5 Outdoor",priority:6.5,keywords:["air","particulate","matter","smog","pm2.5"],share:{social:!0,paths:[["currentDevice","lastData","pm25"],["currentDevice","lastData","pm25_24h"]],component:"AirWidget"}},lightning:{title:"Lightning",priority:6.55,keywords:["lightning","strikes","thunder"],share:{social:!0,paths:[],component:"LightningWidget"}},indoor:{title:"Indoor",priority:6.6,keywords:["temperature","indoor","humidity"],share:{social:!0,paths:[["currentDevice","lastData","tempinf"],["user","info","settings","tempf"],["currentDevice","lastData","humidityin"]],component:"IndoorWidget"}},aqin:{title:"Air Quality Index",priority:6.65,keywords:["air","indoor","particulate","matter","smog","pm2.5"],share:{social:!0,paths:[["currentDevice","lastData","pm10_in_24h_aqin"],["currentDevice","lastData","pm25_in_24h_aqin"],["currentDevice","lastData","aqi_pm25_24h_aqin"],["currentDevice","lastData","aqi_pm10_24h_aqin"],["currentDevice","lastData","pm25_in_aqin"],["currentDevice","lastData","pm10_in_aqin"],["currentDevice","lastData","hl","pm10_in_aqin"],["currentDevice","lastData","hl","pm25_in_aqin"]]}},airin:{title:"PM2.5 Indoor",priority:6.7,keywords:["air","indoor","particulate","matter","smog","pm2.5"],share:{social:!0,paths:[["currentDevice","lastData","pm25_in"],["currentDevice","lastData","pm25_in_24h"]],component:"AirWidget"}},co2:{title:"Indoor Air Quality",priority:6.75,keywords:["air","indoor","particulate","matter","co2","carbon dioxide","parts per million"],share:{social:!0,paths:[["currentDevice","lastData","co2_in_aqin"],["currentDevice","lastData","pm_in_temp_aqin"],["currentDevice","lastData","pm_in_humidity_aqin"]]}},leak:{title:"Leak Detector",priority:6.8,keywords:["leak","water"],fields:["leak1","leak2","leak3","leak4"]},sensors:{title:"Sensors",priority:7,keywords:["sensors","temperature","humidity"],fields:["temp1f","temp2f","temp3f","temp4f","temp5f","temp6f","temp7f","temp8f","temp9f","temp10f","humidity1","humidity2","humidity3","humidity4","humidity5","humidity6","humidity7","humidity8","humidity9","humidity10"]},temp1f:{title:"Sensor 1",priority:7.01,keywords:["sensor"]},soiltemp1:{title:"Soil 1",priority:7.01,keywords:["soil","sensor"],share:{social:!0,component:"SoilWidget"}},temp2f:{title:"Sensor 2",priority:7.02,keywords:["sensor"]},soiltemp2:{title:"Soil 2",priority:7.02,keywords:["soil","sensor"],share:{social:!0,paths:[],component:"SoilWidget"}},temp3f:{title:"Sensor 3",priority:7.03,keywords:["sensor"]},soiltemp3:{title:"Soil 3",priority:7.03,keywords:["soil","sensor"]},temp4f:{title:"Sensor 4",priority:7.04,keywords:["sensor"]},soiltemp4:{title:"Soil 4",priority:7.04,keywords:["soil","sensor"]},temp5f:{title:"Sensor 5",priority:7.05,keywords:["sensor"]},soiltemp5:{title:"Soil 5",priority:7.05,keywords:["soil","sensor"]},temp6f:{title:"Sensor 6",priority:7.06,keywords:["sensor"]},soiltemp6:{title:"Soil 6",priority:7.06,keywords:["soil","sensor"]},temp7f:{title:"Sensor 7",priority:7.07,keywords:["sensor"]},soiltemp7:{title:"Soil 7",priority:7.07,keywords:["soil","sensor"]},temp8f:{title:"Sensor 8",priority:7.08,keywords:["sensor"]},soiltemp8:{title:"Soil 8",priority:7.08,keywords:["soil","sensor"]},temp9f:{title:"Sensor 9",priority:7.09,keywords:["sensor"]},soiltemp9:{title:"Soil 9",priority:7.09,keywords:["soil","sensor"]},temp10f:{title:"Sensor 10",priority:7.1,keywords:["sensor"]},soiltemp10:{title:"Soil 10",priority:7.1,keywords:["soil","sensor"],share:{social:!0,component:"SoilWidget"}},soiltens1:{title:"Soil Tension 1",priority:7.5,keywords:["soil","sensor"]},soiltens2:{title:"Soil Tension 2",priority:7.51,keywords:["soil","sensor"]},soiltens3:{title:"Soil Tension 3",priority:7.52,keywords:["soil","sensor"]},soiltens4:{title:"Soil Tension 4",priority:7.53,keywords:["soil","sensor"]},leafwet1x:{title:"Leaf Wetness",priority:7.6,keywords:["leaf","sensor"]},leafwetness1:{title:"Leaf Wetness 1",priority:7.6,keywords:["leaf","sensor"]},leafwetness2:{title:"Leaf Wetness 2",priority:7.6,keywords:["leaf","sensor"]},leafwetness3:{title:"Leaf Wetness 3",priority:7.6,keywords:["leaf","sensor"]},leafwetness4:{title:"Leaf Wetness 4",priority:7.6,keywords:["leaf","sensor"]},leafwetness5:{title:"Leaf Wetness 5",priority:7.6,keywords:["leaf","sensor"]},leafwetness6:{title:"Leaf Wetness 6",priority:7.6,keywords:["leaf","sensor"]},leafwetness7:{title:"Leaf Wetness 7",priority:7.6,keywords:["leaf","sensor"]},leafwetness8:{title:"Leaf Wetness 8",priority:7.6,keywords:["leaf","sensor"]},gdd:{title:"Growing Degree Days",priority:7.71,keywords:["growing","degree","days"]},etrs:{title:"Evapotranspiration",priority:7.73,keywords:["evapotranspiration"]},relays:{title:"Relays",priority:8,keywords:["relays"],fields:["relay1","relay2","relay3","relay4","relay5","relay6","relay7","relay8","relay9","relay10"]},battery:{title:"Batteries",priority:8.5,keywords:["battery","level"],fields:["battout","battin","batt1","batt2","batt3","batt4","batt5","batt6","batt7","batt8","batt9","batt10","battr1","battr2","battr3","battr4","battr5","battr6","battr7","battr8","battr9","battr10","batt_25","batt_25in","batleak1","batleak2","batleak3","batleak4","batt_lightning"]},forecast:{title:"Forecast",priority:8.51,keywords:["five","day","forecast","seven","tomorrow","5","7","report"],share:{social:!0}},map:{title:"Map",priority:8.52,keywords:["map","location"]},webcam:{title:"Webcam",priority:8.53,keywords:["webcam","camera","live","picture"]},sunMoon:{title:"Sun / Moon",priority:8.6,keywords:["sun","moon","solar","lunar","sunrise","astronomy"]},stats:{title:"Dev stats",priority:9,keywords:["stats"]},view:{title:"Quick View",priority:10,keywords:["quick","view"]},wbgt:{title:"WBGT",priority:11,keywords:["wbgt"]},heatindex:{title:"Heat Index",priority:12,keywords:["heatindex"]},pig:{title:"PIG",priority:11,keywords:["pig"]},crosswind:{title:"Crosswind/Headwind",priority:11},airdensity:{title:"Air Density",priority:11},dischargerate:{title:"Discharge Rate",priority:12,keywords:["dischargerate"],share:{social:!1,paths:[["currentDevice","lastData","dischargeft3s"],["currentDevice","lastData","dateutc"]],component:"DischargeRateWidget"}},gaugeheight:{title:"Gauge Height",priority:12,keywords:["gaugeheight"],share:{social:!1,paths:[["currentDevice","lastData","gaugeheightft"],["currentDevice","lastData","dateutc"]],component:"GaugeHeightWidget"}},waterph:{title:"Water pH",priority:12,keywords:["waterph"],share:{social:!1,paths:[["currentDevice","lastData","watermeasph"],["currentDevice","lastData","dateutc"]],component:"WaterPhWidget"}},waternitrates:{title:"Water Nitrates",priority:12,keywords:["waternitrates"],share:{social:!1,paths:[["currentDevice","lastData","waternitratesmgl"],["currentDevice","lastData","dateutc"]],component:"WaterNitratesWidget"}}},c.simpleWidgets=n.pipe(n.toPairs,n.map(function(e){return e[1].simpleWidget?e[0]:null}),n.filter(n.identity))(c.DATA_SPEC),c.simpleWidgets.forEach(function(e){c.WIDGET_CONFIG[e]={title:c.DATA_SPEC[e].label,priority:12}}),c.simpleGraphs=n.pipe(n.toPairs,n.map(function(e){return e[1].simpleGraph?e[0]:null}),n.filter(n.identity))(c.DATA_SPEC),n.range(1,11).forEach(function(e){c.WIDGET_CONFIG["temp".concat(e,"f")].share={paths:[["currentDevice","lastData","temp".concat(e,"f")],["user","info","settings","tempf"],["currentDevice","lastData","humidity".concat(e)],["sensor",n.always(e)]],social:!0,component:"IndoorWidget"},c.WIDGET_CONFIG["soiltemp"+e].share={social:!0,paths:[["currentDevice","lastData","soiltemp"+e],["user","info","settings","soilhum1"],["currentDevice","lastData","soilhum"+e],["sensor",n.always(e)]],component:"SoilWidget"}});var u=n.curry(function(e,t){return n.pipe(n.groupWith(n.F),n.all(function(t){return n.path(t,e)||0===n.path(t,e)}))(Array.isArray(t)?t:[t])});c.deviceHasStationType=n.curry(function(e,t){var a=n.path(["lastData","stationtype"],t);return a&&e.some(function(e){return a.includes(e)})}),c.deviceIsAKestrel=c.deviceHasStationType(["5000","5100","5200","5400","5500","5700","Kestrel DROP 1","Kestrel DROP 2","Kestrel D2 AG","Kestrel DROP 3","Kestrel D3 FIRE","3550AG","3550FW","usgs-"]);var d=function(e,t){var a;a=c.deviceIsAKestrel(e)&&"temp"===t?c.WIDGET_CONFIG.tempkestrel.title:c.deviceIsAKestrel(e)&&"humidity"===t?"Relative Humidity":c.WIDGET_CONFIG[t]&&c.WIDGET_CONFIG[t].title?c.WIDGET_CONFIG[t].title:t.replace(/(\d+)/," $1");var r=n.path(["settings",t],e);return r&&(a=n.path(["title"],r)||a),a};c.getWidgetTitle=d,c.customParamLabel=function(e,t){if(/temp\d/.test(e))return d(t,e)+" Temperature";if(/pm25_in/.test(e))return d(t,"airin")+(/_24/.test(e)?" 24 Hour Average":"");if(/pm25/.test(e))return d(t,"air")+(/_24/.test(e)?" 24 Hour Average":"");if("tempf"===e)return d(t,"temp")+" Temperature";if("battout"===e)return d(t,"temp")+" Battery";if("batt_25"===e)return d(t,"air")+" Battery";if("battin"===e)return d(t,"indoor")+" Battery";if("tempinf"===e)return d(t,"indoor")+" Temperature";if("humidity"===e)return d(t,"humidity");if("humidityin"===e)return d(t,"indoor")+" Humidity";if("feelsLikein"===e)return d(t,"indoor")+" Feels Like";if("dewPointin"===e)return d(t,"indoor")+" Dew Point";if("sunMoon"===e)return d(t,"sunMoon");if(/relay/.test(e))return d(t,e);if(/^leak/.test(e))return d(t,e);if(/^batleak/.test(e))return d(t,e.replace("bat",""))+" Battery";if(/battr\d/.test(e))return d(t,"relay".concat(e.match(/\d+/)[0]))+" Battery";if(/batt\d/.test(e)){var a="temp".concat(e.match(/\d+/)[0],"f"),n=u(t.lastData,a)?a:"soiltemp".concat(e.match(/\d+/)[0]);return d(t,n)+" Battery"}return/soilhum\d/.test(e)?d(t,"soiltemp".concat(e.match(/\d+/)[0]))+" Moisture":/humidity\d/.test(e)?d(t,"temp".concat(e.match(/\d+/)[0],"f"))+" Humidity":/feelsLike\d/.test(e)?d(t,"temp".concat(e.match(/\d+/)[0],"f"))+" Feels Like":/dewPoint\d/.test(e)?d(t,"temp".concat(e.match(/\d+/)[0],"f"))+" Dew Point":c.DATA_SPEC[e]?c.DATA_SPEC[e].label:"feelsLike"===e?"Feels Like":"dewPoint"===e?"Dew Point":"rain"===e?"Rainfall":"rainTotal"===e?"Rain Total":"notReporting"===e?"Device not reporting for 20 minutes":void 0},e.exports=c},71:function(e,t,a){"use strict";a.d(t,"b",function(){return n}),a.d(t,"d",function(){return r}),a.d(t,"c",function(){return i}),a.d(t,"a",function(){return o});var n="COMMON_SET_MAP_LOCATION",r="COMMON_TOGGLE_APP_CLASS",i="COMMON_SET_ONLINE",o="COMMON_SET_FORECAST_OPEN"},72:function(e,t,a){"use strict";a.r(t);var n=a(223);a.d(t,"deviceTestAction",function(){return n.a});var r=a(224);a.d(t,"updateCurrent",function(){return r.b});var i=a(169);a.d(t,"saveCurrent",function(){return i.c}),a.d(t,"dismissSaveCurrentError",function(){return i.a});var o=a(124);a.d(t,"fetchDevices",function(){return o.b}),a.d(t,"dismissFetchDevicesError",function(){return o.a});var c=a(170);a.d(t,"removeDevice",function(){return c.c}),a.d(t,"dismissRemoveDeviceError",function(){return c.a});var s=a(171);a.d(t,"checkMacAddress",function(){return s.a}),a.d(t,"dismissCheckMacAddressError",function(){return s.b});var l=a(95);a.d(t,"clearFetchDeviceDataCache",function(){return l.b}),a.d(t,"fetchDeviceData",function(){return l.e}),a.d(t,"dismissFetchDeviceDataError",function(){return l.d}),a.d(t,"clearHiresData",function(){return l.c}),a.d(t,"clearDataKey",function(){return l.a});var u=a(125);a.d(t,"removeDeviceData",function(){return u.c}),a.d(t,"dismissRemoveDeviceDataError",function(){return u.a});var d=a(172);a.d(t,"patch",function(){return d.b}),a.d(t,"dismissPatchError",function(){return d.a});var m=a(225);a.d(t,"setDeviceI",function(){return m.b});var p=a(226);a.d(t,"clearCurrent",function(){return p.a});var h=a(173);a.d(t,"fetchAllDevices",function(){return h.b}),a.d(t,"dismissFetchAllDevicesError",function(){return h.a});var f=a(126);a.d(t,"updateDeviceData",function(){return f.c}),a.d(t,"dismissUpdateDeviceDataError",function(){return f.a});var b=a(174);a.d(t,"fetchDevice",function(){return b.b}),a.d(t,"clearFetchedDevices",function(){return b.a});var v=a(227);a.d(t,"shareDevice",function(){return v.b});var g=a(228);a.d(t,"manualRefresh",function(){return g.a});var y=a(229);a.d(t,"editSummaryCell",function(){return y.a});var E=a(175);a.d(t,"getDevice",function(){return E.b}),a.d(t,"dismissGetDeviceError",function(){return E.a});var O=a(230);a.d(t,"setDashboardDevice",function(){return O.b});var w=a(127);a.d(t,"fetchForecast",function(){return w.c}),a.d(t,"dismissFetchForecastError",function(){return w.b}),a.d(t,"clearForecast",function(){return w.a});var k=a(231);a.d(t,"setMapVisibleDevices",function(){return k.b});var j=a(232);a.d(t,"setSidebar",function(){return j.b});var N=a(233);a.d(t,"focusDevice",function(){return N.a});var D=a(234);a.d(t,"hoverDevice",function(){return D.a});var S=a(235);a.d(t,"setThing",function(){return S.b})},73:function(e,t,a){"use strict";a.r(t);var n=a(218);a.d(t,"userTestAction",function(){return n.b});var r=a(158);a.d(t,"fetchUser",function(){return r.b}),a.d(t,"dismissFetchUserError",function(){return r.a});var i=a(160);a.d(t,"createUser",function(){return i.a}),a.d(t,"dismissCreateUserError",function(){return i.b});var o=a(104);a.d(t,"logoutUser",function(){return o.b}),a.d(t,"dismissLogoutUserError",function(){return o.a});var c=a(161);a.d(t,"confirmUser",function(){return c.a}),a.d(t,"dismissConfirmUserError",function(){return c.b});var s=a(219);a.d(t,"updateSetting",function(){return s.b});var l=a(162);a.d(t,"sendConfirmation",function(){return l.c}),a.d(t,"dismissSendConfirmationError",function(){return l.a});var u=a(163);a.d(t,"patch",function(){return u.b}),a.d(t,"dismissPatchError",function(){return u.a});var d=a(164);a.d(t,"fetchUsers",function(){return d.b}),a.d(t,"dismissFetchUsersError",function(){return d.a});var m=a(220);a.d(t,"becomeUser",function(){return m.a});var p=a(165);a.d(t,"fetchAlexaData",function(){return p.b}),a.d(t,"dismissFetchAlexaDataError",function(){return p.a});var h=a(221);a.d(t,"clearUsers",function(){return h.a});var f=a(166);a.d(t,"fetchInfo",function(){return f.b}),a.d(t,"dismissFetchInfoError",function(){return f.a});var b=a(132);a.d(t,"doModal",function(){return b.a});var v=a(222);a.d(t,"setUnits",function(){return v.b});var g=a(167);a.d(t,"createShortUrl",function(){return g.a}),a.d(t,"dismissCreateShortUrlError",function(){return g.b});var y=a(168);a.d(t,"refreshUser",function(){return y.c}),a.d(t,"dismissRefreshUserError",function(){return y.a})},865:function(e,t,a){e.exports=a.p+"static/media/KestrelMet_6000AG_station.051e9c9e.jpg"},95:function(e,t,a){"use strict";a.d(t,"b",function(){return u}),a.d(t,"e",function(){return d}),a.d(t,"d",function(){return m}),a.d(t,"c",function(){return p}),a.d(t,"a",function(){return h}),a.d(t,"f",function(){return b});var n=a(10),r=a(12),i=a(16),o=a(2),c=a(3),s=(a(125),a(126),i.a.service("device-data")),l={};function u(e){var t=JSON.stringify(Object(o.dissoc)("dataKey",e));return delete l[t],{type:"CLEAR_FETCH_DEVICE_DATA_CACHE"}}function d(e){return function(t,a){e.dataKey||(e.dataKey="dataTableData");var n=a(),i=n.device,u=(n.user,i.fetchDeviceDataKeysPending);if(Object(o.contains)(e.dataKey,u))return Promise.resolve(!0);t({type:r.r,dataKey:e.dataKey}),t({type:r.q,dataKey:e.dataKey,data:e});var d,m=JSON.stringify(Object(o.dissoc)("dataKey",e));return l[m]?(t({type:r.v,data:l[m],dataKey:e.dataKey}),Promise.resolve(l[m])):s.find({query:e}).then(function(a){return d=Object(o.filter)(c.isSomething,a.data),"summary"===e.stats&&(d=Object(o.pipe)(Object(o.groupBy)(Object(o.pipe)(Object(o.prop)("dateutc"),Object(c.getSummaryDocDate)(moment,i))),o.values,Object(o.map)(function(e){if(1===e.length)return e[0];var t=Object(c.reduceSummaries)(e);return["_id","_rev","type","PASSKEY","dateutc","loc"].forEach(function(a){return t[a]=e[0][a]}),t}),Object(o.map)(function(e){return e.dateutc<1591034724e3?Object(o.omit)(["lightning_day","lightning_hour"],e):e}),Object(o.map)(function(e){return e._id||(e._id=e.dateutc+"-"+e.PASSKEY),e}))(d)),l[m]=d,t({type:r.v,data:d,dataKey:e.dataKey}),d}).catch(function(a){t({type:r.u,data:{error:a},dataKey:e.dataKey})})}}function m(){return{type:r.t}}function p(){return{type:r.r,dataKey:"hiresData"}}function h(e){return{type:r.r,dataKey:e}}function f(e){return Object(c.getDisplayKeysFromState)(e.deviceDataAllDataKeys,e)}function b(e,t){var a;switch(t.type){case r.q:return e.fetchDeviceDataKeysPending.push(t.dataKey),Object(n.a)({},e,{fetchDeviceDataPending:!0,fetchDeviceDataError:null});case r.v:return(a=Object(n.a)({},e,{fetchDeviceDataPending:!1,fetchDeviceDataError:null}))[t.dataKey]=t.data,a.deviceDataAllDataKeys.push(t.dataKey),a.fetchDeviceDataKeysPending=Object(c.removeFromArr)(t.dataKey,a.fetchDeviceDataKeysPending),a.deviceDataAllDisplayKeys=f(a),a;case r.u:return(a=Object(n.a)({},e,{fetchDeviceDataPending:!1,fetchDeviceDataError:t.data.error})).fetchDeviceDataKeysPending=Object(c.removeFromArr)(t.dataKey,a.fetchDeviceDataKeysPending),a;case r.t:return Object(n.a)({},e,{fetchDeviceDataError:null});case r.s:return Object(n.a)({},e,{hiresData:null});case r.r:return delete(a=Object(n.a)({},e))[t.dataKey],a.deviceDataAllDataKeys=Object(c.removeFromArr)(t.dataKey,a.deviceDataAllDataKeys),a.deviceDataAllDisplayKeys=f(a),a;default:return e}}},96:function(e,t,a){"use strict";a.d(t,"b",function(){return c}),a.d(t,"c",function(){return s}),a.d(t,"a",function(){return l});var n=a(10),r=a(0),i=a(26),o=a(71);function c(e){return{type:o.c,data:e}}function s(){var e=Object(i.e)(),t=Object(r.useCallback)(function(){return e(c.apply(void 0,arguments))},[e]),a=Object(i.f)(function(e){return{online:e.common.online}},i.d);return Object.assign({setOnline:t},a)}function l(e,t){switch(t.type){case o.c:return Object(n.a)({},e,{online:t.data});default:return e}}},97:function(e,t,a){"use strict";var n=a(55),r=a(3),i=Object(r.isCordova)()?Object(n.b)():Object(n.a)(),o=!1;i.listen(function(e){Object(r.checkOldLinks)(e),"undefined"!==typeof ga&&o!==e.pathname&&(ga("send","pageview",e.pathname),o=e.pathname)}),t.a=i},99:function(e,t,a){"use strict";var n=a(991),r=0,i=1,o=2,c=3,s=3,l=2444238.5,u=278.83354,d=282.596403,m=.016718,p=149585e3,h=.533128,f=64.975464,b=349.383063,v=.0549,g=384401,y=.5181*g,E=29.53058868;function O(e){return Math.PI/180*e}function w(e){return Math.sin(O(e))}function k(e){return Math.cos(O(e))}function j(e,t){var a=(e- -22089456e5)/864e5/36525;return 2415020.75933+E*t+(1178e-7-1.55e-7*a)*a*a+33e-5*w(166.56+(132.87-.009173*a)*a)}function N(e,t){var a=1/1236.85*(e+=.25*(t&=s)),l=2415020.75933+E*e+(1178e-7-1.55e-7*a)*a*a+33e-5*w(166.56+(132.87-.009173*a)*a),u=359.2242+29.10535608*e-(333e-7-347e-8*a)*a*a,d=306.0253+385.81691806*e+(.0107306+1236e-8*a)*a*a,m=21.2964+390.67050646*e-(.0016528-239e-8*a)*a*a;switch(t){case r:case o:l+=(.1734-393e-6*a)*w(u)+.0021*w(2*u)-.4068*w(d)+.0161*w(2*d)-4e-4*w(3*d)+.0104*w(2*m)-.0051*w(u+d)-.0074*w(u-d)+4e-4*w(2*m+u)-4e-4*w(2*m-u)-6e-4*w(2*m+d)+.001*w(2*m-d)+5e-4*w(u+2*d);break;case i:case c:l+=(.1721-4e-4*a)*w(u)+.0021*w(2*u)-.628*w(d)+.0089*w(2*d)-4e-4*w(3*d)+.0079*w(2*m)-.0119*w(u+d)-.0047*w(u-d)+3e-4*w(2*m+u)-4e-4*w(2*m-u)-6e-4*w(2*m+d)+.0021*w(2*m-d)+3e-4*w(u+2*d)+4e-4*w(u-2*d)-3e-4*w(2*u+d),l+=(t<o?1:-1)*(.0028-4e-4*k(u)+3e-4*k(d))}return n.toDate(l)}t.PHASE_NEW=r,t.PHASE_FIRST=i,t.PHASE_FULL=o,t.PHASE_LAST=c,t.phase=function(e){e||(e=new Date);var t,a,r=(e=n.fromDate(e))-l,i=360/365.2422*r+(u-d),o=2*(t=Math.atan(Math.sqrt((1+m)/(1-m))*Math.tan(.5*function(e,t){for(var a=e=O(e);;){var n=a-t*Math.sin(a)-e;if(a-=n/(1-t*Math.cos(a)),Math.abs(n)<=1e-6)break}return a}(i,m))),180/Math.PI*t),c=d+o,s=(1+m*k(o))/(1-m*m),j=f+13.1763966*r,N=j-.1114041*r-b,D=1.2739*w(2*(j-c)-N),S=.1858*w(i),A=N+D-S-.37*w(i),_=6.2886*w(A),C=j+D+_-S+.214*w(2*A),x=(a=C-c+.6583*w(2*(C-c)))-360*Math.floor(a/360),I=g*(1-v*v)/(1+v*k(A+_));return{phase:1/360*x,illuminated:.5*(1-k(x)),age:E/360*x,distance:I,angular_diameter:y/I,sun_distance:p/s,sun_angular_diameter:h*s}},t.phase_hunt=function(e){e||(e=new Date);var t=new Date(e.getTime()-3888e6),a=Math.floor(12.3685*(t.getFullYear()+1/12*t.getMonth()-1900)),s=j(t.getTime(),a);e=n.fromDate(e);for(var l=a+1,u=j(t=s+E,l);s>e||e>=u;)a++,s=u,u=j(t+=E,++l);return{new_date:N(a,r),q1_date:N(a,i),full_date:N(a,o),q3_date:N(a,c),nextnew_date:N(l,r)}},t.phase_range=function(e,t,a){e=e.getTime(),t=t.getTime();for(var n,r=new Date(e-3888e6),i=N(n=Math.floor(12.3685*(r.getFullYear()+1/12*r.getMonth()-1900)),a);i.getTime()<e;)i=N(++n,a);for(var o=[];i.getTime()<=t;)o.push(i),i=N(++n,a);return o}},991:function(e,t,a){"use strict";t.fromDate=function(e){return e.getTime()/864e5+2440587.5},t.toDate=function(e){return new Date(864e5*(e-2440587.5))}}},[[512,2,1]]]);
//# sourceMappingURL=main.24c95607.chunk.js.map