<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="C" section="Sources" version="19" kateversion="5.79" indenter="cstyle" extensions="*.c;*.C;*.h" mimetype="text/x-csrc;text/x-c++src;text/x-chdr" priority="5"><highlighting><list name="controlflow"><item>break</item><item>case</item><item>continue</item><item>default</item><item>do</item><item>else</item><item>for</item><item>goto</item><item>if</item><item>return</item><item>switch</item><item>while</item></list><list name="keywords"><item>_Alignas</item><item>_Alignof</item><item>_Atomic</item><item>_Noreturn</item><item>_Static_assert</item><item>_Thread_local</item><item>alignas</item><item>alignof</item><item>auto</item><item>constexpr</item><item>enum</item><item>extern</item><item>false</item><item>inline</item><item>nullptr</item><item>sizeof</item><item>static_assert</item><item>struct</item><item>true</item><item>typedef</item><item>typeof</item><item>typeof_unqual</item><item>union</item></list><list name="attributes"><item>deprecated</item><item>fallthrough</item><item>maybe_unused</item><item>nodiscard</item><item>noreturn</item><item>reproducible</item><item>unsequenced</item></list><list name="types"><item>FILE</item><item>_BitInt</item><item>_Bool</item><item>_Complex</item><item>_Decimal128</item><item>_Decimal32</item><item>_Decimal64</item><item>_Generic</item><item>_Imaginary</item><item>bool</item><item>char</item><item>char16_t</item><item>char32_t</item><item>complex</item><item>const</item><item>double</item><item>float</item><item>fpos_t</item><item>imaginary</item><item>int</item><item>int16_t</item><item>int32_t</item><item>int64_t</item><item>int8_t</item><item>int_fast16_t</item><item>int_fast32_t</item><item>int_fast64_t</item><item>int_fast8_t</item><item>int_least16_t</item><item>int_least32_t</item><item>int_least64_t</item><item>int_least8_t</item><item>intmax_t</item><item>intptr_t</item><item>long</item><item>max_align_t</item><item>ptrdiff_t</item><item>register</item><item>restrict</item><item>short</item><item>sig_atomic_t</item><item>signed</item><item>size_t</item><item>ssize_t</item><item>static</item><item>thread_local</item><item>time_t</item><item>uint16_t</item><item>uint32_t</item><item>uint64_t</item><item>uint8_t</item><item>uint_fast16_t</item><item>uint_fast32_t</item><item>uint_fast64_t</item><item>uint_fast8_t</item><item>uint_least16_t</item><item>uint_least32_t</item><item>uint_least64_t</item><item>uint_least8_t</item><item>uintmax_t</item><item>uintptr_t</item><item>unsigned</item><item>va_list</item><item>void</item><item>volatile</item><item>wchar_t</item><item>wint_t</item></list><list name="preprocessor"><item>define</item><item>elif</item><item>elifdef</item><item>elifndef</item><item>else</item><item>embed</item><item>endif</item><item>error</item><item>if</item><item>ifdef</item><item>ifndef</item><item>include</item><item>line</item><item>pragma</item><item>undef</item><item>warning</item></list><contexts><context name="Normal" attribute="Normal Text"><DetectSpaces/><AnyChar String=":()]+-*=>!|&amp;~^,;" attribute="Symbol"/><IncludeRules context="match keywords"/><AnyChar String="UuL&#34;'" context="SelectString" lookAhead="1"/><DetectIdentifier/><DetectChar char="{" attribute="Symbol" beginRegion="Brace1"/><DetectChar char="}" attribute="Symbol" endRegion="Brace1"/><StringDetect String="&lt;%" attribute="Symbol" beginRegion="Brace1"/><StringDetect String="%>" attribute="Symbol" endRegion="Brace1"/><StringDetect String="[[" attribute="Symbol" context="Attribute"/><StringDetect String="&lt;:&lt;:" attribute="Symbol" context="Attribute"/><RegExpr String="\.?[0-9]" context="Number" lookAhead="1"/><IncludeRules context="FindComments"/><RegExpr String="(?:#|%\:|\?\?=)|" context="AfterHash" firstNonSpace="1" lookAhead="1"/><AnyChar String=":!%&amp;()+,-/.*&lt;=>?[]|~^;" attribute="Symbol"/></context><context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"><LineContinue attribute="Symbol"/><IncludeRules context="FindComments"/></context><context name="NumericSuffixError" attribute="Error" fallthroughContext="#pop#pop#pop" lineEndContext="#pop#pop#pop"><AnyChar String=".'0123456789" attribute="Error"/><DetectIdentifier attribute="Error"/></context><context name="CharClose" attribute="Error" lineEndContext="#pop#pop"><DetectChar char="'" attribute="Char" context="#pop#pop"/></context><context name="IntSuffix" attribute="Error" fallthroughContext="NumericSuffixError" lineEndContext="#pop#pop"><DetectChar char="'" attribute="Error"/><RegExpr String="([Uu](LL?|ll?|wb|WB)?|(LL?|ll?|wb|WB)[Uu]?)\b" attribute="Standard Suffix" context="NumericSuffixError"/></context><context name="FindComments" attribute="Normal Text" lineEndContext="#pop"><StringDetect String="//" attribute="Comment" context="MatchComment" lookAhead="1"/><StringDetect String="/*" attribute="Comment" context="MatchComment" lookAhead="1"/></context><context name="String8" attribute="String" lineEndContext="#pop"><IncludeRules context="string normal char"/><StringDetect String="\x" context="String8EscapeX" lookAhead="1"/><IncludeRules context="string special char"/></context><context name="SelectCharPrefix" attribute="String" lineEndContext="#pop"><StringDetect String="u8" attribute="Char Literal Prefix" context="#pop!CharPrefix8"/><AnyChar String="uL" attribute="Char Literal Prefix" context="#pop!CharPrefix16"/><DetectChar char="U" attribute="Char Literal Prefix" context="#pop!CharPrefix32"/></context><context name="SelectStringPrefix" attribute="String" lineEndContext="#pop"><StringDetect String="u8" attribute="String Literal Prefix" context="#pop!StringPrefix8"/><AnyChar String="uL" attribute="String Literal Prefix" context="#pop!StringPrefix16"/><DetectChar char="U" attribute="String Literal Prefix" context="#pop!StringPrefix32"/></context><context name="Attribute" attribute="Attribute"><DetectSpaces/><keyword String="attributes" attribute="Standard Attribute"/><StringDetect String="]]" attribute="Symbol" context="#pop"/><StringDetect String=":>:>" attribute="Symbol" context="#pop"/><AnyChar String=":!%&amp;()+,-/.*&lt;=>?[]|~^;" attribute="Symbol"/><DetectChar char='"' attribute="String" context="String8"/><AnyChar String="0123456789" attribute="Decimal" context="Integer" lookAhead="1"/><IncludeRules context="DetectGccAttributes##GCCExtensions"/><DetectIdentifier/></context><context name="FindSingleChar" attribute="Char" lineEndContext="#pop"><DetectChar char="'" attribute="Error" context="#pop"/><RegExpr String="." attribute="Char" context="CharClose"/></context><context name="LineError" attribute="Error" lineEndContext="#pop"><LineContinue attribute="Error"/><RegExpr String="[^\\]+" attribute="Error"/></context><context name="MatchComment" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><StringDetect String="//BEGIN" attribute="Region Marker" context="#pop!Region Marker" beginRegion="Region1" firstNonSpace="1"/><StringDetect String="//END" attribute="Region Marker" context="#pop!Region Marker" endRegion="Region1" firstNonSpace="1"/><IncludeRules context="##Doxygen"/><StringDetect String="//" attribute="Comment" context="#pop!Commentar 1"/><StringDetect String="/*" attribute="Comment" context="#pop!Commentar 2" beginRegion="Comment"/></context><context name="StringNoHex" attribute="Error" fallthroughContext="#pop" lineEndContext="#pop"><RegExpr String="[0-9A-Fa-f]{1,}" attribute="Error" context="#pop"/></context><context name="string normal char" attribute="String" lineEndContext="#pop"><RegExpr String='[^%\\"]+' attribute="String"/><DetectChar char='"' attribute="String" context="#pop"/></context><context name="string special char" attribute="String" lineEndContext="#pop"><HlCStringChar attribute="String Char"/><RegExpr String="\\(?:u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|%[-+ #0]*+(?:[0-9]++|\*)?(?:\.(?:[0-9]++|\*))?(?:(?:hh|ll|[hljzt]|wf?(?:8|16|32|64))?[dioxXubn]|(?:DD|[lLHD])?[fFeEaAgG]|l?[cs]|[p%])" attribute="String Char"/><DetectChar char="%" attribute="String"/><RegExpr String='\\(?:u[^"]{0,3}|U[^"]{0,7}|.)' attribute="Error"/><LineContinue attribute="Symbol"/></context><context name="Attribute In PP" attribute="Attribute" lineEndContext="#pop"><IncludeRules context="InPreprocessor"/><IncludeRules context="Attribute"/></context><context name="Char8" attribute="Char" fallthroughContext="CharClose" lineEndContext="#pop"><HlCStringChar attribute="String Char" context="CharClose"/><IncludeRules context="FindSingleChar"/></context><context name="InPreprocessor" attribute="Normal Text" lineEndContext="#pop"><LineContinue attribute="Symbol"/><DetectChar char="\" attribute="Error"/></context><context name="Include" attribute="Preprocessor" lineEndContext="#pop"><DetectSpaces/><RangeDetect char1='"' char='"' attribute="Prep. Lib"/><RangeDetect char1=">" char="&lt;" attribute="Prep. Lib"/><IncludeRules context="Preprocessor"/><DetectIdentifier/></context><context name="Integer" attribute="Normal Text" lineEndContext="#pop"><DetectChar char="0" context="#pop!IntStartsWith0" lookAhead="1"/><RegExpr String="(?:[0-9](?:'?[0-9]++)*+)" attribute="Decimal" context="IntSuffix"/><RegExpr String="[._0-9A-Za-z']++" attribute="Error" context="#pop"/></context><context name="Number" attribute="Normal Text" fallthroughContext="#pop" lineEndContext="#pop"><WordDetect String="0" attribute="Decimal" context="IntSuffix" weakDeliminator="."/><RegExpr String="\.(?:[0-9](?:'?[0-9]++)*+)(?:[eE][+-]?(?:[0-9](?:'?[0-9]++)*+))?|0[xX](?:\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f]++)*+)(?:[pP][-+]?(?:[0-9](?:'?[0-9]++)*+))?|(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f]++)*+)(?:(?:[pP][-+]?(?:[0-9](?:'?[0-9]++)*+))|\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f]++)*+)?(?:[pP][-+]?(?:[0-9](?:'?[0-9]++)*+))?))|(?:[0-9](?:'?[0-9]++)*+)(?:(?:[eE][+-]?(?:[0-9](?:'?[0-9]++)*+))|\.(?:[0-9](?:'?[0-9]++)*+)?(?:[eE][+-]?(?:[0-9](?:'?[0-9]++)*+))?)" attribute="Float" context="FloatSuffix"/><IncludeRules context="Integer"/></context><context name="Outscoped intern" attribute="Comment"><DetectSpaces/><IncludeRules context="##Comments"/><DetectIdentifier/><DetectChar char='"' attribute="String" context="String8"/><IncludeRules context="FindComments"/><RegExpr String="(?:#|%\:|\?\?=)\s*if|" attribute="Comment" context="Outscoped intern" beginRegion="PP" firstNonSpace="1"/><RegExpr String="(?:#|%\:|\?\?=)\s*endif|" attribute="Comment" context="#pop" endRegion="PP" firstNonSpace="1"/></context><context name="Region Marker" attribute="Region Marker" lineEndContext="#pop"/><context name="SelectString" attribute="Normal Text" lineEndContext="#pop"><DetectChar char='"' attribute="String" context="#pop!String8"/><DetectChar char="'" attribute="Char" context="#pop!Char8"/><StringDetect String='U"' context="#pop!SelectStringPrefix" lookAhead="1"/><StringDetect String='u"' context="#pop!SelectStringPrefix" lookAhead="1"/><StringDetect String='L"' context="#pop!SelectStringPrefix" lookAhead="1"/><StringDetect String='u8"' context="#pop!SelectStringPrefix" lookAhead="1"/><StringDetect String="U'" context="#pop!SelectCharPrefix" lookAhead="1"/><StringDetect String="u'" context="#pop!SelectCharPrefix" lookAhead="1"/><StringDetect String="L'" context="#pop!SelectCharPrefix" lookAhead="1"/><StringDetect String="u8'" context="#pop!SelectCharPrefix" lookAhead="1"/><keyword String="types" attribute="Data Type" context="#pop"/><DetectIdentifier context="#pop"/></context><context name="match keywords" attribute="Normal Text" lineEndContext="#pop"><keyword String="controlflow" attribute="Control Flow"/><keyword String="keywords" attribute="Keyword"/><keyword String="types" attribute="Data Type"/></context><context name="AfterHash" attribute="Error" fallthroughContext="#pop!LineError" lineEndContext="#pop"><RegExpr String="(?:#|%\:|\?\?=)\s*(?=.)|" attribute="Preprocessor" context="#pop!PreprocessorCmd" firstNonSpace="1"/></context><context name="Char16" attribute="Char" fallthroughContext="CharClose" lineEndContext="#pop"><RegExpr String="\\(?:[tnvbrfa'&#34;\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4})|" attribute="String Char" context="CharClose"/><IncludeRules context="FindSingleChar"/></context><context name="Char32" attribute="Char" fallthroughContext="CharClose" lineEndContext="#pop"><RegExpr String="\\(?:[tnvbrfa'&#34;\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,8}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|" attribute="String Char" context="CharClose"/><IncludeRules context="FindSingleChar"/></context><context name="CharPrefix16" attribute="Char" lineEndContext="#pop"><DetectChar char="'" attribute="Char" context="#pop!Char16"/></context><context name="CharPrefix32" attribute="Char" lineEndContext="#pop"><DetectChar char="'" attribute="Char" context="#pop!Char32"/></context><context name="CharPrefix8" attribute="Char" lineEndContext="#pop"><DetectChar char="'" attribute="Char" context="#pop!Char8"/></context><context name="Commentar 1" attribute="Comment" lineEndContext="#pop"><LineContinue attribute="Comment"/><IncludeRules context="##Comments"/></context><context name="Commentar 2" attribute="Comment"><StringDetect String="*/" attribute="Comment" context="#pop" endRegion="Comment"/><IncludeRules context="##Comments"/></context><context name="Define" attribute="Preprocessor" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="InPreprocessor"/><StringDetect String="//" attribute="Error" context="#pop!LineError"/><StringDetect String="/*" attribute="Comment" context="MatchComment" lookAhead="1"/><IncludeRules context="GNUMacros##GCCExtensions"/><DetectIdentifier attribute="Preprocessor" context="#pop!In Define"/></context><context name="FloatSuffix" attribute="Error" fallthroughContext="NumericSuffixError" lineEndContext="#pop#pop"><DetectChar char="'" attribute="Error"/><AnyChar String="fFlL" attribute="Standard Suffix" context="NumericSuffixError"/><StringDetect String="df" attribute="Standard Suffix" context="NumericSuffixError"/><StringDetect String="DF" attribute="Standard Suffix" context="NumericSuffixError"/><StringDetect String="dd" attribute="Standard Suffix" context="NumericSuffixError"/><StringDetect String="DD" attribute="Standard Suffix" context="NumericSuffixError"/><StringDetect String="dl" attribute="Standard Suffix" context="NumericSuffixError"/><StringDetect String="DL" attribute="Standard Suffix" context="NumericSuffixError"/></context><context name="In Define" attribute="Preprocessor" lineEndContext="#pop"><DetectSpaces/><LineContinue attribute="Symbol"/><AnyChar String="#:(){}]+-*%=>!|&amp;~^,;" attribute="Symbol"/><IncludeRules context="match keywords"/><AnyChar String="UuLR&#34;'" context="SelectStringPP" lookAhead="1"/><DetectIdentifier/><StringDetect String="[[" attribute="Symbol" context="Attribute In PP"/><StringDetect String="&lt;:&lt;:" attribute="Symbol" context="Attribute In PP"/><RegExpr String="\.?\d" context="Number" lookAhead="1"/><IncludeRules context="FindComments"/><AnyChar String="#:!%&amp;()+,-/.*&lt;=>?[]|~^;" attribute="Symbol"/></context><context name="IntStartsWith0" attribute="Normal Text" lineEndContext="#pop"><RegExpr String="0[xX](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f]++)*+)" attribute="Hex" context="IntSuffix"/><RegExpr String="0[Bb][01](?:'?[01]++)*+" attribute="Binary" context="IntSuffix"/><RegExpr String="0(?:'?[0-7]++)++" attribute="Octal" context="IntSuffix"/><DetectChar char="0" attribute="Decimal" context="IntSuffix"/></context><context name="Outscoped" attribute="Comment"><DetectSpaces/><IncludeRules context="##Comments"/><DetectIdentifier/><DetectChar char='"' attribute="String" context="String8"/><IncludeRules context="FindComments"/><RegExpr String="(?:#|%\:|\?\?=)\s*if|" attribute="Comment" context="Outscoped intern" beginRegion="PP" firstNonSpace="1"/><RegExpr String="(?:#|%\:|\?\?=)\s*el(?:se|if(n?def)?)|" attribute="Preprocessor" context="#pop" firstNonSpace="1"/><RegExpr String="(?:#|%\:|\?\?=)\s*endif|" attribute="Preprocessor" context="#pop" endRegion="PP" firstNonSpace="1"/></context><context name="PreprocessorCmd" attribute="Error" fallthroughContext="#pop!LineError" lineEndContext="#pop"><WordDetect String="include" attribute="Preprocessor" context="#pop!Include" insensitive="1"/><WordDetect String="ifdef" attribute="Preprocessor" context="#pop!Preprocessor" beginRegion="PP" insensitive="1" lookAhead="1"/><WordDetect String="ifndef" attribute="Preprocessor" context="#pop!Preprocessor" beginRegion="PP" insensitive="1" lookAhead="1"/><RegExpr String="if\s+0\s*$|" attribute="Preprocessor" context="#pop!Outscoped" beginRegion="PP"/><WordDetect String="if" attribute="Preprocessor" context="#pop!Preprocessor" beginRegion="PP" insensitive="1" lookAhead="1"/><WordDetect String="elif" attribute="Preprocessor" context="#pop!Preprocessor" beginRegion="PP" endRegion="PP" insensitive="1" lookAhead="1"/><WordDetect String="else" attribute="Preprocessor" context="#pop!Preprocessor" beginRegion="PP" endRegion="PP" insensitive="1"/><WordDetect String="endif" attribute="Preprocessor" context="#pop!Preprocessor" endRegion="PP" insensitive="1"/><WordDetect String="elifdef" attribute="Preprocessor" context="#pop!Preprocessor" beginRegion="PP" endRegion="PP" insensitive="1" lookAhead="1"/><WordDetect String="elifndef" attribute="Preprocessor" context="#pop!Preprocessor" beginRegion="PP" endRegion="PP" insensitive="1" lookAhead="1"/><WordDetect String="define" attribute="Preprocessor" context="#pop!Define"/><RegExpr String="(?:#|%\:|\?\?=)\s*pragma\s+mark\s+-\s*|" attribute="Preprocessor" context="#pop" endRegion="pragma_mark" insensitive="1"/><RegExpr String="(?:#|%\:|\?\?=)\s*pragma\s+mark|" attribute="Preprocessor" context="Preprocessor" beginRegion="pragma_mark" endRegion="pragma_mark" insensitive="1"/><keyword String="preprocessor" attribute="Preprocessor" context="#pop!Preprocessor"/><WordDetect String="include_next" attribute="Preprocessor" context="#pop!Include"/><Int attribute="Preprocessor" context="#pop!Preprocessor"/></context><context name="SelectStringPP" attribute="Preprocessor" lineEndContext="#pop"><IncludeRules context="SelectString"/></context><context name="String16" attribute="String" lineEndContext="#pop"><IncludeRules context="string normal char"/><StringDetect String="\x" context="String16EscapeX" lookAhead="1"/><IncludeRules context="string special char"/></context><context name="String16EscapeX" attribute="String" lineEndContext="#pop"><RegExpr String="\\x[0-9A-Fa-f]{1,4}" attribute="String Char" context="#pop!StringNoHex"/><StringDetect String="\x" attribute="Error" context="#pop"/></context><context name="String32" attribute="String" lineEndContext="#pop"><IncludeRules context="string normal char"/><StringDetect String="\x" context="String32EscapeX" lookAhead="1"/><IncludeRules context="string special char"/></context><context name="String32EscapeX" attribute="String" lineEndContext="#pop"><RegExpr String="\\x[0-9A-Fa-f]{1,8}" attribute="String Char" context="#pop!StringNoHex"/><StringDetect String="\x" attribute="Error" context="#pop"/></context><context name="String8EscapeX" attribute="String" lineEndContext="#pop"><HlCStringChar attribute="String Char" context="#pop!StringNoHex"/><StringDetect String="\x" attribute="Error" context="#pop"/></context><context name="StringPrefix16" attribute="String" lineEndContext="#pop"><DetectChar char='"' attribute="String" context="#pop!String16"/></context><context name="StringPrefix32" attribute="String" lineEndContext="#pop"><DetectChar char='"' attribute="String" context="#pop!String32"/></context><context name="StringPrefix8" attribute="String" lineEndContext="#pop"><DetectChar char='"' attribute="String" context="#pop!String8"/></context></contexts><itemDatas><itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="0"/><itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Data Type" defStyleNum="dsDataType" spellChecking="0"/><itemData name="Attribute" defStyleNum="dsAttribute" spellChecking="0"/><itemData name="Standard Attribute" defStyleNum="dsAttribute" spellChecking="0"/><itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="0"/><itemData name="Octal" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Hex" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Binary" defStyleNum="dsBaseN" spellChecking="0"/><itemData name="Float" defStyleNum="dsFloat" spellChecking="0"/><itemData name="Standard Suffix" defStyleNum="dsBuiltIn" spellChecking="0"/><itemData name="Char" defStyleNum="dsChar" spellChecking="0"/><itemData name="Char Literal Prefix" defStyleNum="dsChar" spellChecking="0"/><itemData name="String" defStyleNum="dsString"/><itemData name="String Char" defStyleNum="dsSpecialChar" spellChecking="0"/><itemData name="String Literal Prefix" defStyleNum="dsString"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Symbol" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Preprocessor" defStyleNum="dsPreprocessor" spellChecking="0"/><itemData name="Prep. Lib" defStyleNum="dsImport" spellChecking="0"/><itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="0"/><itemData name="Error" defStyleNum="dsError" spellChecking="0"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="//" position="afterwhitespace"/><comment name="multiLine" start="/*" end="*/" region="Comment"/></comments><keywords casesensitive="1" additionalDeliminator="#'&#34;"/></general></language>