var e=[`exten`,`same`,`include`,`ignorepat`,`switch`],t=[`#include`,`#exec`],n=`addqueuemember.adsiprog.aelsub.agentlogin.agentmonitoroutgoing.agi.alarmreceiver.amd.answer.authenticate.background.backgrounddetect.bridge.busy.callcompletioncancel.callcompletionrequest.celgenuserevent.changemonitor.chanisavail.channelredirect.chanspy.clearhash.confbridge.congestion.continuewhile.controlplayback.dahdiacceptr2call.dahdibarge.dahdiras.dahdiscan.dahdisendcallreroutingfacility.dahdisendkeypadfacility.datetime.dbdel.dbdeltree.deadagi.dial.dictate.directory.disa.dumpchan.eagi.echo.endwhile.exec.execif.execiftime.exitwhile.extenspy.externalivr.festival.flash.followme.forkcdr.getcpeid.gosub.gosubif.goto.gotoif.gotoiftime.hangup.iax2provision.ices.importvar.incomplete.ivrdemo.jabberjoin.jabberleave.jabbersend.jabbersendgroup.jabberstatus.jack.log.macro.macroexclusive.macroexit.macroif.mailboxexists.meetme.meetmeadmin.meetmechanneladmin.meetmecount.milliwatt.minivmaccmess.minivmdelete.minivmgreet.minivmmwi.minivmnotify.minivmrecord.mixmonitor.monitor.morsecode.mp3player.mset.musiconhold.nbscat.nocdr.noop.odbc.odbc.odbcfinish.originate.ospauth.ospfinish.osplookup.ospnext.page.park.parkandannounce.parkedcall.pausemonitor.pausequeuemember.pickup.pickupchan.playback.playtones.privacymanager.proceeding.progress.queue.queuelog.raiseexception.read.readexten.readfile.receivefax.receivefax.receivefax.record.removequeuemember.resetcdr.retrydial.return.ringing.sayalpha.saycountedadj.saycountednoun.saycountpl.saydigits.saynumber.sayphonetic.sayunixtime.senddtmf.sendfax.sendfax.sendfax.sendimage.sendtext.sendurl.set.setamaflags.setcallerpres.setmusiconhold.sipaddheader.sipdtmfmode.sipremoveheader.skel.slastation.slatrunk.sms.softhangup.speechactivategrammar.speechbackground.speechcreate.speechdeactivategrammar.speechdestroy.speechloadgrammar.speechprocessingsound.speechstart.speechunloadgrammar.stackpop.startmusiconhold.stopmixmonitor.stopmonitor.stopmusiconhold.stopplaytones.system.testclient.testserver.transfer.tryexec.trysystem.unpausemonitor.unpausequeuemember.userevent.verbose.vmauthenticate.vmsayname.voicemail.voicemailmain.wait.waitexten.waitfornoise.waitforring.waitforsilence.waitmusiconhold.waituntil.while.zapateller`.split(`.`);function r(n,r){var i=``,a=n.next();if(r.blockComment)return a==`-`&&n.match(`-;`,!0)?r.blockComment=!1:n.skipTo(`--;`)?(n.next(),n.next(),n.next(),r.blockComment=!1):n.skipToEnd(),`comment`;if(a==`;`)return n.match(`--`,!0)&&!n.match(`-`,!1)?(r.blockComment=!0,`comment`):(n.skipToEnd(),`comment`);if(a==`[`)return n.skipTo(`]`),n.eat(`]`),`header`;if(a==`"`)return n.skipTo(`"`),`string`;if(a==`'`)return n.skipTo(`'`),`string.special`;if(a==`#`&&(n.eatWhile(/\w/),i=n.current(),t.indexOf(i)!==-1))return n.skipToEnd(),`strong`;if(a==`$`&&n.peek()==`{`)return n.skipTo(`}`),n.eat(`}`),`variableName.special`;if(n.eatWhile(/\w/),i=n.current(),e.indexOf(i)!==-1){switch(r.extenStart=!0,i){case`same`:r.extenSame=!0;break;case`include`:case`switch`:case`ignorepat`:r.extenInclude=!0;break;default:break}return`atom`}}const i={name:`asterisk`,startState:function(){return{blockComment:!1,extenStart:!1,extenSame:!1,extenInclude:!1,extenExten:!1,extenPriority:!1,extenApplication:!1}},token:function(e,t){var i=``;if(e.eatSpace())return null;if(t.extenStart)return e.eatWhile(/[^\s]/),i=e.current(),/^=>?$/.test(i)?(t.extenExten=!0,t.extenStart=!1,`strong`):(t.extenStart=!1,e.skipToEnd(),`error`);if(t.extenExten)return t.extenExten=!1,t.extenPriority=!0,e.eatWhile(/[^,]/),t.extenInclude&&=(e.skipToEnd(),t.extenPriority=!1,!1),t.extenSame&&(t.extenPriority=!1,t.extenSame=!1,t.extenApplication=!0),`tag`;if(t.extenPriority)return t.extenPriority=!1,t.extenApplication=!0,e.next(),t.extenSame?null:(e.eatWhile(/[^,]/),`number`);if(t.extenApplication){if(e.eatWhile(/,/),i=e.current(),i===`,`)return null;if(e.eatWhile(/\w/),i=e.current().toLowerCase(),t.extenApplication=!1,n.indexOf(i)!==-1)return`def`}else return r(e,t);return null},languageData:{commentTokens:{line:`;`,block:{open:`;--`,close:`--;`}}}};export{i as asterisk};