<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Starlark" alternativeNames="Bazel;Buck2" version="1" style="python" indenter="python" kateversion="5.62" section="Other" extensions="BUCK;BUILD;WORKSPACE;*.bazel;*.bzl;" author="Jack Hill" license=""><highlighting><list name="import"><item>load</item></list><list name="defs"><item>def</item><item>lambda</item></list><list name="operators"><item>and</item><item>in</item><item>not</item><item>or</item></list><list name="flow"><item>break</item><item>continue</item><item>elif</item><item>else</item><item>for</item><item>if</item><item>pass</item><item>return</item></list><list name="builtinfuncs"><item>abs</item><item>all</item><item>any</item><item>bool</item><item>bytes</item><item>dict</item><item>dir</item><item>enumerate</item><item>fail</item><item>float</item><item>getattr</item><item>hasattr</item><item>hash</item><item>int</item><item>len</item><item>list</item><item>max</item><item>min</item><item>print</item><item>range</item><item>repr</item><item>reversed</item><item>set</item><item>sorted</item><item>str</item><item>tuple</item><item>type</item><item>zip</item></list><list name="specialvars"><item>False</item><item>None</item><item>True</item></list><list name="reserved"><item>as</item><item>assert</item><item>async</item><item>await</item><item>class</item><item>del</item><item>except</item><item>finally</item><item>from</item><item>global</item><item>import</item><item>is</item><item>nonlocal</item><item>raise</item><item>try</item><item>while</item><item>with</item><item>yield</item></list><contexts><context name="Normal" attribute="Normal Text"><DetectSpaces attribute="Normal Text"/><DetectChar char="(" attribute="Normal Text" context="Tuple" beginRegion="Tuple"/><DetectChar char="[" attribute="Normal Text" context="List" beginRegion="List"/><DetectChar char="{" attribute="Normal Text" context="Dictionary" beginRegion="Dictionary"/><DetectChar char="#" attribute="Comment" context="Hash comment"/><keyword String="specialvars" attribute="Special Variable"/><keyword String="flow" attribute="Flow Control Keyword"/><keyword String="operators" attribute="Operator Keyword"/><keyword String="builtinfuncs" attribute="Builtin Function"/><keyword String="defs" attribute="Definition Keyword"/><keyword String="import" attribute="Import"/><keyword String="reserved" attribute="Reserved"/><IncludeRules context="Number"/><IncludeRules context="CommentVariants"/><IncludeRules context="StringVariants"/><DetectIdentifier attribute="Normal Text"/><AnyChar String="+*/%|=;&lt;>!^&amp;~-@" attribute="Operator"/><LineContinue attribute="Operator" context="MultiLineExpr"/><Int attribute="Error"/></context><context name="stringescape" attribute="String Char"><DetectChar char="\" context="stringescape2" lookAhead="1"/></context><context name="UnfinishedStringError" attribute="Error" noIndentationBasedFolding="1"><RegExpr String="^(\s{4,}|[^[\]()&#34;']{4,}([&#34;'].*)?)" attribute="Error" context="#pop" column="0"/></context><context name="stringformat" attribute="String Substitution"><RegExpr String="%(?:(?:\([a-zA-Z0-9_]+\))?[#0\- +]?(?:[1-9][0-9]*|\*)?(?:\.(?:[1-9][0-9]*|\*))?[hlL]?[crsdiouxXeEfFgG%]|prog|default)|\{(?:(?:[a-zA-Z0-9_]+|[0-9]+)(?:\.[a-zA-Z0-9_]+|\[[^ \]]+\])*)?(?:![rsa])?(?::(?:[^}]?[&lt;>=^])?[ +-]?z?#?0?[0-9]*[,_]?(?:\.[0-9]+[,_]?|\.[,_])?[bcdeEfFgGnosxX%]?)??\}" attribute="String Substitution"/><StringDetect String="{{" attribute="String Substitution"/><StringDetect String="}}" attribute="String Substitution"/></context><context name="CheckSuffixError" attribute="Normal Text" fallthroughContext="#pop#pop" lineEndContext="#pop#pop"><RegExpr String="\w+" attribute="Error" context="#pop#pop"/></context><context name="StringVariants" attribute="Normal Text"><RegExpr String="(?:r|b|br|rb)?['&#34;]" context="AssumeStringVariants" insensitive="1" lookAhead="1"/></context><context name="Raw A-B-String" attribute="Raw B-String" lineEndContext="#pop!UnfinishedStringError"><StringDetect String="\'" attribute="Raw B-String"/><StringDetect String="\\" attribute="Raw B-String"/><DetectChar char="'" attribute="Raw B-String Deliminator" context="#pop"/><LineContinue attribute="Raw B-String"/></context><context name="Raw Q-B-String" attribute="Raw B-String" lineEndContext="#pop!UnfinishedStringError"><StringDetect String='\"' attribute="Raw B-String"/><StringDetect String="\\" attribute="Raw B-String"/><DetectChar char='"' attribute="Raw B-String Deliminator" context="#pop"/><LineContinue attribute="Raw B-String"/></context><context name="Raw Triple A-B-String" attribute="Raw B-String" noIndentationBasedFolding="1"><StringDetect String="\'" attribute="Raw B-String"/><StringDetect String="\\" attribute="Raw B-String"/><StringDetect String="'''" attribute="Raw B-String Deliminator" context="#pop" endRegion="Triple A-region"/></context><context name="Raw Triple Q-B-String" attribute="Raw B-String" noIndentationBasedFolding="1"><StringDetect String='\"' attribute="Raw B-String"/><StringDetect String="\\" attribute="Raw B-String"/><StringDetect String='"""' attribute="Raw B-String Deliminator" context="#pop" endRegion="Triple Q-region"/></context><context name="Single A-comment" attribute="Comment" lineEndContext="#pop!UnfinishedStringError"><DetectSpaces/><DetectChar char="'" attribute="Comment" context="#pop"/><IncludeRules context="##Comments"/><DetectIdentifier/><IncludeRules context="stringescape"/></context><context name="Single Q-comment" attribute="Comment" lineEndContext="#pop!UnfinishedStringError"><DetectSpaces/><DetectChar char='"' attribute="Comment" context="#pop"/><IncludeRules context="##Comments"/><DetectIdentifier/><IncludeRules context="stringescape"/></context><context name="Triple A-comment" attribute="Comment" noIndentationBasedFolding="1"><DetectSpaces/><StringDetect String="'''" attribute="Comment" context="#pop" endRegion="Triple A-region"/><IncludeRules context="##Comments"/><DetectIdentifier/><IncludeRules context="stringescape"/></context><context name="Triple Q-comment" attribute="Comment" noIndentationBasedFolding="1"><DetectSpaces/><StringDetect String='"""' attribute="Comment" context="#pop" endRegion="Triple Q-region"/><IncludeRules context="##Comments"/><DetectIdentifier/><IncludeRules context="stringescape"/></context><context name="AssumeCommentVariants" attribute="Normal Text"><StringDetect String="'''" attribute="Comment" context="#pop!Triple A-comment" beginRegion="Triple A-region" insensitive="1"/><StringDetect String='"""' attribute="Comment" context="#pop!Triple Q-comment" beginRegion="Triple Q-region" insensitive="1"/><StringDetect String="'" attribute="Comment" context="#pop!Single A-comment" insensitive="1"/><StringDetect String='"' attribute="Comment" context="#pop!Single Q-comment" insensitive="1"/><StringDetect String="r'''" attribute="Comment" context="#pop!Triple A-comment" beginRegion="Triple A-region" insensitive="1"/><StringDetect String='r"""' attribute="Comment" context="#pop!Triple Q-comment" beginRegion="Triple Q-region" insensitive="1"/><StringDetect String="r'" attribute="Comment" context="#pop!Single A-comment" insensitive="1"/><StringDetect String='r"' attribute="Comment" context="#pop!Single Q-comment" insensitive="1"/></context><context name="AssumeNumber" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(?:[0-9](?:_?[0-9])*(?:\.(?:[0-9](?:_?[0-9])*)?)?|(?&lt;![\w[:^ascii:]])\.[0-9](?:_?[0-9])*)(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?[jJ]" attribute="Complex" context="CheckSuffixError"/><RegExpr String="0[xX](?:_?[0-9a-fA-F])+" attribute="Hex" context="CheckSuffixError"/><RegExpr String="0[bB](?:_?[01])+" attribute="Binary" context="CheckSuffixError"/><RegExpr String="0[oO](?:_?[0-7])+" attribute="Octal" context="CheckSuffixError"/><RegExpr String="(?:[0-9](?:_?[0-9])*(?:\.(?:[0-9](?:_?[0-9])*)?)?|\.[0-9](?:_?[0-9])*)[eE][\+\-]?[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\.(?:[0-9](?:_?[0-9])*)?|\.[0-9](?:_?[0-9])*" attribute="Float" context="CheckSuffixError"/><RegExpr String="(?:[1-9](?:_?[0-9])*|0(?:_?0)*)[lL]?" attribute="Int" context="CheckSuffixError"/></context><context name="AssumeStringVariants" attribute="Normal Text"><StringDetect String="'''" attribute="String Deliminator" context="#pop!Triple A-string" beginRegion="Triple A-region"/><StringDetect String='"""' attribute="String Deliminator" context="#pop!Triple Q-string" beginRegion="Triple Q-region"/><StringDetect String="'" attribute="String Deliminator" context="#pop!Single A-string"/><StringDetect String='"' attribute="String Deliminator" context="#pop!Single Q-string"/><StringDetect String="r'''" attribute="Raw String Deliminator" context="#pop!Raw Triple A-string" beginRegion="Triple A-region"/><StringDetect String='r"""' attribute="Raw String Deliminator" context="#pop!Raw Triple Q-string" beginRegion="Triple Q-region"/><StringDetect String="r'" attribute="Raw String Deliminator" context="#pop!Raw A-string"/><StringDetect String='r"' attribute="Raw String Deliminator" context="#pop!Raw Q-string"/><StringDetect String="b'''" attribute="B-String Deliminator" context="#pop!Triple A-B-String" beginRegion="Triple A-region"/><StringDetect String='b"""' attribute="B-String Deliminator" context="#pop!Triple Q-B-String" beginRegion="Triple Q-region"/><StringDetect String="b'" attribute="B-String Deliminator" context="#pop!Single A-B-String"/><StringDetect String='b"' attribute="B-String Deliminator" context="#pop!Single Q-B-String"/><StringDetect String="br'''" attribute="Raw B-String Deliminator" context="#pop!Raw Triple A-B-String" beginRegion="Triple A-region"/><StringDetect String="rb'''" attribute="Raw B-String Deliminator" context="#pop!Raw Triple A-B-String" beginRegion="Triple A-region"/><StringDetect String='br"""' attribute="Raw B-String Deliminator" context="#pop!Raw Triple Q-B-String" beginRegion="Triple Q-region"/><StringDetect String='rb"""' attribute="Raw B-String Deliminator" context="#pop!Raw Triple Q-B-String" beginRegion="Triple Q-region"/><StringDetect String="br'" attribute="Raw B-String Deliminator" context="#pop!Raw A-B-String"/><StringDetect String="rb'" attribute="Raw B-String Deliminator" context="#pop!Raw A-B-String"/><StringDetect String='br"' attribute="Raw B-String Deliminator" context="#pop!Raw Q-B-String"/><StringDetect String='rb"' attribute="Raw B-String Deliminator" context="#pop!Raw Q-B-String"/></context><context name="CommentVariants" attribute="Normal Text"><RegExpr String="(?:u|r|ur)?['&#34;]" context="AssumeCommentVariants" insensitive="1" firstNonSpace="1" lookAhead="1"/></context><context name="Dictionary" attribute="Normal Text" noIndentationBasedFolding="1"><DetectSpaces/><DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="Dictionary"/><IncludeRules context="StringVariants"/><IncludeRules context="Normal"/></context><context name="Hash comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/><DetectIdentifier/></context><context name="List" attribute="Normal Text" noIndentationBasedFolding="1"><DetectSpaces/><DetectChar char="]" attribute="Normal Text" context="#pop" endRegion="List"/><IncludeRules context="StringVariants"/><IncludeRules context="Normal"/></context><context name="MultiLineExpr" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><DetectSpaces attribute="Normal Text"/><IncludeRules context="StringVariants"/></context><context name="Number" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="(?&lt;![\.\w[:^ascii:]])[0-9]|(?&lt;![\w[:^ascii:]])\.[0-9]" context="AssumeNumber" lookAhead="1"/></context><context name="Raw A-string" attribute="Raw String" lineEndContext="#pop!UnfinishedStringError"><DetectSpaces attribute="Raw String"/><DetectIdentifier attribute="Raw String"/><StringDetect String="\'" attribute="Raw String"/><StringDetect String="\\" attribute="Raw String"/><IncludeRules context="stringformat"/><DetectChar char="'" attribute="Raw String Deliminator" context="#pop"/><LineContinue attribute="Raw String"/></context><context name="Raw Q-string" attribute="Raw String" lineEndContext="#pop!UnfinishedStringError"><DetectSpaces attribute="Raw String"/><DetectIdentifier attribute="Raw String"/><StringDetect String='\"' attribute="Raw String"/><StringDetect String="\\" attribute="Raw String"/><IncludeRules context="stringformat"/><DetectChar char='"' attribute="Raw String Deliminator" context="#pop"/><LineContinue attribute="Raw String"/></context><context name="Raw Triple A-string" attribute="Raw String" noIndentationBasedFolding="1"><DetectSpaces attribute="Raw String"/><DetectIdentifier attribute="Raw String"/><StringDetect String="\'" attribute="Raw String"/><StringDetect String="\\" attribute="Raw String"/><IncludeRules context="stringformat"/><StringDetect String="'''" attribute="Raw String Deliminator" context="#pop" endRegion="Triple A-region"/></context><context name="Raw Triple Q-string" attribute="Raw String" noIndentationBasedFolding="1"><DetectSpaces attribute="Raw String"/><DetectIdentifier attribute="Raw String"/><StringDetect String='\"' attribute="Raw String"/><StringDetect String="\\" attribute="Raw String"/><IncludeRules context="stringformat"/><StringDetect String='"""' attribute="Raw String Deliminator" context="#pop" endRegion="Triple Q-region"/></context><context name="Single A-B-String" attribute="B-String" lineEndContext="#pop!UnfinishedStringError"><IncludeRules context="stringescape"/><DetectChar char="'" attribute="B-String Deliminator" context="#pop"/></context><context name="Single A-string" attribute="String" lineEndContext="#pop!UnfinishedStringError"><IncludeRules context="stringescape"/><IncludeRules context="stringformat"/><DetectChar char="'" attribute="String Deliminator" context="#pop"/></context><context name="Single Q-B-String" attribute="B-String" lineEndContext="#pop!UnfinishedStringError"><IncludeRules context="stringescape"/><DetectChar char='"' attribute="B-String Deliminator" context="#pop"/></context><context name="Single Q-string" attribute="String" lineEndContext="#pop!UnfinishedStringError"><DetectSpaces attribute="String"/><DetectIdentifier attribute="String"/><IncludeRules context="stringescape"/><IncludeRules context="stringformat"/><DetectChar char='"' attribute="String Deliminator" context="#pop"/></context><context name="Triple A-B-String" attribute="B-String" noIndentationBasedFolding="1"><IncludeRules context="stringescape"/><StringDetect String="'''" attribute="B-String Deliminator" context="#pop" endRegion="Triple A-region"/></context><context name="Triple A-string" attribute="String" noIndentationBasedFolding="1"><DetectSpaces attribute="String"/><DetectIdentifier attribute="String"/><IncludeRules context="stringescape"/><IncludeRules context="stringformat"/><StringDetect String="'''" attribute="String Deliminator" context="#pop" endRegion="Triple A-region"/></context><context name="Triple Q-B-String" attribute="B-String" noIndentationBasedFolding="1"><IncludeRules context="stringescape"/><StringDetect String='"""' attribute="B-String Deliminator" context="#pop" endRegion="Triple Q-region"/></context><context name="Triple Q-string" attribute="String" noIndentationBasedFolding="1"><DetectSpaces attribute="String"/><DetectIdentifier attribute="String"/><IncludeRules context="stringescape"/><IncludeRules context="stringformat"/><StringDetect String='"""' attribute="String Deliminator" context="#pop" endRegion="Triple Q-region"/></context><context name="Tuple" attribute="Normal Text" noIndentationBasedFolding="1"><DetectSpaces/><DetectChar char=")" attribute="Normal Text" context="#pop" endRegion="Tuple"/><IncludeRules context="StringVariants"/><IncludeRules context="Normal"/></context><context name="stringescape2" attribute="String Char" lineEndContext="#pop"><RegExpr String="\\[\\'&#34;abfnrtv]|\\[0-7]{1,3}|\\x[0-9A-Fa-f]{2}|\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8}" attribute="String Char" context="#pop"/><LineContinue attribute="Operator" context="#pop"/><RegExpr String="." attribute="Error" context="#pop"/></context></contexts><itemDatas><itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Definition Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Operator" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Operator Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Flow Control Keyword" defStyleNum="dsControlFlow" spellChecking="0"/><itemData name="Builtin Function" defStyleNum="dsBuiltIn" spellChecking="0"/><itemData name="Special Variable" defStyleNum="dsVariable" spellChecking="0"/><itemData name="Import" defStyleNum="dsImport" spellChecking="0"/><itemData name="Float" defStyleNum="dsFloat" spellChecking="0"/><itemData name="Int" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="Hex" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Octal" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Binary" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Complex" defStyleNum="dsOthers" spellChecking="0"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="String Deliminator" defStyleNum="dsString" spellChecking="0"/><itemData name="String" defStyleNum="dsString"/><itemData name="Raw String Deliminator" defStyleNum="dsVerbatimString" spellChecking="0"/><itemData name="Raw String" defStyleNum="dsVerbatimString"/><itemData name="B-String Deliminator" defStyleNum="dsString" spellChecking="0"/><itemData name="B-String" defStyleNum="dsString" spellChecking="0"/><itemData name="Raw B-String Deliminator" defStyleNum="dsVerbatimString" spellChecking="0"/><itemData name="Raw B-String" defStyleNum="dsVerbatimString" spellChecking="0"/><itemData name="String Char" defStyleNum="dsChar" spellChecking="0"/><itemData name="String Substitution" defStyleNum="dsSpecialChar" spellChecking="0"/><itemData name="Error" defStyleNum="dsError"/><itemData name="Reserved" defStyleNum="dsError"/></itemDatas></highlighting><general><folding indentationsensitive="1"/><emptyLines><emptyLine regexpr="(?:\s+|\s*#.*)"/></emptyLines><comments><comment name="singleLine" start="#" position="afterwhitespace"/></comments><keywords casesensitive="1" additionalDeliminator="#'"/></general></language>