{"ast":null,"code":"'use strict';\n\nlet {\n  isClean,\n  my\n} = require('./symbols');\nlet MapGenerator = require('./map-generator');\nlet stringify = require('./stringify');\nlet Container = require('./container');\nlet Document = require('./document');\nlet warnOnce = require('./warn-once');\nlet Result = require('./result');\nlet parse = require('./parse');\nlet Root = require('./root');\nconst TYPE_TO_CLASS_NAME = {\n  atrule: 'AtRule',\n  comment: 'Comment',\n  decl: 'Declaration',\n  document: 'Document',\n  root: 'Root',\n  rule: 'Rule'\n};\nconst PLUGIN_PROPS = {\n  AtRule: true,\n  AtRuleExit: true,\n  Comment: true,\n  CommentExit: true,\n  Declaration: true,\n  DeclarationExit: true,\n  Document: true,\n  DocumentExit: true,\n  Once: true,\n  OnceExit: true,\n  postcssPlugin: true,\n  prepare: true,\n  Root: true,\n  RootExit: true,\n  Rule: true,\n  RuleExit: true\n};\nconst NOT_VISITORS = {\n  Once: true,\n  postcssPlugin: true,\n  prepare: true\n};\nconst CHILDREN = 0;\nfunction isPromise(obj) {\n  return typeof obj === 'object' && typeof obj.then === 'function';\n}\nfunction getEvents(node) {\n  let key = false;\n  let type = TYPE_TO_CLASS_NAME[node.type];\n  if (node.type === 'decl') {\n    key = node.prop.toLowerCase();\n  } else if (node.type === 'atrule') {\n    key = node.name.toLowerCase();\n  }\n  if (key && node.append) {\n    return [type, type + '-' + key, CHILDREN, type + 'Exit', type + 'Exit-' + key];\n  } else if (key) {\n    return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key];\n  } else if (node.append) {\n    return [type, CHILDREN, type + 'Exit'];\n  } else {\n    return [type, type + 'Exit'];\n  }\n}\nfunction toStack(node) {\n  let events;\n  if (node.type === 'document') {\n    events = ['Document', CHILDREN, 'DocumentExit'];\n  } else if (node.type === 'root') {\n    events = ['Root', CHILDREN, 'RootExit'];\n  } else {\n    events = getEvents(node);\n  }\n  return {\n    eventIndex: 0,\n    events,\n    iterator: 0,\n    node,\n    visitorIndex: 0,\n    visitors: []\n  };\n}\nfunction cleanMarks(node) {\n  node[isClean] = false;\n  if (node.nodes) node.nodes.forEach(i => cleanMarks(i));\n  return node;\n}\nlet postcss = {};\nclass LazyResult {\n  constructor(processor, css, opts) {\n    this.stringified = false;\n    this.processed = false;\n    let root;\n    if (typeof css === 'object' && css !== null && (css.type === 'root' || css.type === 'document')) {\n      root = cleanMarks(css);\n    } else if (css instanceof LazyResult || css instanceof Result) {\n      root = cleanMarks(css.root);\n      if (css.map) {\n        if (typeof opts.map === 'undefined') opts.map = {};\n        if (!opts.map.inline) opts.map.inline = false;\n        opts.map.prev = css.map;\n      }\n    } else {\n      let parser = parse;\n      if (opts.syntax) parser = opts.syntax.parse;\n      if (opts.parser) parser = opts.parser;\n      if (parser.parse) parser = parser.parse;\n      try {\n        root = parser(css, opts);\n      } catch (error) {\n        this.processed = true;\n        this.error = error;\n      }\n      if (root && !root[my]) {\n        /* c8 ignore next 2 */\n        Container.rebuild(root);\n      }\n    }\n    this.result = new Result(processor, root, opts);\n    this.helpers = {\n      ...postcss,\n      postcss,\n      result: this.result\n    };\n    this.plugins = this.processor.plugins.map(plugin => {\n      if (typeof plugin === 'object' && plugin.prepare) {\n        return {\n          ...plugin,\n          ...plugin.prepare(this.result)\n        };\n      } else {\n        return plugin;\n      }\n    });\n  }\n  async() {\n    if (this.error) return Promise.reject(this.error);\n    if (this.processed) return Promise.resolve(this.result);\n    if (!this.processing) {\n      this.processing = this.runAsync();\n    }\n    return this.processing;\n  }\n  catch(onRejected) {\n    return this.async().catch(onRejected);\n  }\n  get content() {\n    return this.stringify().content;\n  }\n  get css() {\n    return this.stringify().css;\n  }\n  finally(onFinally) {\n    return this.async().then(onFinally, onFinally);\n  }\n  getAsyncError() {\n    throw new Error('Use process(css).then(cb) to work with async plugins');\n  }\n  handleError(error, node) {\n    let plugin = this.result.lastPlugin;\n    try {\n      if (node) node.addToError(error);\n      this.error = error;\n      if (error.name === 'CssSyntaxError' && !error.plugin) {\n        error.plugin = plugin.postcssPlugin;\n        error.setMessage();\n      } else if (plugin.postcssVersion) {\n        if (process.env.NODE_ENV !== 'production') {\n          let pluginName = plugin.postcssPlugin;\n          let pluginVer = plugin.postcssVersion;\n          let runtimeVer = this.result.processor.version;\n          let a = pluginVer.split('.');\n          let b = runtimeVer.split('.');\n          if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n            // eslint-disable-next-line no-console\n            console.error('Unknown error from PostCSS plugin. Your current PostCSS ' + 'version is ' + runtimeVer + ', but ' + pluginName + ' uses ' + pluginVer + '. Perhaps this is the source of the error below.');\n          }\n        }\n      }\n    } catch (err) {\n      /* c8 ignore next 3 */\n      // eslint-disable-next-line no-console\n      if (console && console.error) console.error(err);\n    }\n    return error;\n  }\n  get map() {\n    return this.stringify().map;\n  }\n  get messages() {\n    return this.sync().messages;\n  }\n  get opts() {\n    return this.result.opts;\n  }\n  prepareVisitors() {\n    this.listeners = {};\n    let add = (plugin, type, cb) => {\n      if (!this.listeners[type]) this.listeners[type] = [];\n      this.listeners[type].push([plugin, cb]);\n    };\n    for (let plugin of this.plugins) {\n      if (typeof plugin === 'object') {\n        for (let event in plugin) {\n          if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n            throw new Error(`Unknown event ${event} in ${plugin.postcssPlugin}. ` + `Try to update PostCSS (${this.processor.version} now).`);\n          }\n          if (!NOT_VISITORS[event]) {\n            if (typeof plugin[event] === 'object') {\n              for (let filter in plugin[event]) {\n                if (filter === '*') {\n                  add(plugin, event, plugin[event][filter]);\n                } else {\n                  add(plugin, event + '-' + filter.toLowerCase(), plugin[event][filter]);\n                }\n              }\n            } else if (typeof plugin[event] === 'function') {\n              add(plugin, event, plugin[event]);\n            }\n          }\n        }\n      }\n    }\n    this.hasListener = Object.keys(this.listeners).length > 0;\n  }\n  get processor() {\n    return this.result.processor;\n  }\n  get root() {\n    return this.sync().root;\n  }\n  async runAsync() {\n    this.plugin = 0;\n    for (let i = 0; i < this.plugins.length; i++) {\n      let plugin = this.plugins[i];\n      let promise = this.runOnRoot(plugin);\n      if (isPromise(promise)) {\n        try {\n          await promise;\n        } catch (error) {\n          throw this.handleError(error);\n        }\n      }\n    }\n    this.prepareVisitors();\n    if (this.hasListener) {\n      let root = this.result.root;\n      while (!root[isClean]) {\n        root[isClean] = true;\n        let stack = [toStack(root)];\n        while (stack.length > 0) {\n          let promise = this.visitTick(stack);\n          if (isPromise(promise)) {\n            try {\n              await promise;\n            } catch (e) {\n              let node = stack[stack.length - 1].node;\n              throw this.handleError(e, node);\n            }\n          }\n        }\n      }\n      if (this.listeners.OnceExit) {\n        for (let [plugin, visitor] of this.listeners.OnceExit) {\n          this.result.lastPlugin = plugin;\n          try {\n            if (root.type === 'document') {\n              let roots = root.nodes.map(subRoot => visitor(subRoot, this.helpers));\n              await Promise.all(roots);\n            } else {\n              await visitor(root, this.helpers);\n            }\n          } catch (e) {\n            throw this.handleError(e);\n          }\n        }\n      }\n    }\n    this.processed = true;\n    return this.stringify();\n  }\n  runOnRoot(plugin) {\n    this.result.lastPlugin = plugin;\n    try {\n      if (typeof plugin === 'object' && plugin.Once) {\n        if (this.result.root.type === 'document') {\n          let roots = this.result.root.nodes.map(root => plugin.Once(root, this.helpers));\n          if (isPromise(roots[0])) {\n            return Promise.all(roots);\n          }\n          return roots;\n        }\n        return plugin.Once(this.result.root, this.helpers);\n      } else if (typeof plugin === 'function') {\n        return plugin(this.result.root, this.result);\n      }\n    } catch (error) {\n      throw this.handleError(error);\n    }\n  }\n  stringify() {\n    if (this.error) throw this.error;\n    if (this.stringified) return this.result;\n    this.stringified = true;\n    this.sync();\n    let opts = this.result.opts;\n    let str = stringify;\n    if (opts.syntax) str = opts.syntax.stringify;\n    if (opts.stringifier) str = opts.stringifier;\n    if (str.stringify) str = str.stringify;\n    let map = new MapGenerator(str, this.result.root, this.result.opts);\n    let data = map.generate();\n    this.result.css = data[0];\n    this.result.map = data[1];\n    return this.result;\n  }\n  get [Symbol.toStringTag]() {\n    return 'LazyResult';\n  }\n  sync() {\n    if (this.error) throw this.error;\n    if (this.processed) return this.result;\n    this.processed = true;\n    if (this.processing) {\n      throw this.getAsyncError();\n    }\n    for (let plugin of this.plugins) {\n      let promise = this.runOnRoot(plugin);\n      if (isPromise(promise)) {\n        throw this.getAsyncError();\n      }\n    }\n    this.prepareVisitors();\n    if (this.hasListener) {\n      let root = this.result.root;\n      while (!root[isClean]) {\n        root[isClean] = true;\n        this.walkSync(root);\n      }\n      if (this.listeners.OnceExit) {\n        if (root.type === 'document') {\n          for (let subRoot of root.nodes) {\n            this.visitSync(this.listeners.OnceExit, subRoot);\n          }\n        } else {\n          this.visitSync(this.listeners.OnceExit, root);\n        }\n      }\n    }\n    return this.result;\n  }\n  then(onFulfilled, onRejected) {\n    if (process.env.NODE_ENV !== 'production') {\n      if (!('from' in this.opts)) {\n        warnOnce('Without `from` option PostCSS could generate wrong source map ' + 'and will not find Browserslist config. Set it to CSS file path ' + 'or to `undefined` to prevent this warning.');\n      }\n    }\n    return this.async().then(onFulfilled, onRejected);\n  }\n  toString() {\n    return this.css;\n  }\n  visitSync(visitors, node) {\n    for (let [plugin, visitor] of visitors) {\n      this.result.lastPlugin = plugin;\n      let promise;\n      try {\n        promise = visitor(node, this.helpers);\n      } catch (e) {\n        throw this.handleError(e, node.proxyOf);\n      }\n      if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n        return true;\n      }\n      if (isPromise(promise)) {\n        throw this.getAsyncError();\n      }\n    }\n  }\n  visitTick(stack) {\n    let visit = stack[stack.length - 1];\n    let {\n      node,\n      visitors\n    } = visit;\n    if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n      stack.pop();\n      return;\n    }\n    if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n      let [plugin, visitor] = visitors[visit.visitorIndex];\n      visit.visitorIndex += 1;\n      if (visit.visitorIndex === visitors.length) {\n        visit.visitors = [];\n        visit.visitorIndex = 0;\n      }\n      this.result.lastPlugin = plugin;\n      try {\n        return visitor(node.toProxy(), this.helpers);\n      } catch (e) {\n        throw this.handleError(e, node);\n      }\n    }\n    if (visit.iterator !== 0) {\n      let iterator = visit.iterator;\n      let child;\n      while (child = node.nodes[node.indexes[iterator]]) {\n        node.indexes[iterator] += 1;\n        if (!child[isClean]) {\n          child[isClean] = true;\n          stack.push(toStack(child));\n          return;\n        }\n      }\n      visit.iterator = 0;\n      delete node.indexes[iterator];\n    }\n    let events = visit.events;\n    while (visit.eventIndex < events.length) {\n      let event = events[visit.eventIndex];\n      visit.eventIndex += 1;\n      if (event === CHILDREN) {\n        if (node.nodes && node.nodes.length) {\n          node[isClean] = true;\n          visit.iterator = node.getIterator();\n        }\n        return;\n      } else if (this.listeners[event]) {\n        visit.visitors = this.listeners[event];\n        return;\n      }\n    }\n    stack.pop();\n  }\n  walkSync(node) {\n    node[isClean] = true;\n    let events = getEvents(node);\n    for (let event of events) {\n      if (event === CHILDREN) {\n        if (node.nodes) {\n          node.each(child => {\n            if (!child[isClean]) this.walkSync(child);\n          });\n        }\n      } else {\n        let visitors = this.listeners[event];\n        if (visitors) {\n          if (this.visitSync(visitors, node.toProxy())) return;\n        }\n      }\n    }\n  }\n  warnings() {\n    return this.sync().warnings();\n  }\n}\nLazyResult.registerPostcss = dependant => {\n  postcss = dependant;\n};\nmodule.exports = LazyResult;\nLazyResult.default = LazyResult;\nRoot.registerLazyResult(LazyResult);\nDocument.registerLazyResult(LazyResult);","map":{"version":3,"names":["isClean","my","require","MapGenerator","stringify","Container","Document","warnOnce","Result","parse","Root","TYPE_TO_CLASS_NAME","atrule","comment","decl","document","root","rule","PLUGIN_PROPS","AtRule","AtRuleExit","Comment","CommentExit","Declaration","DeclarationExit","DocumentExit","Once","OnceExit","postcssPlugin","prepare","RootExit","Rule","RuleExit","NOT_VISITORS","CHILDREN","isPromise","obj","then","getEvents","node","key","type","prop","toLowerCase","name","append","toStack","events","eventIndex","iterator","visitorIndex","visitors","cleanMarks","nodes","forEach","i","postcss","LazyResult","constructor","processor","css","opts","stringified","processed","map","inline","prev","parser","syntax","error","rebuild","result","helpers","plugins","plugin","async","Promise","reject","resolve","processing","runAsync","catch","onRejected","content","finally","onFinally","getAsyncError","Error","handleError","lastPlugin","addToError","setMessage","postcssVersion","process","env","NODE_ENV","pluginName","pluginVer","runtimeVer","version","a","split","b","parseInt","console","err","messages","sync","prepareVisitors","listeners","add","cb","push","event","test","filter","hasListener","Object","keys","length","promise","runOnRoot","stack","visitTick","e","visitor","roots","subRoot","all","str","stringifier","data","generate","Symbol","toStringTag","walkSync","visitSync","onFulfilled","toString","proxyOf","parent","visit","pop","toProxy","child","indexes","getIterator","each","warnings","registerPostcss","dependant","module","exports","default","registerLazyResult"],"sources":["C:/Users/user/Desktop/000newport/node_modules/postcss/lib/lazy-result.js"],"sourcesContent":["'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet MapGenerator = require('./map-generator')\nlet stringify = require('./stringify')\nlet Container = require('./container')\nlet Document = require('./document')\nlet warnOnce = require('./warn-once')\nlet Result = require('./result')\nlet parse = require('./parse')\nlet Root = require('./root')\n\nconst TYPE_TO_CLASS_NAME = {\n  atrule: 'AtRule',\n  comment: 'Comment',\n  decl: 'Declaration',\n  document: 'Document',\n  root: 'Root',\n  rule: 'Rule'\n}\n\nconst PLUGIN_PROPS = {\n  AtRule: true,\n  AtRuleExit: true,\n  Comment: true,\n  CommentExit: true,\n  Declaration: true,\n  DeclarationExit: true,\n  Document: true,\n  DocumentExit: true,\n  Once: true,\n  OnceExit: true,\n  postcssPlugin: true,\n  prepare: true,\n  Root: true,\n  RootExit: true,\n  Rule: true,\n  RuleExit: true\n}\n\nconst NOT_VISITORS = {\n  Once: true,\n  postcssPlugin: true,\n  prepare: true\n}\n\nconst CHILDREN = 0\n\nfunction isPromise(obj) {\n  return typeof obj === 'object' && typeof obj.then === 'function'\n}\n\nfunction getEvents(node) {\n  let key = false\n  let type = TYPE_TO_CLASS_NAME[node.type]\n  if (node.type === 'decl') {\n    key = node.prop.toLowerCase()\n  } else if (node.type === 'atrule') {\n    key = node.name.toLowerCase()\n  }\n\n  if (key && node.append) {\n    return [\n      type,\n      type + '-' + key,\n      CHILDREN,\n      type + 'Exit',\n      type + 'Exit-' + key\n    ]\n  } else if (key) {\n    return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]\n  } else if (node.append) {\n    return [type, CHILDREN, type + 'Exit']\n  } else {\n    return [type, type + 'Exit']\n  }\n}\n\nfunction toStack(node) {\n  let events\n  if (node.type === 'document') {\n    events = ['Document', CHILDREN, 'DocumentExit']\n  } else if (node.type === 'root') {\n    events = ['Root', CHILDREN, 'RootExit']\n  } else {\n    events = getEvents(node)\n  }\n\n  return {\n    eventIndex: 0,\n    events,\n    iterator: 0,\n    node,\n    visitorIndex: 0,\n    visitors: []\n  }\n}\n\nfunction cleanMarks(node) {\n  node[isClean] = false\n  if (node.nodes) node.nodes.forEach(i => cleanMarks(i))\n  return node\n}\n\nlet postcss = {}\n\nclass LazyResult {\n  constructor(processor, css, opts) {\n    this.stringified = false\n    this.processed = false\n\n    let root\n    if (\n      typeof css === 'object' &&\n      css !== null &&\n      (css.type === 'root' || css.type === 'document')\n    ) {\n      root = cleanMarks(css)\n    } else if (css instanceof LazyResult || css instanceof Result) {\n      root = cleanMarks(css.root)\n      if (css.map) {\n        if (typeof opts.map === 'undefined') opts.map = {}\n        if (!opts.map.inline) opts.map.inline = false\n        opts.map.prev = css.map\n      }\n    } else {\n      let parser = parse\n      if (opts.syntax) parser = opts.syntax.parse\n      if (opts.parser) parser = opts.parser\n      if (parser.parse) parser = parser.parse\n\n      try {\n        root = parser(css, opts)\n      } catch (error) {\n        this.processed = true\n        this.error = error\n      }\n\n      if (root && !root[my]) {\n        /* c8 ignore next 2 */\n        Container.rebuild(root)\n      }\n    }\n\n    this.result = new Result(processor, root, opts)\n    this.helpers = { ...postcss, postcss, result: this.result }\n    this.plugins = this.processor.plugins.map(plugin => {\n      if (typeof plugin === 'object' && plugin.prepare) {\n        return { ...plugin, ...plugin.prepare(this.result) }\n      } else {\n        return plugin\n      }\n    })\n  }\n\n  async() {\n    if (this.error) return Promise.reject(this.error)\n    if (this.processed) return Promise.resolve(this.result)\n    if (!this.processing) {\n      this.processing = this.runAsync()\n    }\n    return this.processing\n  }\n\n  catch(onRejected) {\n    return this.async().catch(onRejected)\n  }\n\n  get content() {\n    return this.stringify().content\n  }\n\n  get css() {\n    return this.stringify().css\n  }\n\n  finally(onFinally) {\n    return this.async().then(onFinally, onFinally)\n  }\n\n  getAsyncError() {\n    throw new Error('Use process(css).then(cb) to work with async plugins')\n  }\n\n  handleError(error, node) {\n    let plugin = this.result.lastPlugin\n    try {\n      if (node) node.addToError(error)\n      this.error = error\n      if (error.name === 'CssSyntaxError' && !error.plugin) {\n        error.plugin = plugin.postcssPlugin\n        error.setMessage()\n      } else if (plugin.postcssVersion) {\n        if (process.env.NODE_ENV !== 'production') {\n          let pluginName = plugin.postcssPlugin\n          let pluginVer = plugin.postcssVersion\n          let runtimeVer = this.result.processor.version\n          let a = pluginVer.split('.')\n          let b = runtimeVer.split('.')\n\n          if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n            // eslint-disable-next-line no-console\n            console.error(\n              'Unknown error from PostCSS plugin. Your current PostCSS ' +\n                'version is ' +\n                runtimeVer +\n                ', but ' +\n                pluginName +\n                ' uses ' +\n                pluginVer +\n                '. Perhaps this is the source of the error below.'\n            )\n          }\n        }\n      }\n    } catch (err) {\n      /* c8 ignore next 3 */\n      // eslint-disable-next-line no-console\n      if (console && console.error) console.error(err)\n    }\n    return error\n  }\n\n  get map() {\n    return this.stringify().map\n  }\n\n  get messages() {\n    return this.sync().messages\n  }\n\n  get opts() {\n    return this.result.opts\n  }\n\n  prepareVisitors() {\n    this.listeners = {}\n    let add = (plugin, type, cb) => {\n      if (!this.listeners[type]) this.listeners[type] = []\n      this.listeners[type].push([plugin, cb])\n    }\n    for (let plugin of this.plugins) {\n      if (typeof plugin === 'object') {\n        for (let event in plugin) {\n          if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n            throw new Error(\n              `Unknown event ${event} in ${plugin.postcssPlugin}. ` +\n                `Try to update PostCSS (${this.processor.version} now).`\n            )\n          }\n          if (!NOT_VISITORS[event]) {\n            if (typeof plugin[event] === 'object') {\n              for (let filter in plugin[event]) {\n                if (filter === '*') {\n                  add(plugin, event, plugin[event][filter])\n                } else {\n                  add(\n                    plugin,\n                    event + '-' + filter.toLowerCase(),\n                    plugin[event][filter]\n                  )\n                }\n              }\n            } else if (typeof plugin[event] === 'function') {\n              add(plugin, event, plugin[event])\n            }\n          }\n        }\n      }\n    }\n    this.hasListener = Object.keys(this.listeners).length > 0\n  }\n\n  get processor() {\n    return this.result.processor\n  }\n\n  get root() {\n    return this.sync().root\n  }\n\n  async runAsync() {\n    this.plugin = 0\n    for (let i = 0; i < this.plugins.length; i++) {\n      let plugin = this.plugins[i]\n      let promise = this.runOnRoot(plugin)\n      if (isPromise(promise)) {\n        try {\n          await promise\n        } catch (error) {\n          throw this.handleError(error)\n        }\n      }\n    }\n\n    this.prepareVisitors()\n    if (this.hasListener) {\n      let root = this.result.root\n      while (!root[isClean]) {\n        root[isClean] = true\n        let stack = [toStack(root)]\n        while (stack.length > 0) {\n          let promise = this.visitTick(stack)\n          if (isPromise(promise)) {\n            try {\n              await promise\n            } catch (e) {\n              let node = stack[stack.length - 1].node\n              throw this.handleError(e, node)\n            }\n          }\n        }\n      }\n\n      if (this.listeners.OnceExit) {\n        for (let [plugin, visitor] of this.listeners.OnceExit) {\n          this.result.lastPlugin = plugin\n          try {\n            if (root.type === 'document') {\n              let roots = root.nodes.map(subRoot =>\n                visitor(subRoot, this.helpers)\n              )\n\n              await Promise.all(roots)\n            } else {\n              await visitor(root, this.helpers)\n            }\n          } catch (e) {\n            throw this.handleError(e)\n          }\n        }\n      }\n    }\n\n    this.processed = true\n    return this.stringify()\n  }\n\n  runOnRoot(plugin) {\n    this.result.lastPlugin = plugin\n    try {\n      if (typeof plugin === 'object' && plugin.Once) {\n        if (this.result.root.type === 'document') {\n          let roots = this.result.root.nodes.map(root =>\n            plugin.Once(root, this.helpers)\n          )\n\n          if (isPromise(roots[0])) {\n            return Promise.all(roots)\n          }\n\n          return roots\n        }\n\n        return plugin.Once(this.result.root, this.helpers)\n      } else if (typeof plugin === 'function') {\n        return plugin(this.result.root, this.result)\n      }\n    } catch (error) {\n      throw this.handleError(error)\n    }\n  }\n\n  stringify() {\n    if (this.error) throw this.error\n    if (this.stringified) return this.result\n    this.stringified = true\n\n    this.sync()\n\n    let opts = this.result.opts\n    let str = stringify\n    if (opts.syntax) str = opts.syntax.stringify\n    if (opts.stringifier) str = opts.stringifier\n    if (str.stringify) str = str.stringify\n\n    let map = new MapGenerator(str, this.result.root, this.result.opts)\n    let data = map.generate()\n    this.result.css = data[0]\n    this.result.map = data[1]\n\n    return this.result\n  }\n\n  get [Symbol.toStringTag]() {\n    return 'LazyResult'\n  }\n\n  sync() {\n    if (this.error) throw this.error\n    if (this.processed) return this.result\n    this.processed = true\n\n    if (this.processing) {\n      throw this.getAsyncError()\n    }\n\n    for (let plugin of this.plugins) {\n      let promise = this.runOnRoot(plugin)\n      if (isPromise(promise)) {\n        throw this.getAsyncError()\n      }\n    }\n\n    this.prepareVisitors()\n    if (this.hasListener) {\n      let root = this.result.root\n      while (!root[isClean]) {\n        root[isClean] = true\n        this.walkSync(root)\n      }\n      if (this.listeners.OnceExit) {\n        if (root.type === 'document') {\n          for (let subRoot of root.nodes) {\n            this.visitSync(this.listeners.OnceExit, subRoot)\n          }\n        } else {\n          this.visitSync(this.listeners.OnceExit, root)\n        }\n      }\n    }\n\n    return this.result\n  }\n\n  then(onFulfilled, onRejected) {\n    if (process.env.NODE_ENV !== 'production') {\n      if (!('from' in this.opts)) {\n        warnOnce(\n          'Without `from` option PostCSS could generate wrong source map ' +\n            'and will not find Browserslist config. Set it to CSS file path ' +\n            'or to `undefined` to prevent this warning.'\n        )\n      }\n    }\n    return this.async().then(onFulfilled, onRejected)\n  }\n\n  toString() {\n    return this.css\n  }\n\n  visitSync(visitors, node) {\n    for (let [plugin, visitor] of visitors) {\n      this.result.lastPlugin = plugin\n      let promise\n      try {\n        promise = visitor(node, this.helpers)\n      } catch (e) {\n        throw this.handleError(e, node.proxyOf)\n      }\n      if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n        return true\n      }\n      if (isPromise(promise)) {\n        throw this.getAsyncError()\n      }\n    }\n  }\n\n  visitTick(stack) {\n    let visit = stack[stack.length - 1]\n    let { node, visitors } = visit\n\n    if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n      stack.pop()\n      return\n    }\n\n    if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n      let [plugin, visitor] = visitors[visit.visitorIndex]\n      visit.visitorIndex += 1\n      if (visit.visitorIndex === visitors.length) {\n        visit.visitors = []\n        visit.visitorIndex = 0\n      }\n      this.result.lastPlugin = plugin\n      try {\n        return visitor(node.toProxy(), this.helpers)\n      } catch (e) {\n        throw this.handleError(e, node)\n      }\n    }\n\n    if (visit.iterator !== 0) {\n      let iterator = visit.iterator\n      let child\n      while ((child = node.nodes[node.indexes[iterator]])) {\n        node.indexes[iterator] += 1\n        if (!child[isClean]) {\n          child[isClean] = true\n          stack.push(toStack(child))\n          return\n        }\n      }\n      visit.iterator = 0\n      delete node.indexes[iterator]\n    }\n\n    let events = visit.events\n    while (visit.eventIndex < events.length) {\n      let event = events[visit.eventIndex]\n      visit.eventIndex += 1\n      if (event === CHILDREN) {\n        if (node.nodes && node.nodes.length) {\n          node[isClean] = true\n          visit.iterator = node.getIterator()\n        }\n        return\n      } else if (this.listeners[event]) {\n        visit.visitors = this.listeners[event]\n        return\n      }\n    }\n    stack.pop()\n  }\n\n  walkSync(node) {\n    node[isClean] = true\n    let events = getEvents(node)\n    for (let event of events) {\n      if (event === CHILDREN) {\n        if (node.nodes) {\n          node.each(child => {\n            if (!child[isClean]) this.walkSync(child)\n          })\n        }\n      } else {\n        let visitors = this.listeners[event]\n        if (visitors) {\n          if (this.visitSync(visitors, node.toProxy())) return\n        }\n      }\n    }\n  }\n\n  warnings() {\n    return this.sync().warnings()\n  }\n}\n\nLazyResult.registerPostcss = dependant => {\n  postcss = dependant\n}\n\nmodule.exports = LazyResult\nLazyResult.default = LazyResult\n\nRoot.registerLazyResult(LazyResult)\nDocument.registerLazyResult(LazyResult)\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}