{"ast":null,"code":"function _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    if (enumerableOnly) symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    });\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(Object(source), true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(Object(source)).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nimport * as React from 'react';\nimport createElement from \"../createElement\";\nimport css from \"../StyleSheet/css\";\nimport { getAssetByID } from \"../../modules/AssetRegistry\";\nimport resolveShadowValue from \"../StyleSheet/resolveShadowValue\";\nimport ImageLoader from \"../../modules/ImageLoader\";\nimport PixelRatio from \"../PixelRatio\";\nimport StyleSheet from \"../StyleSheet\";\nimport TextAncestorContext from \"../Text/TextAncestorContext\";\nimport View from \"../View\";\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\n\nfunction createTintColorSVG(tintColor, id) {\n  return tintColor && id != null ? React.createElement(\"svg\", {\n    style: {\n      position: 'absolute',\n      height: 0,\n      visibility: 'hidden',\n      width: 0\n    }\n  }, React.createElement(\"defs\", null, React.createElement(\"filter\", {\n    id: \"tint-\" + id,\n    suppressHydrationWarning: true\n  }, React.createElement(\"feFlood\", {\n    floodColor: \"\" + tintColor,\n    key: tintColor\n  }), React.createElement(\"feComposite\", {\n    in2: \"SourceAlpha\",\n    operator: \"atop\"\n  })))) : null;\n}\n\nfunction getFlatStyle(style, blurRadius, filterId) {\n  var flatStyle = _objectSpread({}, StyleSheet.flatten(style));\n\n  var filter = flatStyle.filter,\n      resizeMode = flatStyle.resizeMode,\n      shadowOffset = flatStyle.shadowOffset,\n      tintColor = flatStyle.tintColor;\n  var filters = [];\n  var _filter = null;\n\n  if (filter) {\n    filters.push(filter);\n  }\n\n  if (blurRadius) {\n    filters.push(\"blur(\" + blurRadius + \"px)\");\n  }\n\n  if (shadowOffset) {\n    var shadowString = resolveShadowValue(flatStyle);\n\n    if (shadowString) {\n      filters.push(\"drop-shadow(\" + shadowString + \")\");\n    }\n  }\n\n  if (tintColor && filterId != null) {\n    filters.push(\"url(#tint-\" + filterId + \")\");\n  }\n\n  if (filters.length > 0) {\n    _filter = filters.join(' ');\n  }\n\n  delete flatStyle.blurRadius;\n  delete flatStyle.shadowColor;\n  delete flatStyle.shadowOpacity;\n  delete flatStyle.shadowOffset;\n  delete flatStyle.shadowRadius;\n  delete flatStyle.tintColor;\n  delete flatStyle.overlayColor;\n  delete flatStyle.resizeMode;\n  return [flatStyle, resizeMode, _filter, tintColor];\n}\n\nfunction resolveAssetDimensions(source) {\n  if (typeof source === 'number') {\n    var _getAssetByID = getAssetByID(source),\n        _height = _getAssetByID.height,\n        _width = _getAssetByID.width;\n\n    return {\n      height: _height,\n      width: _width\n    };\n  } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n    var _height2 = source.height,\n        _width2 = source.width;\n    return {\n      height: _height2,\n      width: _width2\n    };\n  }\n}\n\nfunction resolveAssetUri(source) {\n  var uri = null;\n\n  if (typeof source === 'number') {\n    var asset = getAssetByID(source);\n    var scale = asset.scales[0];\n\n    if (asset.scales.length > 1) {\n      var preferredScale = PixelRatio.get();\n      scale = asset.scales.reduce(function (prev, curr) {\n        return Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev;\n      });\n    }\n\n    var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n    uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n  } else if (typeof source === 'string') {\n    uri = source;\n  } else if (source && typeof source.uri === 'string') {\n    uri = source.uri;\n  }\n\n  if (uri) {\n    var match = uri.match(svgDataUriPattern);\n\n    if (match) {\n      var prefix = match[1],\n          svg = match[2];\n      var encodedSvg = encodeURIComponent(svg);\n      return \"\" + prefix + encodedSvg;\n    }\n  }\n\n  return uri;\n}\n\nvar Image = React.forwardRef(function (props, ref) {\n  var accessibilityLabel = props.accessibilityLabel,\n      blurRadius = props.blurRadius,\n      defaultSource = props.defaultSource,\n      draggable = props.draggable,\n      onError = props.onError,\n      onLayout = props.onLayout,\n      onLoad = props.onLoad,\n      onLoadEnd = props.onLoadEnd,\n      onLoadStart = props.onLoadStart,\n      pointerEvents = props.pointerEvents,\n      source = props.source,\n      style = props.style,\n      rest = _objectWithoutPropertiesLoose(props, [\"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"]);\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (props.children) {\n      throw new Error('The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.');\n    }\n  }\n\n  var _React$useState = React.useState(function () {\n    var uri = resolveAssetUri(source);\n\n    if (uri != null) {\n      var isLoaded = ImageLoader.has(uri);\n\n      if (isLoaded) {\n        return LOADED;\n      }\n    }\n\n    return IDLE;\n  }),\n      state = _React$useState[0],\n      updateState = _React$useState[1];\n\n  var _React$useState2 = React.useState({}),\n      layout = _React$useState2[0],\n      updateLayout = _React$useState2[1];\n\n  var hasTextAncestor = React.useContext(TextAncestorContext);\n  var hiddenImageRef = React.useRef(null);\n  var filterRef = React.useRef(_filterId++);\n  var requestRef = React.useRef(null);\n  var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n\n  var _getFlatStyle = getFlatStyle(style, blurRadius, filterRef.current),\n      flatStyle = _getFlatStyle[0],\n      _resizeMode = _getFlatStyle[1],\n      filter = _getFlatStyle[2],\n      tintColor = _getFlatStyle[3];\n\n  var resizeMode = props.resizeMode || _resizeMode || 'cover';\n  var selectedSource = shouldDisplaySource ? source : defaultSource;\n  var displayImageUri = resolveAssetUri(selectedSource);\n  var imageSizeStyle = resolveAssetDimensions(selectedSource);\n  var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n  var backgroundSize = getBackgroundSize();\n  var hiddenImage = displayImageUri ? createElement('img', {\n    alt: accessibilityLabel || '',\n    classList: [classes.accessibilityImage],\n    draggable: draggable || false,\n    ref: hiddenImageRef,\n    src: displayImageUri\n  }) : null;\n\n  function getBackgroundSize() {\n    if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n      var _hiddenImageRef$curre = hiddenImageRef.current,\n          naturalHeight = _hiddenImageRef$curre.naturalHeight,\n          naturalWidth = _hiddenImageRef$curre.naturalWidth;\n      var _height3 = layout.height,\n          _width3 = layout.width;\n\n      if (naturalHeight && naturalWidth && _height3 && _width3) {\n        var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n        var x = Math.ceil(scaleFactor * naturalWidth);\n        var y = Math.ceil(scaleFactor * naturalHeight);\n        return x + \"px \" + y + \"px\";\n      }\n    }\n  }\n\n  function handleLayout(e) {\n    if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n      var _layout = e.nativeEvent.layout;\n      onLayout && onLayout(e);\n      updateLayout(_layout);\n    }\n  }\n\n  var uri = resolveAssetUri(source);\n  React.useEffect(function () {\n    abortPendingRequest();\n\n    if (uri != null) {\n      updateState(LOADING);\n\n      if (onLoadStart) {\n        onLoadStart();\n      }\n\n      requestRef.current = ImageLoader.load(uri, function load(e) {\n        updateState(LOADED);\n\n        if (onLoad) {\n          onLoad(e);\n        }\n\n        if (onLoadEnd) {\n          onLoadEnd();\n        }\n      }, function error() {\n        updateState(ERRORED);\n\n        if (onError) {\n          onError({\n            nativeEvent: {\n              error: \"Failed to load resource \" + uri + \" (404)\"\n            }\n          });\n        }\n\n        if (onLoadEnd) {\n          onLoadEnd();\n        }\n      });\n    }\n\n    function abortPendingRequest() {\n      if (requestRef.current != null) {\n        ImageLoader.abort(requestRef.current);\n        requestRef.current = null;\n      }\n    }\n\n    return abortPendingRequest;\n  }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n  return React.createElement(View, _extends({}, rest, {\n    accessibilityLabel: accessibilityLabel,\n    onLayout: handleLayout,\n    pointerEvents: pointerEvents,\n    ref: ref,\n    style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, flatStyle]\n  }), React.createElement(View, {\n    style: [styles.image, resizeModeStyles[resizeMode], {\n      backgroundImage: backgroundImage,\n      filter: filter\n    }, backgroundSize != null && {\n      backgroundSize: backgroundSize\n    }],\n    suppressHydrationWarning: true\n  }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image';\nvar ImageWithStatics = Image;\n\nImageWithStatics.getSize = function (uri, success, failure) {\n  ImageLoader.getSize(uri, success, failure);\n};\n\nImageWithStatics.prefetch = function (uri) {\n  return ImageLoader.prefetch(uri);\n};\n\nImageWithStatics.queryCache = function (uris) {\n  return ImageLoader.queryCache(uris);\n};\n\nvar classes = css.create({\n  accessibilityImage: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n    height: '100%',\n    opacity: 0,\n    width: '100%',\n    zIndex: -1\n  })\n});\nvar styles = StyleSheet.create({\n  root: {\n    flexBasis: 'auto',\n    overflow: 'hidden',\n    zIndex: 0\n  },\n  inline: {\n    display: 'inline-flex'\n  },\n  image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n    backgroundColor: 'transparent',\n    backgroundPosition: 'center',\n    backgroundRepeat: 'no-repeat',\n    backgroundSize: 'cover',\n    height: '100%',\n    width: '100%',\n    zIndex: -1\n  })\n});\nvar resizeModeStyles = StyleSheet.create({\n  center: {\n    backgroundSize: 'auto'\n  },\n  contain: {\n    backgroundSize: 'contain'\n  },\n  cover: {\n    backgroundSize: 'cover'\n  },\n  none: {\n    backgroundPosition: '0 0',\n    backgroundSize: 'auto'\n  },\n  repeat: {\n    backgroundPosition: '0 0',\n    backgroundRepeat: 'repeat',\n    backgroundSize: 'auto'\n  },\n  stretch: {\n    backgroundSize: '100% 100%'\n  }\n});\nexport default ImageWithStatics;","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/exports/Image/index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","React","createElement","css","getAssetByID","resolveShadowValue","ImageLoader","PixelRatio","StyleSheet","TextAncestorContext","View","ERRORED","LOADED","LOADING","IDLE","_filterId","svgDataUriPattern","createTintColorSVG","tintColor","id","style","position","height","visibility","width","suppressHydrationWarning","floodColor","in2","operator","getFlatStyle","blurRadius","filterId","flatStyle","flatten","resizeMode","shadowOffset","filters","_filter","shadowString","join","shadowColor","shadowOpacity","shadowRadius","overlayColor","resolveAssetDimensions","_getAssetByID","_height","_width","Array","isArray","_height2","_width2","resolveAssetUri","uri","asset","scale","scales","preferredScale","get","reduce","prev","curr","Math","abs","scaleSuffix","httpServerLocation","name","type","match","prefix","svg","encodedSvg","encodeURIComponent","Image","forwardRef","props","ref","accessibilityLabel","defaultSource","draggable","onError","onLayout","onLoad","onLoadEnd","onLoadStart","pointerEvents","rest","process","env","NODE_ENV","children","Error","_React$useState","useState","isLoaded","has","state","updateState","_React$useState2","layout","updateLayout","hasTextAncestor","useContext","hiddenImageRef","useRef","filterRef","requestRef","shouldDisplaySource","_getFlatStyle","current","_resizeMode","selectedSource","displayImageUri","imageSizeStyle","backgroundImage","backgroundSize","getBackgroundSize","hiddenImage","alt","classList","classes","accessibilityImage","src","_hiddenImageRef$curre","naturalHeight","naturalWidth","_height3","_width3","scaleFactor","min","x","ceil","y","handleLayout","e","_layout","nativeEvent","useEffect","abortPendingRequest","load","error","abort","styles","root","inline","image","resizeModeStyles","displayName","ImageWithStatics","getSize","success","failure","prefetch","queryCache","uris","create","absoluteFillObject","opacity","zIndex","flexBasis","overflow","display","backgroundColor","backgroundPosition","backgroundRepeat","center","contain","cover","none","repeat","stretch"],"mappings":"AAAA,SAASA,QAAT,GAAoB;AAAEA,EAAAA,QAAQ,GAAGC,MAAM,CAACC,MAAP,IAAiB,UAAUC,MAAV,EAAkB;AAAE,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,UAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAtB;;AAA2B,WAAK,IAAII,GAAT,IAAgBD,MAAhB,EAAwB;AAAE,YAAIN,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,MAArC,EAA6CC,GAA7C,CAAJ,EAAuD;AAAEL,UAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;AAAE;AAAE;;AAAC,WAAOL,MAAP;AAAgB,GAA5P;;AAA8P,SAAOH,QAAQ,CAACY,KAAT,CAAe,IAAf,EAAqBP,SAArB,CAAP;AAAyC;;AAE7T,SAASQ,6BAAT,CAAuCN,MAAvC,EAA+CO,QAA/C,EAAyD;AAAE,MAAIP,MAAM,IAAI,IAAd,EAAoB,OAAO,EAAP;AAAW,MAAIJ,MAAM,GAAG,EAAb;AAAiB,MAAIY,UAAU,GAAGd,MAAM,CAACe,IAAP,CAAYT,MAAZ,CAAjB;AAAsC,MAAIC,GAAJ,EAASJ,CAAT;;AAAY,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGW,UAAU,CAACT,MAA3B,EAAmCF,CAAC,EAApC,EAAwC;AAAEI,IAAAA,GAAG,GAAGO,UAAU,CAACX,CAAD,CAAhB;AAAqB,QAAIU,QAAQ,CAACG,OAAT,CAAiBT,GAAjB,KAAyB,CAA7B,EAAgC;AAAUL,IAAAA,MAAM,CAACK,GAAD,CAAN,GAAcD,MAAM,CAACC,GAAD,CAApB;AAA4B;;AAAC,SAAOL,MAAP;AAAgB;;AAEnT,SAASe,OAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;AAAE,MAAIJ,IAAI,GAAGf,MAAM,CAACe,IAAP,CAAYG,MAAZ,CAAX;;AAAgC,MAAIlB,MAAM,CAACoB,qBAAX,EAAkC;AAAE,QAAIC,OAAO,GAAGrB,MAAM,CAACoB,qBAAP,CAA6BF,MAA7B,CAAd;AAAoD,QAAIC,cAAJ,EAAoBE,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAAUC,GAAV,EAAe;AAAE,aAAOvB,MAAM,CAACwB,wBAAP,CAAgCN,MAAhC,EAAwCK,GAAxC,EAA6CE,UAApD;AAAiE,KAAjG,CAAV;AAA8GV,IAAAA,IAAI,CAACW,IAAL,CAAUf,KAAV,CAAgBI,IAAhB,EAAsBM,OAAtB;AAAiC;;AAAC,SAAON,IAAP;AAAc;;AAErV,SAASY,aAAT,CAAuBzB,MAAvB,EAA+B;AAAE,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AAAE,QAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAT,IAAgB,IAAhB,GAAuBC,SAAS,CAACD,CAAD,CAAhC,GAAsC,EAAnD;;AAAuD,QAAIA,CAAC,GAAG,CAAR,EAAW;AAAEc,MAAAA,OAAO,CAACjB,MAAM,CAACM,MAAD,CAAP,EAAiB,IAAjB,CAAP,CAA8BsB,OAA9B,CAAsC,UAAUrB,GAAV,EAAe;AAAEsB,QAAAA,eAAe,CAAC3B,MAAD,EAASK,GAAT,EAAcD,MAAM,CAACC,GAAD,CAApB,CAAf;AAA4C,OAAnG;AAAuG,KAApH,MAA0H,IAAIP,MAAM,CAAC8B,yBAAX,EAAsC;AAAE9B,MAAAA,MAAM,CAAC+B,gBAAP,CAAwB7B,MAAxB,EAAgCF,MAAM,CAAC8B,yBAAP,CAAiCxB,MAAjC,CAAhC;AAA4E,KAApH,MAA0H;AAAEW,MAAAA,OAAO,CAACjB,MAAM,CAACM,MAAD,CAAP,CAAP,CAAwBsB,OAAxB,CAAgC,UAAUrB,GAAV,EAAe;AAAEP,QAAAA,MAAM,CAACgC,cAAP,CAAsB9B,MAAtB,EAA8BK,GAA9B,EAAmCP,MAAM,CAACwB,wBAAP,CAAgClB,MAAhC,EAAwCC,GAAxC,CAAnC;AAAmF,OAApI;AAAwI;AAAE;;AAAC,SAAOL,MAAP;AAAgB;;AAEthB,SAAS2B,eAAT,CAAyBI,GAAzB,EAA8B1B,GAA9B,EAAmC2B,KAAnC,EAA0C;AAAE,MAAI3B,GAAG,IAAI0B,GAAX,EAAgB;AAAEjC,IAAAA,MAAM,CAACgC,cAAP,CAAsBC,GAAtB,EAA2B1B,GAA3B,EAAgC;AAAE2B,MAAAA,KAAK,EAAEA,KAAT;AAAgBT,MAAAA,UAAU,EAAE,IAA5B;AAAkCU,MAAAA,YAAY,EAAE,IAAhD;AAAsDC,MAAAA,QAAQ,EAAE;AAAhE,KAAhC;AAA0G,GAA5H,MAAkI;AAAEH,IAAAA,GAAG,CAAC1B,GAAD,CAAH,GAAW2B,KAAX;AAAmB;;AAAC,SAAOD,GAAP;AAAa;;AAWjN,OAAO,KAAKI,KAAZ,MAAuB,OAAvB;AACA,OAAOC,aAAP;AACA,OAAOC,GAAP;AACA,SAASC,YAAT;AACA,OAAOC,kBAAP;AACA,OAAOC,WAAP;AACA,OAAOC,UAAP;AACA,OAAOC,UAAP;AACA,OAAOC,mBAAP;AACA,OAAOC,IAAP;AACA,IAAIC,OAAO,GAAG,SAAd;AACA,IAAIC,MAAM,GAAG,QAAb;AACA,IAAIC,OAAO,GAAG,SAAd;AACA,IAAIC,IAAI,GAAG,MAAX;AACA,IAAIC,SAAS,GAAG,CAAhB;AACA,IAAIC,iBAAiB,GAAG,mCAAxB;;AAEA,SAASC,kBAAT,CAA4BC,SAA5B,EAAuCC,EAAvC,EAA2C;AACzC,SAAOD,SAAS,IAAIC,EAAE,IAAI,IAAnB,GAAuClB,KAAK,CAACC,aAAN,CAAoB,KAApB,EAA2B;AACvEkB,IAAAA,KAAK,EAAE;AACLC,MAAAA,QAAQ,EAAE,UADL;AAELC,MAAAA,MAAM,EAAE,CAFH;AAGLC,MAAAA,UAAU,EAAE,QAHP;AAILC,MAAAA,KAAK,EAAE;AAJF;AADgE,GAA3B,EAO9BvB,KAAK,CAACC,aAAN,CAAoB,MAApB,EAA4B,IAA5B,EAA+CD,KAAK,CAACC,aAAN,CAAoB,QAApB,EAA8B;AAC3FiB,IAAAA,EAAE,EAAE,UAAUA,EAD6E;AAE3FM,IAAAA,wBAAwB,EAAE;AAFiE,GAA9B,EAG/CxB,KAAK,CAACC,aAAN,CAAoB,SAApB,EAA+B;AAC7CwB,IAAAA,UAAU,EAAE,KAAKR,SAD4B;AAE7C/C,IAAAA,GAAG,EAAE+C;AAFwC,GAA/B,CAH+C,EAM9CjB,KAAK,CAACC,aAAN,CAAoB,aAApB,EAAmC;AAClDyB,IAAAA,GAAG,EAAE,aAD6C;AAElDC,IAAAA,QAAQ,EAAE;AAFwC,GAAnC,CAN8C,CAA/C,CAP8B,CAAvC,GAgBC,IAhBR;AAiBD;;AAED,SAASC,YAAT,CAAsBT,KAAtB,EAA6BU,UAA7B,EAAyCC,QAAzC,EAAmD;AACjD,MAAIC,SAAS,GAAGzC,aAAa,CAAC,EAAD,EAAKiB,UAAU,CAACyB,OAAX,CAAmBb,KAAnB,CAAL,CAA7B;;AAEA,MAAIlC,MAAM,GAAG8C,SAAS,CAAC9C,MAAvB;AAAA,MACIgD,UAAU,GAAGF,SAAS,CAACE,UAD3B;AAAA,MAEIC,YAAY,GAAGH,SAAS,CAACG,YAF7B;AAAA,MAGIjB,SAAS,GAAGc,SAAS,CAACd,SAH1B;AAMA,MAAIkB,OAAO,GAAG,EAAd;AACA,MAAIC,OAAO,GAAG,IAAd;;AAEA,MAAInD,MAAJ,EAAY;AACVkD,IAAAA,OAAO,CAAC9C,IAAR,CAAaJ,MAAb;AACD;;AAED,MAAI4C,UAAJ,EAAgB;AACdM,IAAAA,OAAO,CAAC9C,IAAR,CAAa,UAAUwC,UAAV,GAAuB,KAApC;AACD;;AAED,MAAIK,YAAJ,EAAkB;AAChB,QAAIG,YAAY,GAAGjC,kBAAkB,CAAC2B,SAAD,CAArC;;AAEA,QAAIM,YAAJ,EAAkB;AAChBF,MAAAA,OAAO,CAAC9C,IAAR,CAAa,iBAAiBgD,YAAjB,GAAgC,GAA7C;AACD;AACF;;AAED,MAAIpB,SAAS,IAAIa,QAAQ,IAAI,IAA7B,EAAmC;AACjCK,IAAAA,OAAO,CAAC9C,IAAR,CAAa,eAAeyC,QAAf,GAA0B,GAAvC;AACD;;AAED,MAAIK,OAAO,CAACnE,MAAR,GAAiB,CAArB,EAAwB;AACtBoE,IAAAA,OAAO,GAAGD,OAAO,CAACG,IAAR,CAAa,GAAb,CAAV;AACD;;AAID,SAAOP,SAAS,CAACF,UAAjB;AACA,SAAOE,SAAS,CAACQ,WAAjB;AACA,SAAOR,SAAS,CAACS,aAAjB;AACA,SAAOT,SAAS,CAACG,YAAjB;AACA,SAAOH,SAAS,CAACU,YAAjB;AACA,SAAOV,SAAS,CAACd,SAAjB;AAEA,SAAOc,SAAS,CAACW,YAAjB;AACA,SAAOX,SAAS,CAACE,UAAjB;AACA,SAAO,CAACF,SAAD,EAAYE,UAAZ,EAAwBG,OAAxB,EAAiCnB,SAAjC,CAAP;AACD;;AAED,SAAS0B,sBAAT,CAAgC1E,MAAhC,EAAwC;AACtC,MAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,QAAI2E,aAAa,GAAGzC,YAAY,CAAClC,MAAD,CAAhC;AAAA,QACI4E,OAAO,GAAGD,aAAa,CAACvB,MAD5B;AAAA,QAEIyB,MAAM,GAAGF,aAAa,CAACrB,KAF3B;;AAIA,WAAO;AACLF,MAAAA,MAAM,EAAEwB,OADH;AAELtB,MAAAA,KAAK,EAAEuB;AAFF,KAAP;AAID,GATD,MASO,IAAI7E,MAAM,IAAI,IAAV,IAAkB,CAAC8E,KAAK,CAACC,OAAN,CAAc/E,MAAd,CAAnB,IAA4C,OAAOA,MAAP,KAAkB,QAAlE,EAA4E;AACjF,QAAIgF,QAAQ,GAAGhF,MAAM,CAACoD,MAAtB;AAAA,QACI6B,OAAO,GAAGjF,MAAM,CAACsD,KADrB;AAEA,WAAO;AACLF,MAAAA,MAAM,EAAE4B,QADH;AAEL1B,MAAAA,KAAK,EAAE2B;AAFF,KAAP;AAID;AACF;;AAED,SAASC,eAAT,CAAyBlF,MAAzB,EAAiC;AAC/B,MAAImF,GAAG,GAAG,IAAV;;AAEA,MAAI,OAAOnF,MAAP,KAAkB,QAAtB,EAAgC;AAE9B,QAAIoF,KAAK,GAAGlD,YAAY,CAAClC,MAAD,CAAxB;AACA,QAAIqF,KAAK,GAAGD,KAAK,CAACE,MAAN,CAAa,CAAb,CAAZ;;AAEA,QAAIF,KAAK,CAACE,MAAN,CAAavF,MAAb,GAAsB,CAA1B,EAA6B;AAC3B,UAAIwF,cAAc,GAAGlD,UAAU,CAACmD,GAAX,EAArB;AAEAH,MAAAA,KAAK,GAAGD,KAAK,CAACE,MAAN,CAAaG,MAAb,CAAoB,UAAUC,IAAV,EAAgBC,IAAhB,EAAsB;AAChD,eAAOC,IAAI,CAACC,GAAL,CAASF,IAAI,GAAGJ,cAAhB,IAAkCK,IAAI,CAACC,GAAL,CAASH,IAAI,GAAGH,cAAhB,CAAlC,GAAoEI,IAApE,GAA2ED,IAAlF;AACD,OAFO,CAAR;AAGD;;AAED,QAAII,WAAW,GAAGT,KAAK,KAAK,CAAV,GAAc,MAAMA,KAAN,GAAc,GAA5B,GAAkC,EAApD;AACAF,IAAAA,GAAG,GAAGC,KAAK,GAAGA,KAAK,CAACW,kBAAN,GAA2B,GAA3B,GAAiCX,KAAK,CAACY,IAAvC,GAA8CF,WAA9C,GAA4D,GAA5D,GAAkEV,KAAK,CAACa,IAA3E,GAAkF,EAA7F;AACD,GAfD,MAeO,IAAI,OAAOjG,MAAP,KAAkB,QAAtB,EAAgC;AACrCmF,IAAAA,GAAG,GAAGnF,MAAN;AACD,GAFM,MAEA,IAAIA,MAAM,IAAI,OAAOA,MAAM,CAACmF,GAAd,KAAsB,QAApC,EAA8C;AACnDA,IAAAA,GAAG,GAAGnF,MAAM,CAACmF,GAAb;AACD;;AAED,MAAIA,GAAJ,EAAS;AACP,QAAIe,KAAK,GAAGf,GAAG,CAACe,KAAJ,CAAUpD,iBAAV,CAAZ;;AAEA,QAAIoD,KAAJ,EAAW;AACT,UAAIC,MAAM,GAAGD,KAAK,CAAC,CAAD,CAAlB;AAAA,UACIE,GAAG,GAAGF,KAAK,CAAC,CAAD,CADf;AAEA,UAAIG,UAAU,GAAGC,kBAAkB,CAACF,GAAD,CAAnC;AACA,aAAO,KAAKD,MAAL,GAAcE,UAArB;AACD;AACF;;AAED,SAAOlB,GAAP;AACD;;AAED,IAAIoB,KAAK,GAAgBxE,KAAK,CAACyE,UAAN,CAAiB,UAAUC,KAAV,EAAiBC,GAAjB,EAAsB;AAC9D,MAAIC,kBAAkB,GAAGF,KAAK,CAACE,kBAA/B;AAAA,MACI/C,UAAU,GAAG6C,KAAK,CAAC7C,UADvB;AAAA,MAEIgD,aAAa,GAAGH,KAAK,CAACG,aAF1B;AAAA,MAGIC,SAAS,GAAGJ,KAAK,CAACI,SAHtB;AAAA,MAIIC,OAAO,GAAGL,KAAK,CAACK,OAJpB;AAAA,MAKIC,QAAQ,GAAGN,KAAK,CAACM,QALrB;AAAA,MAMIC,MAAM,GAAGP,KAAK,CAACO,MANnB;AAAA,MAOIC,SAAS,GAAGR,KAAK,CAACQ,SAPtB;AAAA,MAQIC,WAAW,GAAGT,KAAK,CAACS,WARxB;AAAA,MASIC,aAAa,GAAGV,KAAK,CAACU,aAT1B;AAAA,MAUInH,MAAM,GAAGyG,KAAK,CAACzG,MAVnB;AAAA,MAWIkD,KAAK,GAAGuD,KAAK,CAACvD,KAXlB;AAAA,MAYIkE,IAAI,GAAG9G,6BAA6B,CAACmG,KAAD,EAAQ,CAAC,oBAAD,EAAuB,YAAvB,EAAqC,eAArC,EAAsD,WAAtD,EAAmE,SAAnE,EAA8E,UAA9E,EAA0F,QAA1F,EAAoG,WAApG,EAAiH,aAAjH,EAAgI,eAAhI,EAAiJ,QAAjJ,EAA2J,OAA3J,CAAR,CAZxC;;AAcA,MAAIY,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,QAAId,KAAK,CAACe,QAAV,EAAoB;AAClB,YAAM,IAAIC,KAAJ,CAAU,2KAAV,CAAN;AACD;AACF;;AAED,MAAIC,eAAe,GAAG3F,KAAK,CAAC4F,QAAN,CAAe,YAAY;AAC/C,QAAIxC,GAAG,GAAGD,eAAe,CAAClF,MAAD,CAAzB;;AAEA,QAAImF,GAAG,IAAI,IAAX,EAAiB;AACf,UAAIyC,QAAQ,GAAGxF,WAAW,CAACyF,GAAZ,CAAgB1C,GAAhB,CAAf;;AAEA,UAAIyC,QAAJ,EAAc;AACZ,eAAOlF,MAAP;AACD;AACF;;AAED,WAAOE,IAAP;AACD,GAZqB,CAAtB;AAAA,MAaIkF,KAAK,GAAGJ,eAAe,CAAC,CAAD,CAb3B;AAAA,MAcIK,WAAW,GAAGL,eAAe,CAAC,CAAD,CAdjC;;AAgBA,MAAIM,gBAAgB,GAAGjG,KAAK,CAAC4F,QAAN,CAAe,EAAf,CAAvB;AAAA,MACIM,MAAM,GAAGD,gBAAgB,CAAC,CAAD,CAD7B;AAAA,MAEIE,YAAY,GAAGF,gBAAgB,CAAC,CAAD,CAFnC;;AAIA,MAAIG,eAAe,GAAGpG,KAAK,CAACqG,UAAN,CAAiB7F,mBAAjB,CAAtB;AACA,MAAI8F,cAAc,GAAGtG,KAAK,CAACuG,MAAN,CAAa,IAAb,CAArB;AACA,MAAIC,SAAS,GAAGxG,KAAK,CAACuG,MAAN,CAAazF,SAAS,EAAtB,CAAhB;AACA,MAAI2F,UAAU,GAAGzG,KAAK,CAACuG,MAAN,CAAa,IAAb,CAAjB;AACA,MAAIG,mBAAmB,GAAGX,KAAK,KAAKpF,MAAV,IAAoBoF,KAAK,KAAKnF,OAAV,IAAqBiE,aAAa,IAAI,IAApF;;AAEA,MAAI8B,aAAa,GAAG/E,YAAY,CAACT,KAAD,EAAQU,UAAR,EAAoB2E,SAAS,CAACI,OAA9B,CAAhC;AAAA,MACI7E,SAAS,GAAG4E,aAAa,CAAC,CAAD,CAD7B;AAAA,MAEIE,WAAW,GAAGF,aAAa,CAAC,CAAD,CAF/B;AAAA,MAGI1H,MAAM,GAAG0H,aAAa,CAAC,CAAD,CAH1B;AAAA,MAII1F,SAAS,GAAG0F,aAAa,CAAC,CAAD,CAJ7B;;AAMA,MAAI1E,UAAU,GAAGyC,KAAK,CAACzC,UAAN,IAAoB4E,WAApB,IAAmC,OAApD;AACA,MAAIC,cAAc,GAAGJ,mBAAmB,GAAGzI,MAAH,GAAY4G,aAApD;AACA,MAAIkC,eAAe,GAAG5D,eAAe,CAAC2D,cAAD,CAArC;AACA,MAAIE,cAAc,GAAGrE,sBAAsB,CAACmE,cAAD,CAA3C;AACA,MAAIG,eAAe,GAAGF,eAAe,GAAG,WAAWA,eAAX,GAA6B,KAAhC,GAAwC,IAA7E;AACA,MAAIG,cAAc,GAAGC,iBAAiB,EAAtC;AAEA,MAAIC,WAAW,GAAGL,eAAe,GAAG9G,aAAa,CAAC,KAAD,EAAQ;AACvDoH,IAAAA,GAAG,EAAEzC,kBAAkB,IAAI,EAD4B;AAEvD0C,IAAAA,SAAS,EAAE,CAACC,OAAO,CAACC,kBAAT,CAF4C;AAGvD1C,IAAAA,SAAS,EAAEA,SAAS,IAAI,KAH+B;AAIvDH,IAAAA,GAAG,EAAE2B,cAJkD;AAKvDmB,IAAAA,GAAG,EAAEV;AALkD,GAAR,CAAhB,GAM5B,IANL;;AAQA,WAASI,iBAAT,GAA6B;AAC3B,QAAIb,cAAc,CAACM,OAAf,IAA0B,IAA1B,KAAmC3E,UAAU,KAAK,QAAf,IAA2BA,UAAU,KAAK,QAA7E,CAAJ,EAA4F;AAC1F,UAAIyF,qBAAqB,GAAGpB,cAAc,CAACM,OAA3C;AAAA,UACIe,aAAa,GAAGD,qBAAqB,CAACC,aAD1C;AAAA,UAEIC,YAAY,GAAGF,qBAAqB,CAACE,YAFzC;AAGA,UAAIC,QAAQ,GAAG3B,MAAM,CAAC7E,MAAtB;AAAA,UACIyG,OAAO,GAAG5B,MAAM,CAAC3E,KADrB;;AAGA,UAAIoG,aAAa,IAAIC,YAAjB,IAAiCC,QAAjC,IAA6CC,OAAjD,EAA0D;AACxD,YAAIC,WAAW,GAAGlE,IAAI,CAACmE,GAAL,CAAS,CAAT,EAAYF,OAAO,GAAGF,YAAtB,EAAoCC,QAAQ,GAAGF,aAA/C,CAAlB;AACA,YAAIM,CAAC,GAAGpE,IAAI,CAACqE,IAAL,CAAUH,WAAW,GAAGH,YAAxB,CAAR;AACA,YAAIO,CAAC,GAAGtE,IAAI,CAACqE,IAAL,CAAUH,WAAW,GAAGJ,aAAxB,CAAR;AACA,eAAOM,CAAC,GAAG,KAAJ,GAAYE,CAAZ,GAAgB,IAAvB;AACD;AACF;AACF;;AAED,WAASC,YAAT,CAAsBC,CAAtB,EAAyB;AACvB,QAAIpG,UAAU,KAAK,QAAf,IAA2BA,UAAU,KAAK,QAA1C,IAAsD+C,QAA1D,EAAoE;AAClE,UAAIsD,OAAO,GAAGD,CAAC,CAACE,WAAF,CAAcrC,MAA5B;AACAlB,MAAAA,QAAQ,IAAIA,QAAQ,CAACqD,CAAD,CAApB;AACAlC,MAAAA,YAAY,CAACmC,OAAD,CAAZ;AACD;AACF;;AAGD,MAAIlF,GAAG,GAAGD,eAAe,CAAClF,MAAD,CAAzB;AACA+B,EAAAA,KAAK,CAACwI,SAAN,CAAgB,YAAY;AAC1BC,IAAAA,mBAAmB;;AAEnB,QAAIrF,GAAG,IAAI,IAAX,EAAiB;AACf4C,MAAAA,WAAW,CAACpF,OAAD,CAAX;;AAEA,UAAIuE,WAAJ,EAAiB;AACfA,QAAAA,WAAW;AACZ;;AAEDsB,MAAAA,UAAU,CAACG,OAAX,GAAqBvG,WAAW,CAACqI,IAAZ,CAAiBtF,GAAjB,EAAsB,SAASsF,IAAT,CAAcL,CAAd,EAAiB;AAC1DrC,QAAAA,WAAW,CAACrF,MAAD,CAAX;;AAEA,YAAIsE,MAAJ,EAAY;AACVA,UAAAA,MAAM,CAACoD,CAAD,CAAN;AACD;;AAED,YAAInD,SAAJ,EAAe;AACbA,UAAAA,SAAS;AACV;AACF,OAVoB,EAUlB,SAASyD,KAAT,GAAiB;AAClB3C,QAAAA,WAAW,CAACtF,OAAD,CAAX;;AAEA,YAAIqE,OAAJ,EAAa;AACXA,UAAAA,OAAO,CAAC;AACNwD,YAAAA,WAAW,EAAE;AACXI,cAAAA,KAAK,EAAE,6BAA6BvF,GAA7B,GAAmC;AAD/B;AADP,WAAD,CAAP;AAKD;;AAED,YAAI8B,SAAJ,EAAe;AACbA,UAAAA,SAAS;AACV;AACF,OAxBoB,CAArB;AAyBD;;AAED,aAASuD,mBAAT,GAA+B;AAC7B,UAAIhC,UAAU,CAACG,OAAX,IAAsB,IAA1B,EAAgC;AAC9BvG,QAAAA,WAAW,CAACuI,KAAZ,CAAkBnC,UAAU,CAACG,OAA7B;AACAH,QAAAA,UAAU,CAACG,OAAX,GAAqB,IAArB;AACD;AACF;;AAED,WAAO6B,mBAAP;AACD,GA7CD,EA6CG,CAACrF,GAAD,EAAMqD,UAAN,EAAkBT,WAAlB,EAA+BjB,OAA/B,EAAwCE,MAAxC,EAAgDC,SAAhD,EAA2DC,WAA3D,CA7CH;AA8CA,SAAoBnF,KAAK,CAACC,aAAN,CAAoBQ,IAApB,EAA0B/C,QAAQ,CAAC,EAAD,EAAK2H,IAAL,EAAW;AAC/DT,IAAAA,kBAAkB,EAAEA,kBAD2C;AAE/DI,IAAAA,QAAQ,EAAEoD,YAFqD;AAG/DhD,IAAAA,aAAa,EAAEA,aAHgD;AAI/DT,IAAAA,GAAG,EAAEA,GAJ0D;AAK/DxD,IAAAA,KAAK,EAAE,CAAC0H,MAAM,CAACC,IAAR,EAAc1C,eAAe,IAAIyC,MAAM,CAACE,MAAxC,EAAgD/B,cAAhD,EAAgEjF,SAAhE;AALwD,GAAX,CAAlC,EAMH/B,KAAK,CAACC,aAAN,CAAoBQ,IAApB,EAA0B;AACzCU,IAAAA,KAAK,EAAE,CAAC0H,MAAM,CAACG,KAAR,EAAeC,gBAAgB,CAAChH,UAAD,CAA/B,EAA6C;AAClDgF,MAAAA,eAAe,EAAEA,eADiC;AAElDhI,MAAAA,MAAM,EAAEA;AAF0C,KAA7C,EAGJiI,cAAc,IAAI,IAAlB,IAA0B;AAC3BA,MAAAA,cAAc,EAAEA;AADW,KAHtB,CADkC;AAOzC1F,IAAAA,wBAAwB,EAAE;AAPe,GAA1B,CANG,EAchB4F,WAdgB,EAcHpG,kBAAkB,CAACC,SAAD,EAAYuF,SAAS,CAACI,OAAtB,CAdf,CAApB;AAeD,CA5JwB,CAAzB;AA6JApC,KAAK,CAAC0E,WAAN,GAAoB,OAApB;AAEA,IAAIC,gBAAgB,GAAG3E,KAAvB;;AAEA2E,gBAAgB,CAACC,OAAjB,GAA2B,UAAUhG,GAAV,EAAeiG,OAAf,EAAwBC,OAAxB,EAAiC;AAC1DjJ,EAAAA,WAAW,CAAC+I,OAAZ,CAAoBhG,GAApB,EAAyBiG,OAAzB,EAAkCC,OAAlC;AACD,CAFD;;AAIAH,gBAAgB,CAACI,QAAjB,GAA4B,UAAUnG,GAAV,EAAe;AACzC,SAAO/C,WAAW,CAACkJ,QAAZ,CAAqBnG,GAArB,CAAP;AACD,CAFD;;AAIA+F,gBAAgB,CAACK,UAAjB,GAA8B,UAAUC,IAAV,EAAgB;AAC5C,SAAOpJ,WAAW,CAACmJ,UAAZ,CAAuBC,IAAvB,CAAP;AACD,CAFD;;AAIA,IAAIlC,OAAO,GAAGrH,GAAG,CAACwJ,MAAJ,CAAW;AACvBlC,EAAAA,kBAAkB,EAAElI,aAAa,CAACA,aAAa,CAAC,EAAD,EAAKiB,UAAU,CAACoJ,kBAAhB,CAAd,EAAmD,EAAnD,EAAuD;AACtFtI,IAAAA,MAAM,EAAE,MAD8E;AAEtFuI,IAAAA,OAAO,EAAE,CAF6E;AAGtFrI,IAAAA,KAAK,EAAE,MAH+E;AAItFsI,IAAAA,MAAM,EAAE,CAAC;AAJ6E,GAAvD;AADV,CAAX,CAAd;AAQA,IAAIhB,MAAM,GAAGtI,UAAU,CAACmJ,MAAX,CAAkB;AAC7BZ,EAAAA,IAAI,EAAE;AACJgB,IAAAA,SAAS,EAAE,MADP;AAEJC,IAAAA,QAAQ,EAAE,QAFN;AAGJF,IAAAA,MAAM,EAAE;AAHJ,GADuB;AAM7Bd,EAAAA,MAAM,EAAE;AACNiB,IAAAA,OAAO,EAAE;AADH,GANqB;AAS7BhB,EAAAA,KAAK,EAAE1J,aAAa,CAACA,aAAa,CAAC,EAAD,EAAKiB,UAAU,CAACoJ,kBAAhB,CAAd,EAAmD,EAAnD,EAAuD;AACzEM,IAAAA,eAAe,EAAE,aADwD;AAEzEC,IAAAA,kBAAkB,EAAE,QAFqD;AAGzEC,IAAAA,gBAAgB,EAAE,WAHuD;AAIzEjD,IAAAA,cAAc,EAAE,OAJyD;AAKzE7F,IAAAA,MAAM,EAAE,MALiE;AAMzEE,IAAAA,KAAK,EAAE,MANkE;AAOzEsI,IAAAA,MAAM,EAAE,CAAC;AAPgE,GAAvD;AATS,CAAlB,CAAb;AAmBA,IAAIZ,gBAAgB,GAAG1I,UAAU,CAACmJ,MAAX,CAAkB;AACvCU,EAAAA,MAAM,EAAE;AACNlD,IAAAA,cAAc,EAAE;AADV,GAD+B;AAIvCmD,EAAAA,OAAO,EAAE;AACPnD,IAAAA,cAAc,EAAE;AADT,GAJ8B;AAOvCoD,EAAAA,KAAK,EAAE;AACLpD,IAAAA,cAAc,EAAE;AADX,GAPgC;AAUvCqD,EAAAA,IAAI,EAAE;AACJL,IAAAA,kBAAkB,EAAE,KADhB;AAEJhD,IAAAA,cAAc,EAAE;AAFZ,GAViC;AAcvCsD,EAAAA,MAAM,EAAE;AACNN,IAAAA,kBAAkB,EAAE,KADd;AAENC,IAAAA,gBAAgB,EAAE,QAFZ;AAGNjD,IAAAA,cAAc,EAAE;AAHV,GAd+B;AAmBvCuD,EAAAA,OAAO,EAAE;AACPvD,IAAAA,cAAc,EAAE;AADT;AAnB8B,CAAlB,CAAvB;AAuBA,eAAeiC,gBAAf","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport resolveShadowValue from '../StyleSheet/resolveShadowValue';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\n\nfunction createTintColorSVG(tintColor, id) {\n  return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n    style: {\n      position: 'absolute',\n      height: 0,\n      visibility: 'hidden',\n      width: 0\n    }\n  }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n    id: \"tint-\" + id,\n    suppressHydrationWarning: true\n  }, /*#__PURE__*/React.createElement(\"feFlood\", {\n    floodColor: \"\" + tintColor,\n    key: tintColor\n  }), /*#__PURE__*/React.createElement(\"feComposite\", {\n    in2: \"SourceAlpha\",\n    operator: \"atop\"\n  })))) : null;\n}\n\nfunction getFlatStyle(style, blurRadius, filterId) {\n  var flatStyle = _objectSpread({}, StyleSheet.flatten(style));\n\n  var filter = flatStyle.filter,\n      resizeMode = flatStyle.resizeMode,\n      shadowOffset = flatStyle.shadowOffset,\n      tintColor = flatStyle.tintColor; // Add CSS filters\n  // React Native exposes these features as props and proprietary styles\n\n  var filters = [];\n  var _filter = null;\n\n  if (filter) {\n    filters.push(filter);\n  }\n\n  if (blurRadius) {\n    filters.push(\"blur(\" + blurRadius + \"px)\");\n  }\n\n  if (shadowOffset) {\n    var shadowString = resolveShadowValue(flatStyle);\n\n    if (shadowString) {\n      filters.push(\"drop-shadow(\" + shadowString + \")\");\n    }\n  }\n\n  if (tintColor && filterId != null) {\n    filters.push(\"url(#tint-\" + filterId + \")\");\n  }\n\n  if (filters.length > 0) {\n    _filter = filters.join(' ');\n  } // These styles are converted to CSS filters applied to the\n  // element displaying the background image.\n\n\n  delete flatStyle.blurRadius;\n  delete flatStyle.shadowColor;\n  delete flatStyle.shadowOpacity;\n  delete flatStyle.shadowOffset;\n  delete flatStyle.shadowRadius;\n  delete flatStyle.tintColor; // These styles are not supported on View\n\n  delete flatStyle.overlayColor;\n  delete flatStyle.resizeMode;\n  return [flatStyle, resizeMode, _filter, tintColor];\n}\n\nfunction resolveAssetDimensions(source) {\n  if (typeof source === 'number') {\n    var _getAssetByID = getAssetByID(source),\n        _height = _getAssetByID.height,\n        _width = _getAssetByID.width;\n\n    return {\n      height: _height,\n      width: _width\n    };\n  } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n    var _height2 = source.height,\n        _width2 = source.width;\n    return {\n      height: _height2,\n      width: _width2\n    };\n  }\n}\n\nfunction resolveAssetUri(source) {\n  var uri = null;\n\n  if (typeof source === 'number') {\n    // get the URI from the packager\n    var asset = getAssetByID(source);\n    var scale = asset.scales[0];\n\n    if (asset.scales.length > 1) {\n      var preferredScale = PixelRatio.get(); // Get the scale which is closest to the preferred scale\n\n      scale = asset.scales.reduce(function (prev, curr) {\n        return Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev;\n      });\n    }\n\n    var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n    uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n  } else if (typeof source === 'string') {\n    uri = source;\n  } else if (source && typeof source.uri === 'string') {\n    uri = source.uri;\n  }\n\n  if (uri) {\n    var match = uri.match(svgDataUriPattern); // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n\n    if (match) {\n      var prefix = match[1],\n          svg = match[2];\n      var encodedSvg = encodeURIComponent(svg);\n      return \"\" + prefix + encodedSvg;\n    }\n  }\n\n  return uri;\n}\n\nvar Image = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  var accessibilityLabel = props.accessibilityLabel,\n      blurRadius = props.blurRadius,\n      defaultSource = props.defaultSource,\n      draggable = props.draggable,\n      onError = props.onError,\n      onLayout = props.onLayout,\n      onLoad = props.onLoad,\n      onLoadEnd = props.onLoadEnd,\n      onLoadStart = props.onLoadStart,\n      pointerEvents = props.pointerEvents,\n      source = props.source,\n      style = props.style,\n      rest = _objectWithoutPropertiesLoose(props, [\"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"]);\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (props.children) {\n      throw new Error('The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.');\n    }\n  }\n\n  var _React$useState = React.useState(function () {\n    var uri = resolveAssetUri(source);\n\n    if (uri != null) {\n      var isLoaded = ImageLoader.has(uri);\n\n      if (isLoaded) {\n        return LOADED;\n      }\n    }\n\n    return IDLE;\n  }),\n      state = _React$useState[0],\n      updateState = _React$useState[1];\n\n  var _React$useState2 = React.useState({}),\n      layout = _React$useState2[0],\n      updateLayout = _React$useState2[1];\n\n  var hasTextAncestor = React.useContext(TextAncestorContext);\n  var hiddenImageRef = React.useRef(null);\n  var filterRef = React.useRef(_filterId++);\n  var requestRef = React.useRef(null);\n  var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n\n  var _getFlatStyle = getFlatStyle(style, blurRadius, filterRef.current),\n      flatStyle = _getFlatStyle[0],\n      _resizeMode = _getFlatStyle[1],\n      filter = _getFlatStyle[2],\n      tintColor = _getFlatStyle[3];\n\n  var resizeMode = props.resizeMode || _resizeMode || 'cover';\n  var selectedSource = shouldDisplaySource ? source : defaultSource;\n  var displayImageUri = resolveAssetUri(selectedSource);\n  var imageSizeStyle = resolveAssetDimensions(selectedSource);\n  var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n  var backgroundSize = getBackgroundSize(); // Accessibility image allows users to trigger the browser's image context menu\n\n  var hiddenImage = displayImageUri ? createElement('img', {\n    alt: accessibilityLabel || '',\n    classList: [classes.accessibilityImage],\n    draggable: draggable || false,\n    ref: hiddenImageRef,\n    src: displayImageUri\n  }) : null;\n\n  function getBackgroundSize() {\n    if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n      var _hiddenImageRef$curre = hiddenImageRef.current,\n          naturalHeight = _hiddenImageRef$curre.naturalHeight,\n          naturalWidth = _hiddenImageRef$curre.naturalWidth;\n      var _height3 = layout.height,\n          _width3 = layout.width;\n\n      if (naturalHeight && naturalWidth && _height3 && _width3) {\n        var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n        var x = Math.ceil(scaleFactor * naturalWidth);\n        var y = Math.ceil(scaleFactor * naturalHeight);\n        return x + \"px \" + y + \"px\";\n      }\n    }\n  }\n\n  function handleLayout(e) {\n    if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n      var _layout = e.nativeEvent.layout;\n      onLayout && onLayout(e);\n      updateLayout(_layout);\n    }\n  } // Image loading\n\n\n  var uri = resolveAssetUri(source);\n  React.useEffect(function () {\n    abortPendingRequest();\n\n    if (uri != null) {\n      updateState(LOADING);\n\n      if (onLoadStart) {\n        onLoadStart();\n      }\n\n      requestRef.current = ImageLoader.load(uri, function load(e) {\n        updateState(LOADED);\n\n        if (onLoad) {\n          onLoad(e);\n        }\n\n        if (onLoadEnd) {\n          onLoadEnd();\n        }\n      }, function error() {\n        updateState(ERRORED);\n\n        if (onError) {\n          onError({\n            nativeEvent: {\n              error: \"Failed to load resource \" + uri + \" (404)\"\n            }\n          });\n        }\n\n        if (onLoadEnd) {\n          onLoadEnd();\n        }\n      });\n    }\n\n    function abortPendingRequest() {\n      if (requestRef.current != null) {\n        ImageLoader.abort(requestRef.current);\n        requestRef.current = null;\n      }\n    }\n\n    return abortPendingRequest;\n  }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n  return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n    accessibilityLabel: accessibilityLabel,\n    onLayout: handleLayout,\n    pointerEvents: pointerEvents,\n    ref: ref,\n    style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, flatStyle]\n  }), /*#__PURE__*/React.createElement(View, {\n    style: [styles.image, resizeModeStyles[resizeMode], {\n      backgroundImage: backgroundImage,\n      filter: filter\n    }, backgroundSize != null && {\n      backgroundSize: backgroundSize\n    }],\n    suppressHydrationWarning: true\n  }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image'; // $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\n\nvar ImageWithStatics = Image;\n\nImageWithStatics.getSize = function (uri, success, failure) {\n  ImageLoader.getSize(uri, success, failure);\n};\n\nImageWithStatics.prefetch = function (uri) {\n  return ImageLoader.prefetch(uri);\n};\n\nImageWithStatics.queryCache = function (uris) {\n  return ImageLoader.queryCache(uris);\n};\n\nvar classes = css.create({\n  accessibilityImage: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n    height: '100%',\n    opacity: 0,\n    width: '100%',\n    zIndex: -1\n  })\n});\nvar styles = StyleSheet.create({\n  root: {\n    flexBasis: 'auto',\n    overflow: 'hidden',\n    zIndex: 0\n  },\n  inline: {\n    display: 'inline-flex'\n  },\n  image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n    backgroundColor: 'transparent',\n    backgroundPosition: 'center',\n    backgroundRepeat: 'no-repeat',\n    backgroundSize: 'cover',\n    height: '100%',\n    width: '100%',\n    zIndex: -1\n  })\n});\nvar resizeModeStyles = StyleSheet.create({\n  center: {\n    backgroundSize: 'auto'\n  },\n  contain: {\n    backgroundSize: 'contain'\n  },\n  cover: {\n    backgroundSize: 'cover'\n  },\n  none: {\n    backgroundPosition: '0 0',\n    backgroundSize: 'auto'\n  },\n  repeat: {\n    backgroundPosition: '0 0',\n    backgroundRepeat: 'repeat',\n    backgroundSize: 'auto'\n  },\n  stretch: {\n    backgroundSize: '100% 100%'\n  }\n});\nexport default ImageWithStatics;"]},"metadata":{},"sourceType":"module"}