function $AdfMatchMediaBehavior$$($propertyName$$35$$, $matchedPropertyValue$$, $mediaQuery$$, $unmatchedPropertyValue$$, $matchedInServer$$) {
  this.Init($propertyName$$35$$, $matchedPropertyValue$$, $mediaQuery$$, $unmatchedPropertyValue$$, $matchedInServer$$)
}
$goog$exportSymbol$$("AdfMatchMediaBehavior", $AdfMatchMediaBehavior$$);
$AdfObject$$.$createSubclass$($AdfMatchMediaBehavior$$, $AdfClientBehavior$$);
$AdfMatchMediaBehavior$$.$_UNMATCHED_PROPERTY_KEY$ = "adfinternal.matchMedia.unmatchedPropertyKey";
$AdfMatchMediaBehavior$$.$_MEDIA_QUERY_LISTENERS$ = "adfinternal.matchMedia.mediaQueryListeners";
$AdfMatchMediaBehavior$$.$_mediaQueryListEventListener$ = function $$AdfMatchMediaBehavior$$$$_mediaQueryListEventListener$$($mql$$) {
  var $mqListenerList$$ = $AdfPage$$.$PAGE$.$getPageProperty$($AdfMatchMediaBehavior$$.$_MEDIA_QUERY_LISTENERS$)[$mql$$.media];
  $mqListenerList$$ && 0 < $mqListenerList$$.length && $mqListenerList$$.forEach(function($mqListenerList$$) {
    try {
      $mqListenerList$$.$listener$.call($mqListenerList$$.$instance$, $mql$$)
    }catch($e$$77$$) {
      $AdfLogger$$.$LOGGER$.$logErrorAsSevere$($e$$77$$, "Failed while calling mediaQuery change handler")
    }
  })
};
$AdfMatchMediaBehavior$$.prototype.Init = function $$AdfMatchMediaBehavior$$$$Init$($mql$$1_propertyName$$36$$, $matchedPropertyValue$$1$$, $mediaQuery$$1$$, $unmatchedPropertyValue$$1$$, $matchedInServer$$1$$) {
  $AdfMatchMediaBehavior$$.$superclass$.Init.call(this);
  $AdfAssert$$.$assertString$($mql$$1_propertyName$$36$$);
  $AdfAssert$$.$assertString$($matchedPropertyValue$$1$$);
  $AdfAssert$$.$assertString$($mediaQuery$$1$$);
  this.$_propertyName$ = $mql$$1_propertyName$$36$$;
  this.$_matchedPropertyValue$ = $matchedPropertyValue$$1$$;
  this.$_mql$ = $mql$$1_propertyName$$36$$ = window.matchMedia($mediaQuery$$1$$);
  this.$_mediaQuery$ = $mql$$1_propertyName$$36$$.media;
  this.$_unmatchedPropertyValue$ = $unmatchedPropertyValue$$1$$;
  this.$_matched$ = "true" === $matchedInServer$$1$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfMatchMediaBehavior.prototype.Init", {Init:$AdfMatchMediaBehavior$$.prototype.Init});
$AdfMatchMediaBehavior$$.prototype.$initialize$ = function $$AdfMatchMediaBehavior$$$$$initialize$$($component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$) {
  this.$_component$ = $component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$;
  $component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$ = this.$_component$.$getClientId$() + ":" + this.$_propertyName$;
  var $mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$ = page.$getPageProperty$($AdfMatchMediaBehavior$$.$_UNMATCHED_PROPERTY_KEY$);
  this.$_unmatchedPropertyValue$ != $JSCompiler_alias_NULL$$ && ($mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$ == $JSCompiler_alias_NULL$$ && ($mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$ = []), $mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$[$component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$] == $JSCompiler_alias_NULL$$ && ($mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$[$component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$] = 
  this.$_unmatchedPropertyValue$), $mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$[$component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$] != $JSCompiler_alias_NULL$$ && this.$_matched$ && ($mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$[$component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$] = this.$_unmatchedPropertyValue$), page.$setPageProperty$($AdfMatchMediaBehavior$$.$_UNMATCHED_PROPERTY_KEY$, $mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$));
  ($component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$ = page.$getPageProperty$($AdfMatchMediaBehavior$$.$_MEDIA_QUERY_LISTENERS$)) || ($component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$ = {});
  var $mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$ = this.$_mql$, $mqListenerList$$inline_518$$ = $component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$[this.$_mediaQuery$];
  !$mqListenerList$$inline_518$$ || $mqListenerList$$inline_518$$ && 0 == $mqListenerList$$inline_518$$.length ? ($mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$.addListener($AdfMatchMediaBehavior$$.$_mediaQueryListEventListener$), $mqListenerList$$inline_518$$ = [{$instance$:this, $listener$:this.$_handleChange$, $mql$:$mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$}], $component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$[this.$_mediaQuery$] = $mqListenerList$$inline_518$$, 
  page.$setPageProperty$($AdfMatchMediaBehavior$$.$_MEDIA_QUERY_LISTENERS$, $component$$248_key$$inline_512_mediaQueryListenerMap$$inline_516$$)) : $mqListenerList$$inline_518$$.push({$instance$:this, $listener$:this.$_handleChange$, $mql$:$mql$$inline_517_unmatchedPropertyValueMap$$inline_513$$})
};
$AdfObject$$.$exportPrototypeSymbol$("AdfMatchMediaBehavior.prototype.initialize", {$initialize$:$AdfMatchMediaBehavior$$.prototype.$initialize$});
$AdfMatchMediaBehavior$$.prototype.$_handleChange$ = function $$AdfMatchMediaBehavior$$$$$_handleChange$$($mql$$3$$) {
  var $key$$35$$ = this.$_component$.$getClientId$() + ":" + this.$_propertyName$;
  this.$_unmatchedPropertyValue$ = page.$getPageProperty$($AdfMatchMediaBehavior$$.$_UNMATCHED_PROPERTY_KEY$)[$key$$35$$];
  $mql$$3$$.matches ? this.$_component$.setProperty(this.$_propertyName$, this.$_matchedPropertyValue$) : this.$_component$.$getProperty$(this.$_propertyName$) == this.$_matchedPropertyValue$ && this.$_component$.setProperty(this.$_propertyName$, this.$_unmatchedPropertyValue$)
};
$AdfMatchMediaBehavior$$.prototype.$destroy$ = function $$AdfMatchMediaBehavior$$$$$destroy$$() {
  var $mqListenerList$$2$$ = page.$getPageProperty$($AdfMatchMediaBehavior$$.$_MEDIA_QUERY_LISTENERS$)[this.$_mediaQuery$];
  if($mqListenerList$$2$$ && 0 < $mqListenerList$$2$$.length) {
    for(var $m$$ = 0;$m$$ < $mqListenerList$$2$$.length && $mqListenerList$$2$$[$m$$].$instance$ != this;$m$$++) {
    }
    1 == $mqListenerList$$2$$.length && this.$_mql$.removeListener($AdfMatchMediaBehavior$$.$_mediaQueryListEventListener$);
    $mqListenerList$$2$$.splice($m$$, 1)
  }
};
$AdfObject$$.$exportPrototypeSymbol$("AdfMatchMediaBehavior.prototype.destroy", {$destroy$:$AdfMatchMediaBehavior$$.prototype.$destroy$});
