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$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$) {
  this.$_component$ = $component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$;
  $component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$ = this.$_component$.$getClientId$() + ":" + this.$_propertyName$;
  var $mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$ = page.$getPageProperty$($AdfMatchMediaBehavior$$.$_UNMATCHED_PROPERTY_KEY$);
  null != this.$_unmatchedPropertyValue$ && (null == $mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$ && ($mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$ = []), null == $mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$[$component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$] && ($mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$[$component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$] = this.$_unmatchedPropertyValue$), null != $mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$[$component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$] && 
  this.$_matched$ && ($mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$[$component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$] = this.$_unmatchedPropertyValue$), page.$setPageProperty$($AdfMatchMediaBehavior$$.$_UNMATCHED_PROPERTY_KEY$, $mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$));
  ($component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$ = page.$getPageProperty$($AdfMatchMediaBehavior$$.$_MEDIA_QUERY_LISTENERS$)) || ($component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$ = {});
  var $mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$ = this.$_mql$, $mqListenerList$$inline_566$$ = $component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$[this.$_mediaQuery$];
  !$mqListenerList$$inline_566$$ || $mqListenerList$$inline_566$$ && 0 == $mqListenerList$$inline_566$$.length ? ($mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$.addListener($AdfMatchMediaBehavior$$.$_mediaQueryListEventListener$), $mqListenerList$$inline_566$$ = [{$instance$:this, listener:this.$_handleChange$, $mql$:$mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$}], $component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$[this.$_mediaQuery$] = $mqListenerList$$inline_566$$, 
  page.$setPageProperty$($AdfMatchMediaBehavior$$.$_MEDIA_QUERY_LISTENERS$, $component$$261_key$$inline_560_mediaQueryListenerMap$$inline_564$$)) : $mqListenerList$$inline_566$$.push({$instance$:this, listener:this.$_handleChange$, $mql$:$mql$$inline_565_unmatchedPropertyValueMap$$inline_561$$});
};
$AdfObject$$.$exportPrototypeSymbol$("AdfMatchMediaBehavior.prototype.initialize", {$initialize$:$AdfMatchMediaBehavior$$.prototype.$initialize$});
$AdfMatchMediaBehavior$$.prototype.$_handleChange$ = function $$AdfMatchMediaBehavior$$$$$_handleChange$$($mql$$3$$) {
  var $key$$42$$ = this.$_component$.$getClientId$() + ":" + this.$_propertyName$;
  this.$_unmatchedPropertyValue$ = page.$getPageProperty$($AdfMatchMediaBehavior$$.$_UNMATCHED_PROPERTY_KEY$)[$key$$42$$];
  $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$});
