text: var postcss = require('postcss');
  var makeFallbackFunction = require('./lib/rules-fabric');
  
  module.exports = postcss.plugin('postcss-initial', function (opts) {
    opts = opts || {};
    opts.reset = opts.reset || 'all';
    opts.replace = opts.replace || false;
    var getFallback = makeFallbackFunction(opts.reset === 'inherited');
    var getPropPrevTo = function (prop, decl) {
      var foundPrev = false;
      decl.parent.walkDecls(function (child) {
        if (child.prop === decl.prop && child.value !== decl.value) {
          foundPrev = true;
        }
      });
      return foundPrev;
    };
    return function (css) {
      css.walkDecls(function (decl) {
        if (decl.value.indexOf('initial') < 0) {
          return;
        }
        var fallBackRules = getFallback(decl.prop, decl.value);
        if (fallBackRules.length === 0) return;
        fallBackRules.forEach(function (rule) {
          if ( !getPropPrevTo(decl.prop, decl) ) {
            decl.cloneBefore(rule);
          }
        });
        if (opts.replace === true) {
          decl.remove();
        }
      });
    };
  });
  