{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/objectivec.js"],"names":["module","exports","hljs","IDENTIFIER_RE","CLASS_KEYWORDS","$pattern","keyword","name","aliases","keywords","literal","built_in","illegal","contains","className","begin","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","C_NUMBER_MODE","QUOTE_STRING_MODE","APOS_STRING_MODE","variants","end","BACKSLASH_ESCAPE","relevance","inherit","split","join","excludeEnd","UNDERSCORE_TITLE_MODE","UNDERSCORE_IDENT_RE"],"mappings":"8EAoEAA,EAAOC,QA7DP,SAAoBC,GAClB,IAIIC,EAAgB,yBAOhBC,EAAiB,CACnBC,SAAUF,EACVG,QAAS,+CAEX,MAAO,CACLC,KAAM,cACNC,QAAS,CAAC,KAAM,OAAQ,QAAS,UAAW,iBAC5CC,SAbkB,CAClBJ,SAAUF,EACVG,QAAS,guCACTI,QAAS,wCACTC,SAAU,oFAUVC,QAAS,KACTC,SAAU,CApBI,CACdC,UAAW,WACXC,MAAO,wEAkBeb,EAAKc,oBAAqBd,EAAKe,qBAAsBf,EAAKgB,cAAehB,EAAKiB,kBAAmBjB,EAAKkB,iBAAkB,CAC5IN,UAAW,SACXO,SAAU,CAAC,CACTN,MAAO,KACPO,IAAK,IACLV,QAAS,MACTC,SAAU,CAACX,EAAKqB,qBAEjB,CACDT,UAAW,OACXC,MAAO,eACPO,IAAK,IACLb,SAAU,CACR,eAAgB,kFAElBI,SAAU,CAAC,CACTE,MAAO,OACPS,UAAW,GACVtB,EAAKuB,QAAQvB,EAAKiB,kBAAmB,CACtCL,UAAW,gBACT,CACFA,UAAW,cACXC,MAAO,QACPO,IAAK,IACLV,QAAS,OACRV,EAAKc,oBAAqBd,EAAKe,uBACjC,CACDH,UAAW,QACXC,MAAO,IAAMX,EAAeE,QAAQoB,MAAM,KAAKC,KAAK,KAAO,OAC3DL,IAAK,QACLM,YAAY,EACZnB,SAAUL,EACVS,SAAU,CAACX,EAAK2B,wBACf,CACDd,MAAO,MAAQb,EAAK4B,oBACpBN,UAAW","file":"react-syntax-highlighter_languages_highlight_objectivec-49afc75ea435dbc27f01.js","sourcesContent":["/*\nLanguage: Objective-C\nAuthor: Valerii Hiora <valerii.hiora@gmail.com>\nContributors: Angel G. Olloqui <angelgarcia.mail@gmail.com>, Matt Diephouse <matt@diephouse.com>, Andrew Farmer <ahfarmer@gmail.com>, Minh Nguyễn <mxn@1ec5.org>\nWebsite: https://developer.apple.com/documentation/objectivec\nCategory: common\n*/\nfunction objectivec(hljs) {\n  var API_CLASS = {\n    className: 'built_in',\n    begin: '\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'\n  };\n  var IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;\n  var OBJC_KEYWORDS = {\n    $pattern: IDENTIFIER_RE,\n    keyword: 'int float while char export sizeof typedef const struct for union ' + 'unsigned long volatile static bool mutable if do return goto void ' + 'enum else break extern asm case short default double register explicit ' + 'signed typename this switch continue wchar_t inline readonly assign ' + 'readwrite self @synchronized id typeof ' + 'nonatomic super unichar IBOutlet IBAction strong weak copy ' + 'in out inout bycopy byref oneway __strong __weak __block __autoreleasing ' + '@private @protected @public @try @property @end @throw @catch @finally ' + '@autoreleasepool @synthesize @dynamic @selector @optional @required ' + '@encode @package @import @defs @compatibility_alias ' + '__bridge __bridge_transfer __bridge_retained __bridge_retain ' + '__covariant __contravariant __kindof ' + '_Nonnull _Nullable _Null_unspecified ' + '__FUNCTION__ __PRETTY_FUNCTION__ __attribute__ ' + 'getter setter retain unsafe_unretained ' + 'nonnull nullable null_unspecified null_resettable class instancetype ' + 'NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER ' + 'NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED ' + 'NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE ' + 'NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END ' + 'NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW ' + 'NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN',\n    literal: 'false true FALSE TRUE nil YES NO NULL',\n    built_in: 'BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once'\n  };\n  var CLASS_KEYWORDS = {\n    $pattern: IDENTIFIER_RE,\n    keyword: '@interface @class @protocol @implementation'\n  };\n  return {\n    name: 'Objective-C',\n    aliases: ['mm', 'objc', 'obj-c', 'obj-c++', 'objective-c++'],\n    keywords: OBJC_KEYWORDS,\n    illegal: '</',\n    contains: [API_CLASS, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, hljs.C_NUMBER_MODE, hljs.QUOTE_STRING_MODE, hljs.APOS_STRING_MODE, {\n      className: 'string',\n      variants: [{\n        begin: '@\"',\n        end: '\"',\n        illegal: '\\\\n',\n        contains: [hljs.BACKSLASH_ESCAPE]\n      }]\n    }, {\n      className: 'meta',\n      begin: /#\\s*[a-z]+\\b/,\n      end: /$/,\n      keywords: {\n        'meta-keyword': 'if else elif endif define undef warning error line ' + 'pragma ifdef ifndef include'\n      },\n      contains: [{\n        begin: /\\\\\\n/,\n        relevance: 0\n      }, hljs.inherit(hljs.QUOTE_STRING_MODE, {\n        className: 'meta-string'\n      }), {\n        className: 'meta-string',\n        begin: /<.*?>/,\n        end: /$/,\n        illegal: '\\\\n'\n      }, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE]\n    }, {\n      className: 'class',\n      begin: '(' + CLASS_KEYWORDS.keyword.split(' ').join('|') + ')\\\\b',\n      end: '({|$)',\n      excludeEnd: true,\n      keywords: CLASS_KEYWORDS,\n      contains: [hljs.UNDERSCORE_TITLE_MODE]\n    }, {\n      begin: '\\\\.' + hljs.UNDERSCORE_IDENT_RE,\n      relevance: 0\n    }]\n  };\n}\n\nmodule.exports = objectivec;"],"sourceRoot":""}