<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="sed" section="Scripts" version="9" kateversion="5.79" extensions="*.sed" mimetype="text/x-sed" author="Bart Sas (bart.sas@gmail.com);Jonathan Poelen (jonathan.poelen@gmail.com)" license="GPL"><highlighting><contexts><context name="BeginningOfLine" attribute="Normal" fallthroughContext="Error"><IncludeRules context="Start"/><IncludeRules context="FindCommand"/></context><context name="AfterCommand" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectSpaces/><DetectChar char=";" attribute="Normal" context="#pop"/><DetectChar char="}" attribute="Brace" context="#pop" endRegion="block"/><DetectChar char="#" attribute="Comment" context="#pop!Comment"/></context><context name="Command" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="FindCommand"/></context><context name="Error" attribute="Error" lineEndContext="#pop"/><context name="AfterSecondAddress" attribute="Normal" fallthroughContext="#pop#pop#pop!Command" lineEndContext="#pop#pop#pop"><DetectChar char="!" attribute="Negation" context="#pop#pop#pop!Command"/><DetectSpaces/></context><context name="LiteralText" attribute="Literal Text" lineEndContext="#pop#pop#pop"><DetectSpaces/><DetectIdentifier/><DetectChar char="\" context="LiteralTextEscape" lookAhead="1"/></context><context name="Regex" attribute="Regex"><DetectSpaces/><AnyChar String="*.^$[]" attribute="Regex Special"/><AnyChar String="+?|{}()" attribute="Regex Special Extended"/><DetectChar char="\" context="RegexEscape" lookAhead="1"/></context><context name="AfterFirstAddress" attribute="Normal" fallthroughContext="#pop!Command" lineEndContext="#pop"><DetectChar char="!" attribute="Negation" context="#pop!Command"/><DetectChar char="," attribute="Normal" context="SecondAddress"/><DetectSpaces/></context><context name="Comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/><DetectIdentifier/></context><context name="Filename" attribute="Filename" lineEndContext="#pop#pop#pop"/><context name="FindCommand" attribute="Normal"><DetectChar char="s" attribute="Command" context="SCommand"/><DetectChar char="y" attribute="Command" context="YCommand"/><AnyChar String="dpnDNPhHgGxFvz=" attribute="Command" context="#pop!AfterCommand"/><AnyChar String="aic" attribute="Command" context="AICCommand"/><AnyChar String="bTt" attribute="Command" context="#pop!Label"/><AnyChar String="WwrR" attribute="Command" context="WRCommand"/><AnyChar String="lL" attribute="Command" context="LCommand"/><AnyChar String="qQ" attribute="Command" context="QCommand"/><DetectChar char="{" attribute="Brace" context="#pop" beginRegion="block"/><DetectChar char="e" attribute="Command" context="ECommand"/></context><context name="Label" attribute="Normal" fallthroughContext="#pop!AfterCommand" lineEndContext="#pop"><DetectSpaces/><RegExpr String="[^\s;}#]+" attribute="Label" context="#pop"/></context><context name="SecondAddress" attribute="Normal" fallthroughContext="#pop#pop!Error" lineEndContext="#pop#pop"><DetectChar char="$" attribute="Last Line" context="AfterSecondAddress"/><Int attribute="Line Number" context="AfterSecondAddress"/><DetectSpaces/><RegExpr String="(?|(/)|\\([\t -~]))" attribute="Separator" context="SecondAddressRegex"/></context><context name="Step" attribute="Normal" fallthroughContext="#pop#pop!Error" lineEndContext="#pop#pop"><DetectSpaces/><Int attribute="Step" context="#pop#pop!Command"/></context><context name="WRCommand" attribute="Normal" fallthroughContext="Filename" lineEndContext="#pop#pop"><DetectSpaces attribute="Normal" context="Filename"/></context><context name="YLiteralEscape" attribute="Char List Escape"><LineContinue attribute="Char List Escape" context="#pop"/><RegExpr String="\\([afnrtv\\]|c[0-9a-zA-Z]|x[0-9a-fA-F]{1,2}|d[0-9]{1,3}|o[0-7]{1,3})" attribute="Char List Escape" context="#pop"/><RegExpr String="\\." attribute="Unknown Escape" context="#pop"/></context><context name="AICCommand" attribute="Normal" fallthroughContext="LiteralText" lineEndContext="#pop#pop"><DetectSpaces/><LineContinue attribute="Line Continue" context="LiteralText"/><DetectChar char="\" attribute="Line Continue" context="LiteralText"/></context><context name="ECommand" attribute="Shell Command" lineEndContext="#pop#pop"><LineContinue attribute="Line Continue"/></context><context name="FirstAddressRegex" attribute="Regex" lineEndContext="#pop"><StringDetect String="\%1" attribute="Regex Escape" dynamic="1"/><DetectChar char="1" attribute="Separator" context="#pop!AfterFirstAddress" dynamic="1"/><IncludeRules context="Regex"/></context><context name="FirstNumberAddress" attribute="Regex" fallthroughContext="#pop!Command" lineEndContext="#pop"><DetectChar char="~" attribute="Normal" context="Step"/><DetectChar char="!" attribute="Negation" context="#pop!Command"/><DetectChar char="," attribute="Normal" context="SecondNumberAddress"/><DetectSpaces/></context><context name="LCommand" attribute="Normal" fallthroughContext="#pop#pop!AfterCommand" lineEndContext="#pop#pop"><DetectSpaces/><Int attribute="Wrap Length" context="#pop#pop!AfterCommand" additionalDeliminator="lL"/></context><context name="LiteralTextEscape" attribute="Literal Escape"><LineContinue attribute="Line Continue" context="#pop"/><RegExpr String="\\([afnrtv\\]|c[0-9a-zA-Z]|x[0-9a-fA-F]{1,2}|d[0-9]{1,3}|o[0-7]{1,3})" attribute="Literal Escape" context="#pop"/><RegExpr String="\\." attribute="Unknown Escape" context="#pop"/></context><context name="QCommand" attribute="Normal" fallthroughContext="#pop#pop!AfterCommand" lineEndContext="#pop#pop"><DetectSpaces/><Int attribute="Exit Code" context="#pop#pop!AfterCommand" additionalDeliminator="qQ"/></context><context name="RegexEscape" attribute="Regex" fallthroughContext="#pop"><LineContinue attribute="Regex Escape" context="#pop"/><RegExpr String="\\([afnrtv\\()+?|{}\[\].*^$]|c.|x[0-9a-fA-F]{1,2}|d[0-9]{1,3}|o[0-7]{1,3})" attribute="Regex Escape" context="#pop"/><RegExpr String="\\([0-9wWbBsS&lt;>`'])" attribute="Regex Escape Special" context="#pop"/><RegExpr String="\\." attribute="Unknown Escape" context="#pop"/></context><context name="SCommand" attribute="Normal" fallthroughContext="#pop#pop!Error" lineEndContext="#pop#pop"><RegExpr String="([\t -~])" attribute="Separator" context="SRegex"/></context><context name="SFlags" attribute="Normal" fallthroughContext="#pop#pop#pop#pop#pop#pop!AfterCommand" lineEndContext="#pop#pop#pop#pop#pop#pop"><DetectSpaces/><AnyChar String="gpeIiMm" attribute="Flag"/><AnyChar String="0123456789" attribute="Repl Number"/><DetectChar char="w" attribute="Flag" context="#pop#pop#pop#pop#pop!WRCommand"/></context><context name="SRegex" attribute="Regex" lineEndContext="#pop#pop#pop"><StringDetect String="\%1" attribute="Regex Escape" dynamic="1"/><DetectChar char="1" context="SRegexSep" dynamic="1" lookAhead="1"/><IncludeRules context="Regex"/></context><context name="SRegexSep" attribute="Regex"><RegExpr String="(.)" attribute="Separator" context="SReplacement"/></context><context name="SReplacement" attribute="Replacement" lineEndContext="#pop#pop#pop#pop#pop"><StringDetect String="\%1" attribute="Repl Escape" dynamic="1"/><DetectChar char="1" attribute="Separator" context="SFlags" dynamic="1"/><DetectSpaces/><DetectChar char="&amp;" attribute="Repl Substitution"/><DetectChar char="\" context="SReplacementEscape" lookAhead="1"/></context><context name="SReplacementEscape" attribute="Repl Escape" lineEndContext="#pop#pop#pop#pop#pop"><LineContinue attribute="Repl Escape" context="#pop"/><RegExpr String="\\([afnrtv\\]|c[0-9a-zA-Z]|x[0-9a-fA-F]{1,2}|d[0-9]{1,3}|o[0-7]{1,3})" attribute="Repl Escape" context="#pop"/><RegExpr String="\\[0-9LlUuE]" attribute="Repl Substitution" context="#pop"/><RegExpr String="\\." attribute="Unknown Escape" context="#pop"/></context><context name="SecondAddressRegex" attribute="Regex" lineEndContext="Error"><StringDetect String="\%1" attribute="Regex Escape" dynamic="1"/><StringDetect String="%1" attribute="Separator" context="#pop!AfterSecondAddress" dynamic="1"/><IncludeRules context="Regex"/></context><context name="SecondNumberAddress" attribute="Normal" fallthroughContext="#pop#pop!Error" lineEndContext="#pop#pop"><AnyChar String="+~" attribute="Normal" context="#pop!Step"/><IncludeRules context="SecondAddress"/></context><context name="Start" attribute="Normal" fallthroughContext="Command"><DetectSpaces/><DetectChar char="#" attribute="Comment" context="Comment"/><Int attribute="Line Number" context="FirstNumberAddress"/><RegExpr String="(?|(/)|\\([\t -~]))" attribute="Separator" context="FirstAddressRegex"/><DetectChar char="$" attribute="Last Line" context="AfterFirstAddress"/><DetectChar char="}" attribute="Brace" context="AfterCommand" endRegion="block"/><DetectChar char=":" attribute="Label" context="Label"/><DetectChar char="!" attribute="Negation" context="Command"/><DetectChar char=";" attribute="Normal"/></context><context name="YCommand" attribute="Normal" fallthroughContext="#pop#pop!Error" lineEndContext="#pop#pop"><RegExpr String="([\t -~])" attribute="Separator" context="YSourceList"/></context><context name="YDestList" attribute="Char List" lineEndContext="#pop#pop#pop#pop#pop"><StringDetect String="\%1" attribute="Char List Escape" dynamic="1"/><DetectChar char="1" attribute="Separator" context="#pop#pop#pop#pop#pop!AfterCommand" dynamic="1"/><DetectChar char="\" context="YLiteralEscape" lookAhead="1"/></context><context name="YDestSep" attribute="Regex"><RegExpr String="(.)" attribute="Separator" context="YDestList"/></context><context name="YSourceList" attribute="Char List" lineEndContext="#pop#pop#pop"><StringDetect String="\%1" attribute="Char List Escape" dynamic="1"/><DetectChar char="1" context="YDestSep" dynamic="1" lookAhead="1"/><DetectChar char="\" context="YLiteralEscape" lookAhead="1"/></context></contexts><itemDatas><itemData name="Normal" defStyleNum="dsNormal"/><itemData name="Regex" defStyleNum="dsString"/><itemData name="Regex Escape" defStyleNum="dsChar"/><itemData name="Regex Escape Special" defStyleNum="dsSpecialChar"/><itemData name="Regex Special" defStyleNum="dsSpecialChar"/><itemData name="Regex Special Extended" defStyleNum="dsSpecialString"/><itemData name="Replacement" defStyleNum="dsString"/><itemData name="Repl Escape" defStyleNum="dsChar"/><itemData name="Repl Substitution" defStyleNum="dsSpecialChar"/><itemData name="Char List" defStyleNum="dsString"/><itemData name="Char List Escape" defStyleNum="dsChar"/><itemData name="Separator" defStyleNum="dsConstant"/><itemData name="Line Number" defStyleNum="dsDecVal"/><itemData name="Step" defStyleNum="dsDecVal"/><itemData name="Last Line" defStyleNum="dsFunction" bold="1"/><itemData name="Negation" defStyleNum="dsFunction" bold="1"/><itemData name="Command" defStyleNum="dsKeyword"/><itemData name="Shell Command" defStyleNum="dsPreprocessor"/><itemData name="Label" defStyleNum="dsControlFlow"/><itemData name="Brace" defStyleNum="dsNormal"/><itemData name="Flag" defStyleNum="dsDataType"/><itemData name="Repl Number" defStyleNum="dsDecVal"/><itemData name="Exit Code" defStyleNum="dsDecVal"/><itemData name="Filename" defStyleNum="dsBaseN"/><itemData name="Wrap Length" defStyleNum="dsDecVal"/><itemData name="Line Continue" defStyleNum="dsAttribute" bold="1"/><itemData name="Literal Text" defStyleNum="dsImport" italic="1"/><itemData name="Literal Escape" defStyleNum="dsOperator" italic="1"/><itemData name="Unknown Escape" defStyleNum="dsChar"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Error" defStyleNum="dsError"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="#"/></comments></general></language>