{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/puppet.js"],"names":["module","exports","hljs","COMMENT","TITLE","inherit","TITLE_MODE","begin","VARIABLE","className","STRING","contains","BACKSLASH_ESCAPE","variants","end","name","aliases","beginKeywords","illegal","IDENT_RE","endsParent","returnBegin","keywords","keyword","literal","built_in","relevance"],"mappings":"8EAuFAA,EAAOC,QAjFP,SAAgBC,GACd,IAaIC,EAAUD,EAAKC,QAAQ,IAAK,KAE5BC,EAAQF,EAAKG,QAAQH,EAAKI,WAAY,CACxCC,MAFa,4BAIXC,EAAW,CACbC,UAAW,WACXF,MAAO,8BAELG,EAAS,CACXD,UAAW,SACXE,SAAU,CAACT,EAAKU,iBAAkBJ,GAClCK,SAAU,CAAC,CACTN,MAAO,IACPO,IAAK,KACJ,CACDP,MAAO,IACPO,IAAK,OAGT,MAAO,CACLC,KAAM,SACNC,QAAS,CAAC,MACVL,SAAU,CAACR,EAASK,EAAUE,EAAQ,CACpCO,cAAe,QACfH,IAAK,QACLI,QAAS,IACTP,SAAU,CAACP,EAAOD,IACjB,CACDc,cAAe,SACfH,IAAK,KACLH,SAAU,CAAC,CACTF,UAAW,UACXF,MAAOL,EAAKiB,SACZC,YAAY,KAEb,CACDb,MAAOL,EAAKiB,SAAW,UACvBE,aAAa,EACbP,IAAK,KACLH,SAAU,CAAC,CACTF,UAAW,UACXF,MAAOL,EAAKiB,UACX,CACDZ,MAAO,KACPO,IAAK,KACLQ,SA3DgB,CACpBC,QAEA,2GACAC,QAEA,0xDAGAC,SAEA,+sCAiDIC,UAAW,EACXf,SAAU,CAACD,EAAQP,EAAS,CAC1BI,MAAO,mBACPc,aAAa,EACbP,IAAK,KACLH,SAAU,CAAC,CACTF,UAAW,OACXF,MAAOL,EAAKiB,YAEb,CACDV,UAAW,SACXF,MAAO,4EACPmB,UAAW,GACVlB,KAELkB,UAAW","file":"react-syntax-highlighter_languages_highlight_puppet-f8d87bd9d8e8d367b2e8.js","sourcesContent":["/*\nLanguage: Puppet\nAuthor: Jose Molina Colmenero <gaudy41@gmail.com>\nWebsite: https://puppet.com/docs\nCategory: config\n*/\nfunction puppet(hljs) {\n  var PUPPET_KEYWORDS = {\n    keyword:\n    /* language keywords */\n    'and case default else elsif false if in import enherits node or true undef unless main settings $string ',\n    literal:\n    /* metaparameters */\n    'alias audit before loglevel noop require subscribe tag ' +\n    /* normal attributes */\n    'owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check ' + 'en_address ip_address realname command environment hour monute month monthday special target weekday ' + 'creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore ' + 'links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source ' + 'souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ' + 'ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel ' + 'native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options ' + 'device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use ' + 'message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform ' + 'responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running ' + 'start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age ' + 'password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled ' + 'enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist ' + 'priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey ' + 'sslverify mounted',\n    built_in:\n    /* core facts */\n    'architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers ' + 'domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ' + 'ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion ' + 'kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease ' + 'lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major ' + 'macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease ' + 'operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion ' + 'rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced ' + 'selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime ' + 'uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version'\n  };\n  var COMMENT = hljs.COMMENT('#', '$');\n  var IDENT_RE = '([A-Za-z_]|::)(\\\\w|::)*';\n  var TITLE = hljs.inherit(hljs.TITLE_MODE, {\n    begin: IDENT_RE\n  });\n  var VARIABLE = {\n    className: 'variable',\n    begin: '\\\\$' + IDENT_RE\n  };\n  var STRING = {\n    className: 'string',\n    contains: [hljs.BACKSLASH_ESCAPE, VARIABLE],\n    variants: [{\n      begin: /'/,\n      end: /'/\n    }, {\n      begin: /\"/,\n      end: /\"/\n    }]\n  };\n  return {\n    name: 'Puppet',\n    aliases: ['pp'],\n    contains: [COMMENT, VARIABLE, STRING, {\n      beginKeywords: 'class',\n      end: '\\\\{|;',\n      illegal: /=/,\n      contains: [TITLE, COMMENT]\n    }, {\n      beginKeywords: 'define',\n      end: /\\{/,\n      contains: [{\n        className: 'section',\n        begin: hljs.IDENT_RE,\n        endsParent: true\n      }]\n    }, {\n      begin: hljs.IDENT_RE + '\\\\s+\\\\{',\n      returnBegin: true,\n      end: /\\S/,\n      contains: [{\n        className: 'keyword',\n        begin: hljs.IDENT_RE\n      }, {\n        begin: /\\{/,\n        end: /\\}/,\n        keywords: PUPPET_KEYWORDS,\n        relevance: 0,\n        contains: [STRING, COMMENT, {\n          begin: '[a-zA-Z_]+\\\\s*=>',\n          returnBegin: true,\n          end: '=>',\n          contains: [{\n            className: 'attr',\n            begin: hljs.IDENT_RE\n          }]\n        }, {\n          className: 'number',\n          begin: '(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',\n          relevance: 0\n        }, VARIABLE]\n      }],\n      relevance: 0\n    }]\n  };\n}\n\nmodule.exports = puppet;"],"sourceRoot":""}