<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="editor-backend"><sessioninfo id="h68-1192ac40" start="1788444773228" dump="1788444827011"/><package name="de/werkbaum/repository"><class name="de/werkbaum/repository/DocumentRepository" sourcefilename="DocumentRepository.kt"/><class name="de/werkbaum/repository/DocumentHistoryRepository" sourcefilename="DocumentHistoryRepository.kt"/><sourcefile name="DocumentHistoryRepository.kt"/><sourcefile name="DocumentRepository.kt"/></package><package name="de/werkbaum/diff"><class name="de/werkbaum/diff/DiffNotApplicableException" sourcefilename="LineDiff.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="6"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/diff/LineOp$Replace" sourcefilename="LineOp.kt"><method name="&lt;init&gt;" desc="(IILjava/util/List;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIndex" desc="()I" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCount" desc="()I" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLines" desc="()Ljava/util/List;" line="23"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/diff/LineDiff" sourcefilename="LineDiff.kt"><method name="normalize" desc="(Ljava/lang/String;)Ljava/lang/String;" line="36"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lines" desc="(Ljava/lang/String;)Ljava/util/List;" line="44"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="text" desc="(Ljava/util/List;)Ljava/lang/String;" line="46"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checksum" desc="(Ljava/lang/String;)Ljava/lang/String;" line="50"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apply" desc="(Ljava/util/List;Ljava/util/List;)Ljava/util/List;" line="65"><counter type="INSTRUCTION" missed="0" covered="54"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="validate" desc="(ILjava/util/List;)V" line="78"><counter type="INSTRUCTION" missed="0" covered="64"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><method name="conflicts" desc="(Lde/werkbaum/diff/LineOp;Lde/werkbaum/diff/LineOp;)Z" line="121"><counter type="INSTRUCTION" missed="0" covered="61"/><counter type="BRANCH" missed="0" covered="20"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rebase" desc="(Ljava/util/List;Ljava/util/List;)Ljava/util/List;" line="142"><counter type="INSTRUCTION" missed="0" covered="47"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="shift" desc="(Lde/werkbaum/diff/LineOp;Ljava/util/List;)Lde/werkbaum/diff/LineOp;" line="157"><counter type="INSTRUCTION" missed="0" covered="93"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="1"/></method><method name="compute" desc="(Ljava/util/List;Ljava/util/List;)Ljava/util/List;" line="178"><counter type="INSTRUCTION" missed="11" covered="112"/><counter type="BRANCH" missed="1" covered="17"/><counter type="LINE" missed="1" covered="13"/><counter type="COMPLEXITY" missed="1" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lcsOps" desc="(Ljava/util/List;Ljava/util/List;I)Ljava/util/List;" line="198"><counter type="INSTRUCTION" missed="10" covered="225"/><counter type="BRANCH" missed="4" covered="38"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="4" covered="18"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checksum$lambda$0" desc="(B)Ljava/lang/CharSequence;" line="52"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="21" covered="751"/><counter type="BRANCH" missed="6" covered="108"/><counter type="LINE" missed="1" covered="89"/><counter type="COMPLEXITY" missed="6" covered="63"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/diff/LineOp$Insert" sourcefilename="LineOp.kt"><method name="&lt;init&gt;" desc="(ILjava/util/List;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIndex" desc="()I" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLines" desc="()Ljava/util/List;" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/diff/LineOpKt" sourcefilename="LineOp.kt"><method name="getRemovedCount" desc="(Lde/werkbaum/diff/LineOp;)I" line="28"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getInsertedLines" desc="(Lde/werkbaum/diff/LineOp;)Ljava/util/List;" line="36"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getEndExclusive" desc="(Lde/werkbaum/diff/LineOp;)I" line="44"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLineDelta" desc="(Lde/werkbaum/diff/LineOp;)I" line="48"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/diff/LineOp$Delete" sourcefilename="LineOp.kt"><method name="&lt;init&gt;" desc="(II)V" line="22"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIndex" desc="()I" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCount" desc="()I" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/diff/LineOp" sourcefilename="LineOp.kt"/><sourcefile name="LineOp.kt"><line nr="21" mi="0" ci="15" mb="0" cb="0"/><line nr="22" mi="0" ci="15" mb="0" cb="0"/><line nr="23" mi="0" ci="21" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="2"/><line nr="30" mi="0" ci="7" mb="0" cb="2"/><line nr="31" mi="0" ci="6" mb="0" cb="0"/><line nr="32" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="7" mb="0" cb="2"/><line nr="38" mi="0" ci="5" mb="0" cb="2"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="0"/><line nr="48" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="106"/><counter type="BRANCH" missed="0" covered="8"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="18"/><counter type="METHOD" missed="0" covered="14"/><counter type="CLASS" missed="0" covered="4"/></sourcefile><sourcefile name="LineDiff.kt"><line nr="6" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="14" mb="0" cb="0"/><line nr="44" mi="0" ci="18" mb="0" cb="0"/><line nr="46" mi="0" ci="13" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="0" ci="9" mb="0" cb="0"/><line nr="52" mi="0" ci="38" mb="0" cb="0"/><line nr="65" mi="0" ci="5" mb="0" cb="0"/><line nr="66" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="10" mb="0" cb="2"/><line nr="69" mi="0" ci="9" mb="0" cb="0"/><line nr="70" mi="0" ci="6" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="9" mb="0" cb="0"/><line nr="74" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="2" mb="0" cb="0"/><line nr="79" mi="0" ci="10" mb="0" cb="2"/><line nr="80" mi="0" ci="3" mb="0" cb="2"/><line nr="81" mi="0" ci="6" mb="0" cb="0"/><line nr="83" mi="0" ci="7" mb="0" cb="4"/><line nr="84" mi="0" ci="8" mb="0" cb="0"/><line nr="86" mi="0" ci="4" mb="0" cb="2"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="5" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="2"/><line nr="92" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="1" mb="0" cb="0"/><line nr="121" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="8" mb="0" cb="4"/><line nr="123" mi="0" ci="19" mb="0" cb="6"/><line nr="124" mi="0" ci="19" mb="0" cb="6"/><line nr="125" mi="0" ci="13" mb="0" cb="4"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="142" mi="0" ci="8" mb="1" cb="3"/><line nr="143" mi="0" ci="10" mb="0" cb="2"/><line nr="144" mi="0" ci="10" mb="0" cb="2"/><line nr="145" mi="0" ci="7" mb="0" cb="2"/><line nr="148" mi="0" ci="12" mb="0" cb="0"/><line nr="157" mi="0" ci="38" mb="0" cb="4"/><line nr="158" mi="0" ci="4" mb="0" cb="2"/><line nr="159" mi="0" ci="3" mb="0" cb="0"/><line nr="160" mi="0" ci="16" mb="0" cb="2"/><line nr="161" mi="0" ci="16" mb="0" cb="2"/><line nr="162" mi="0" ci="16" mb="0" cb="0"/><line nr="178" mi="0" ci="2" mb="0" cb="0"/><line nr="179" mi="0" ci="6" mb="0" cb="0"/><line nr="180" mi="0" ci="13" mb="0" cb="4"/><line nr="181" mi="0" ci="2" mb="0" cb="0"/><line nr="182" mi="0" ci="25" mb="0" cb="4"/><line nr="184" mi="0" ci="8" mb="0" cb="0"/><line nr="185" mi="0" ci="8" mb="0" cb="0"/><line nr="187" mi="0" ci="2" mb="0" cb="0"/><line nr="188" mi="0" ci="8" mb="0" cb="4"/><line nr="189" mi="0" ci="12" mb="0" cb="2"/><line nr="190" mi="0" ci="11" mb="0" cb="2"/><line nr="191" mi="0" ci="10" mb="1" cb="1"/><line nr="192" mi="11" ci="0" mb="0" cb="0"/><line nr="193" mi="0" ci="5" mb="0" cb="0"/><line nr="198" mi="0" ci="3" mb="0" cb="0"/><line nr="199" mi="0" ci="3" mb="0" cb="0"/><line nr="201" mi="0" ci="25" mb="0" cb="2"/><line nr="202" mi="0" ci="9" mb="0" cb="2"/><line nr="203" mi="0" ci="9" mb="0" cb="2"/><line nr="204" mi="0" ci="24" mb="0" cb="2"/><line nr="205" mi="0" ci="16" mb="0" cb="0"/><line nr="209" mi="0" ci="5" mb="0" cb="0"/><line nr="210" mi="0" ci="2" mb="0" cb="0"/><line nr="211" mi="0" ci="2" mb="0" cb="0"/><line nr="212" mi="0" ci="6" mb="0" cb="4"/><line nr="213" mi="0" ci="14" mb="1" cb="5"/><line nr="214" mi="0" ci="1" mb="0" cb="0"/><line nr="215" mi="0" ci="1" mb="0" cb="0"/><line nr="216" mi="0" ci="1" mb="0" cb="0"/><line nr="220" mi="0" ci="2" mb="0" cb="0"/><line nr="221" mi="0" ci="5" mb="0" cb="0"/><line nr="222" mi="0" ci="6" mb="0" cb="4"/><line nr="223" mi="0" ci="14" mb="0" cb="6"/><line nr="224" mi="0" ci="21" mb="0" cb="6"/><line nr="225" mi="0" ci="7" mb="0" cb="0"/><line nr="226" mi="0" ci="2" mb="0" cb="0"/><line nr="228" mi="0" ci="2" mb="0" cb="0"/><line nr="231" mi="0" ci="4" mb="0" cb="0"/><line nr="232" mi="0" ci="3" mb="0" cb="0"/><line nr="233" mi="1" ci="9" mb="2" cb="4"/><line nr="234" mi="0" ci="12" mb="0" cb="0"/><line nr="236" mi="9" ci="2" mb="1" cb="1"/><line nr="237" mi="0" ci="13" mb="0" cb="0"/><line nr="240" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="21" covered="755"/><counter type="BRANCH" missed="6" covered="108"/><counter type="LINE" missed="1" covered="90"/><counter type="COMPLEXITY" missed="6" covered="64"/><counter type="METHOD" missed="0" covered="13"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><counter type="INSTRUCTION" missed="21" covered="861"/><counter type="BRANCH" missed="6" covered="116"/><counter type="LINE" missed="1" covered="105"/><counter type="COMPLEXITY" missed="6" covered="82"/><counter type="METHOD" missed="0" covered="27"/><counter type="CLASS" missed="0" covered="6"/></package><package name="de/werkbaum"><class name="de/werkbaum/EditorBackendApplication" sourcefilename="EditorBackendApplication.kt"><method name="&lt;init&gt;" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/EditorBackendApplicationKt" sourcefilename="EditorBackendApplication.kt"><method name="main" desc="([Ljava/lang/String;)V" line="12"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="EditorBackendApplication.kt"><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="12" mi="8" ci="0" mb="0" cb="0"/><line nr="13" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="3"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="1" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="9" covered="3"/><counter type="LINE" missed="2" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="1" covered="1"/></package><package name="de/werkbaum/integration/taiga"><class name="de/werkbaum/integration/taiga/TaigaStatusData" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(JLjava/lang/String;Ljava/lang/Boolean;)V" line="63"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()J" line="63"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="()Ljava/lang/String;" line="63"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getClosed" desc="()Ljava/lang/Boolean;" line="63"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaBulkRefData" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ZJ)V" line="71"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getKey" desc="()Ljava/lang/String;" line="71"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTask" desc="()Z" line="71"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNr" desc="()J" line="71"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaUnavailableException" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/Throwable;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaUpstreamException" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(ILjava/lang/String;)V" line="32"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStatus" desc="()I" line="32"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaClient$Companion$MAP$1" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="()V" line="321"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaTicketData" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(JJLjava/lang/String;)V" line="43"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()J" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRef" desc="()J" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubject" desc="()Ljava/lang/String;" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaProjectData" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(JLjava/lang/String;Ljava/lang/String;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()J" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getName" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSlug" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaClient$Companion" sourcefilename="TaigaClient.kt"/><class name="de/werkbaum/integration/taiga/TaigaNotConfiguredException" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="()V" line="20"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaSessionData" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAuthToken" desc="()Ljava/lang/String;" line="35"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUserId" desc="()J" line="36"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUsername" desc="()Ljava/lang/String;" line="37"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFullName" desc="()Ljava/lang/String;" line="38"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaTicketDetailData" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Long;)V" line="51"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()J" line="52"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRef" desc="()J" line="53"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubject" desc="()Ljava/lang/String;" line="54"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStatus" desc="()Ljava/lang/String;" line="55"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStatusClosed" desc="()Ljava/lang/Boolean;" line="56"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAssignee" desc="()Ljava/lang/String;" line="57"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getVersion" desc="()Ljava/lang/Long;" line="59"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="8"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaClient" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/integration/taiga/TaigaProperties;)V" line="86"><counter type="INSTRUCTION" missed="0" covered="38"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="login" desc="(Ljava/lang/String;Ljava/lang/String;)Lde/werkbaum/integration/taiga/TaigaSessionData;" line="103"><counter type="INSTRUCTION" missed="10" covered="36"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="projects" desc="(Ljava/lang/String;J)Ljava/util/List;" line="118"><counter type="INSTRUCTION" missed="2" covered="33"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createStory" desc="(Ljava/lang/String;JLjava/lang/String;)Lde/werkbaum/integration/taiga/TaigaTicketData;" line="130"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createTask" desc="(Ljava/lang/String;JLjava/lang/String;J)Lde/werkbaum/integration/taiga/TaigaTicketData;" line="134"><counter type="INSTRUCTION" missed="0" covered="30"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ticket" desc="(Ljava/lang/String;Ljava/lang/String;JZ)Lde/werkbaum/integration/taiga/TaigaTicketDetailData;" line="148"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="detailByRef" desc="(Ljava/lang/String;JJZ)Lde/werkbaum/integration/taiga/TaigaTicketDetailData;" line="151"><counter type="INSTRUCTION" missed="10" covered="22"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tickets" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/util/Map;" line="175"><counter type="INSTRUCTION" missed="3" covered="81"/><counter type="BRANCH" missed="2" covered="6"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="statuses" desc="(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/List;" line="208"><counter type="INSTRUCTION" missed="3" covered="51"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setStatus" desc="(Ljava/lang/String;Ljava/lang/String;JZJJ)Lde/werkbaum/integration/taiga/TaigaTicketDetailData;" line="235"><counter type="INSTRUCTION" missed="13" covered="29"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="detail" desc="(Ljava/util/Map;)Lde/werkbaum/integration/taiga/TaigaTicketDetailData;" line="247"><counter type="INSTRUCTION" missed="0" covered="91"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="projectId" desc="(Ljava/lang/String;Ljava/lang/String;)J" line="263"><counter type="INSTRUCTION" missed="9" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="extra" desc="(Ljava/util/Map;Ljava/lang/String;)Ljava/util/Map;" line="273"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="create" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lde/werkbaum/integration/taiga/TaigaTicketData;" line="276"><counter type="INSTRUCTION" missed="10" covered="27"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="enc" desc="(Ljava/lang/String;)Ljava/lang/String;" line="286"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="url" desc="(Ljava/lang/String;)Ljava/lang/String;" line="289"><counter type="INSTRUCTION" missed="0" covered="23"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="exchange" desc="(Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;" line="294"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="errorMessage" desc="(Lorg/springframework/web/client/RestClientResponseException;)Ljava/lang/String;" line="305"><counter type="INSTRUCTION" missed="6" covered="32"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="str" desc="(Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;" line="311"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="num" desc="(Ljava/util/Map;Ljava/lang/String;)J" line="315"><counter type="INSTRUCTION" missed="11" covered="15"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="login$lambda$0" desc="(Lde/werkbaum/integration/taiga/TaigaClient;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;" line="104"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="projects$lambda$0" desc="(Lde/werkbaum/integration/taiga/TaigaClient;JLjava/lang/String;)Ljava/util/List;" line="119"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="detailByRef$lambda$0" desc="(Lde/werkbaum/integration/taiga/TaigaClient;Ljava/lang/String;JJLjava/lang/String;)Ljava/util/Map;" line="153"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="tickets$lambda$0$0" desc="(Ljava/util/concurrent/Semaphore;Lde/werkbaum/integration/taiga/TaigaBulkRefData;Lde/werkbaum/integration/taiga/TaigaClient;Ljava/lang/String;J)Lkotlin/Pair;" line="179"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="statuses$lambda$0" desc="(Lde/werkbaum/integration/taiga/TaigaClient;Ljava/lang/String;JLjava/lang/String;)Ljava/util/List;" line="211"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="setStatus$lambda$0" desc="(Lde/werkbaum/integration/taiga/TaigaClient;Ljava/lang/String;Ljava/lang/String;JJ)Ljava/util/Map;" line="238"><counter type="INSTRUCTION" missed="0" covered="50"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="projectId$lambda$0" desc="(Lde/werkbaum/integration/taiga/TaigaClient;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;" line="264"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="create$lambda$0" desc="(Lde/werkbaum/integration/taiga/TaigaClient;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;" line="277"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="321"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="77" covered="904"/><counter type="BRANCH" missed="17" covered="49"/><counter type="LINE" missed="7" covered="112"/><counter type="COMPLEXITY" missed="17" covered="45"/><counter type="METHOD" missed="0" covered="29"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaClient$Companion$LIST$1" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="()V" line="322"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaProperties" sourcefilename="TaigaProperties.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="15"><counter type="INSTRUCTION" missed="2" covered="19"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getApiUrl" desc="()Ljava/lang/String;" line="22"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getWebUrl" desc="()Ljava/lang/String;" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAuthType" desc="()Ljava/lang/String;" line="38"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getConfigured" desc="()Z" line="40"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="49"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/integration/taiga/TaigaBadRequestException" sourcefilename="TaigaClient.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="74"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="TaigaClient.kt"><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="21" mi="0" ci="1" mb="0" cb="0"/><line nr="24" mi="0" ci="13" mb="0" cb="0"/><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="10" mb="0" cb="0"/><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="35" mi="0" ci="6" mb="0" cb="0"/><line nr="36" mi="0" ci="6" mb="0" cb="0"/><line nr="37" mi="0" ci="6" mb="0" cb="0"/><line nr="38" mi="0" ci="6" mb="0" cb="0"/><line nr="41" mi="0" ci="21" mb="0" cb="0"/><line nr="43" mi="0" ci="21" mb="0" cb="0"/><line nr="51" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="6" mb="0" cb="0"/><line nr="53" mi="0" ci="6" mb="0" cb="0"/><line nr="54" mi="0" ci="6" mb="0" cb="0"/><line nr="55" mi="0" ci="6" mb="0" cb="0"/><line nr="56" mi="0" ci="6" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="0" cb="0"/><line nr="59" mi="0" ci="6" mb="0" cb="0"/><line nr="63" mi="0" ci="21" mb="0" cb="0"/><line nr="71" mi="0" ci="21" mb="0" cb="0"/><line nr="74" mi="0" ci="4" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="3" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="5" mb="0" cb="0"/><line nr="98" mi="0" ci="12" mb="0" cb="0"/><line nr="100" mi="0" ci="6" mb="0" cb="0"/><line nr="103" mi="1" ci="10" mb="1" cb="1"/><line nr="104" mi="0" ci="10" mb="0" cb="0"/><line nr="105" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="26" mb="0" cb="0"/><line nr="107" mi="0" ci="6" mb="0" cb="0"/><line nr="108" mi="8" ci="0" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="113" mi="1" ci="10" mb="1" cb="1"/><line nr="118" mi="1" ci="10" mb="1" cb="1"/><line nr="119" mi="0" ci="10" mb="0" cb="0"/><line nr="120" mi="0" ci="11" mb="0" cb="0"/><line nr="123" mi="0" ci="10" mb="0" cb="0"/><line nr="124" mi="0" ci="6" mb="0" cb="0"/><line nr="125" mi="1" ci="0" mb="0" cb="0"/><line nr="126" mi="0" ci="23" mb="0" cb="0"/><line nr="130" mi="0" ci="23" mb="0" cb="0"/><line nr="134" mi="0" ci="30" mb="0" cb="0"/><line nr="148" mi="0" ci="10" mb="0" cb="0"/><line nr="151" mi="0" ci="6" mb="0" cb="2"/><line nr="152" mi="1" ci="12" mb="1" cb="1"/><line nr="153" mi="0" ci="12" mb="0" cb="0"/><line nr="154" mi="0" ci="11" mb="0" cb="0"/><line nr="155" mi="0" ci="6" mb="0" cb="0"/><line nr="156" mi="9" ci="0" mb="0" cb="0"/><line nr="157" mi="0" ci="4" mb="0" cb="0"/><line nr="175" mi="0" ci="5" mb="0" cb="0"/><line nr="176" mi="0" ci="5" mb="0" cb="0"/><line nr="177" mi="0" ci="6" mb="0" cb="0"/><line nr="178" mi="0" ci="9" mb="0" cb="0"/><line nr="179" mi="0" ci="2" mb="0" cb="0"/><line nr="180" mi="0" ci="1" mb="0" cb="0"/><line nr="181" mi="0" ci="12" mb="0" cb="0"/><line nr="183" mi="0" ci="3" mb="0" cb="0"/><line nr="184" mi="0" ci="1" mb="0" cb="0"/><line nr="185" mi="0" ci="3" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="10" mb="0" cb="2"/><line nr="189" mi="0" ci="1" mb="0" cb="0"/><line nr="190" mi="0" ci="12" mb="0" cb="0"/><line nr="191" mi="0" ci="7" mb="0" cb="0"/><line nr="192" mi="0" ci="1" mb="0" cb="0"/><line nr="193" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="0" ci="8" mb="1" cb="3"/><line nr="195" mi="3" ci="4" mb="1" cb="1"/><line nr="198" mi="0" ci="3" mb="0" cb="0"/><line nr="208" mi="0" ci="5" mb="0" cb="0"/><line nr="209" mi="0" ci="6" mb="0" cb="2"/><line nr="210" mi="1" ci="11" mb="1" cb="1"/><line nr="211" mi="0" ci="11" mb="0" cb="0"/><line nr="212" mi="0" ci="11" mb="0" cb="0"/><line nr="213" mi="0" ci="6" mb="0" cb="0"/><line nr="214" mi="1" ci="0" mb="0" cb="0"/><line nr="215" mi="0" ci="6" mb="0" cb="0"/><line nr="216" mi="1" ci="23" mb="1" cb="1"/><line nr="235" mi="0" ci="8" mb="0" cb="0"/><line nr="236" mi="3" ci="5" mb="1" cb="1"/><line nr="237" mi="1" ci="12" mb="1" cb="1"/><line nr="238" mi="0" ci="10" mb="0" cb="0"/><line nr="239" mi="0" ci="12" mb="0" cb="0"/><line nr="240" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="20" mb="0" cb="0"/><line nr="242" mi="0" ci="6" mb="0" cb="0"/><line nr="243" mi="9" ci="0" mb="0" cb="0"/><line nr="244" mi="0" ci="4" mb="0" cb="0"/><line nr="247" mi="0" ci="3" mb="0" cb="0"/><line nr="248" mi="0" ci="4" mb="0" cb="0"/><line nr="249" mi="0" ci="4" mb="0" cb="0"/><line nr="250" mi="0" ci="4" mb="0" cb="0"/><line nr="251" mi="0" ci="19" mb="0" cb="4"/><line nr="252" mi="0" ci="19" mb="0" cb="4"/><line nr="253" mi="0" ci="19" mb="0" cb="4"/><line nr="254" mi="0" ci="18" mb="0" cb="4"/><line nr="255" mi="0" ci="1" mb="0" cb="0"/><line nr="263" mi="1" ci="10" mb="1" cb="1"/><line nr="264" mi="0" ci="12" mb="0" cb="0"/><line nr="265" mi="0" ci="11" mb="0" cb="0"/><line nr="266" mi="0" ci="6" mb="0" cb="0"/><line nr="267" mi="8" ci="0" mb="0" cb="0"/><line nr="268" mi="0" ci="5" mb="0" cb="0"/><line nr="273" mi="0" ci="12" mb="0" cb="2"/><line nr="276" mi="1" ci="11" mb="1" cb="1"/><line nr="277" mi="0" ci="10" mb="0" cb="0"/><line nr="278" mi="0" ci="12" mb="0" cb="0"/><line nr="279" mi="0" ci="2" mb="0" cb="0"/><line nr="280" mi="0" ci="2" mb="0" cb="0"/><line nr="281" mi="0" ci="6" mb="0" cb="0"/><line nr="282" mi="9" ci="0" mb="0" cb="0"/><line nr="283" mi="0" ci="16" mb="0" cb="0"/><line nr="286" mi="0" ci="7" mb="0" cb="0"/><line nr="289" mi="0" ci="8" mb="0" cb="2"/><line nr="290" mi="0" ci="15" mb="0" cb="0"/><line nr="294" mi="0" ci="1" mb="0" cb="0"/><line nr="295" mi="0" ci="4" mb="0" cb="0"/><line nr="296" mi="0" ci="1" mb="0" cb="0"/><line nr="299" mi="0" ci="10" mb="0" cb="0"/><line nr="300" mi="0" ci="1" mb="0" cb="0"/><line nr="301" mi="0" ci="10" mb="0" cb="0"/><line nr="302" mi="0" ci="1" mb="0" cb="0"/><line nr="305" mi="0" ci="7" mb="0" cb="0"/><line nr="306" mi="1" ci="21" mb="2" cb="2"/><line nr="307" mi="5" ci="4" mb="1" cb="1"/><line nr="311" mi="0" ci="14" mb="0" cb="4"/><line nr="312" mi="0" ci="10" mb="0" cb="0"/><line nr="315" mi="2" ci="14" mb="2" cb="2"/><line nr="316" mi="9" ci="1" mb="0" cb="0"/><line nr="321" mi="0" ci="7" mb="0" cb="0"/><line nr="322" mi="0" ci="8" mb="0" cb="0"/><counter type="INSTRUCTION" missed="77" covered="1099"/><counter type="BRANCH" missed="17" covered="49"/><counter type="LINE" missed="7" covered="135"/><counter type="COMPLEXITY" missed="17" covered="82"/><counter type="METHOD" missed="0" covered="66"/><counter type="CLASS" missed="0" covered="13"/></sourcefile><sourcefile name="TaigaProperties.kt"><line nr="14" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="15" mb="0" cb="0"/><line nr="22" mi="2" ci="6" mb="0" cb="0"/><line nr="31" mi="0" ci="8" mb="0" cb="0"/><line nr="38" mi="0" ci="8" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="40" mi="0" ci="9" mb="0" cb="2"/><counter type="INSTRUCTION" missed="2" covered="49"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="79" covered="1148"/><counter type="BRANCH" missed="17" covered="51"/><counter type="LINE" missed="7" covered="142"/><counter type="COMPLEXITY" missed="17" covered="89"/><counter type="METHOD" missed="0" covered="72"/><counter type="CLASS" missed="0" covered="14"/></package><package name="de/werkbaum/domain"><class name="de/werkbaum/domain/ChangeFeed" sourcefilename="ChangeFeed.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/Long;JLjava/util/List;Ljava/lang/String;Ljava/util/List;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getFromVersion" desc="()Ljava/lang/Long;" line="28"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentVersion" desc="()J" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOps" desc="()Ljava/util/List;" line="30"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getContent" desc="()Ljava/lang/String;" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getEvents" desc="()Ljava/util/List;" line="32"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/domain/ChangeType" sourcefilename="DocumentHistoryEntry.kt"><method name="&lt;clinit&gt;" desc="()V" line="18"><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/domain/ChangeEvent" sourcefilename="ChangeFeed.kt"><method name="&lt;init&gt;" desc="(JLde/werkbaum/domain/ChangeType;Lde/werkbaum/domain/ChangeAuthor;Ljava/lang/String;)V" line="10"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(JLde/werkbaum/domain/ChangeType;Lde/werkbaum/domain/ChangeAuthor;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="10"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getVersion" desc="()J" line="11"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getChangeType" desc="()Lde/werkbaum/domain/ChangeType;" line="12"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAuthor" desc="()Lde/werkbaum/domain/ChangeAuthor;" line="13"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="14"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="42"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/domain/ContentPatch" sourcefilename="ContentPatch.kt"><method name="&lt;init&gt;" desc="(JLjava/lang/String;Lde/werkbaum/domain/ChangeAuthor;JLjava/util/List;Z)V" line="27"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(JLjava/lang/String;Lde/werkbaum/domain/ChangeAuthor;JLjava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="27"><counter type="INSTRUCTION" missed="14" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getBaseVersion" desc="()J" line="28"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getChecksum" desc="()Ljava/lang/String;" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAuthor" desc="()Lde/werkbaum/domain/ChangeAuthor;" line="30"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSeq" desc="()J" line="31"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOps" desc="()Ljava/util/List;" line="32"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMilestone" desc="()Z" line="33"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="14" covered="39"/><counter type="LINE" missed="1" covered="7"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/domain/ChangeAuthor" sourcefilename="ContentPatch.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="14"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getClientId" desc="()Ljava/lang/String;" line="15"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDisplayName" desc="()Ljava/lang/String;" line="16"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="15"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="1" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/domain/ContentPatchOutcome" sourcefilename="ContentPatch.kt"><method name="&lt;init&gt;" desc="(JLjava/util/List;)V" line="43"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getVersion" desc="()J" line="44"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOpsSinceBase" desc="()Ljava/util/List;" line="45"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/domain/DocumentHistoryEntry" sourcefilename="DocumentHistoryEntry.kt"><method name="&lt;init&gt;" desc="(Ljava/util/UUID;JLjava/lang/String;Ljava/lang/String;Lde/werkbaum/domain/ChangeType;Ljava/time/OffsetDateTime;ZLde/werkbaum/domain/ChangeAuthor;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/util/UUID;JLjava/lang/String;Ljava/lang/String;Lde/werkbaum/domain/ChangeType;Ljava/time/OffsetDateTime;ZLde/werkbaum/domain/ChangeAuthor;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="37"><counter type="INSTRUCTION" missed="2" covered="19"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDocumentId" desc="()Ljava/util/UUID;" line="38"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getVersion" desc="()J" line="39"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="40"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getContent" desc="()Ljava/lang/String;" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getChangeType" desc="()Lde/werkbaum/domain/ChangeType;" line="42"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTimestamp" desc="()Ljava/time/OffsetDateTime;" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMilestone" desc="()Z" line="44"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getAuthor" desc="()Lde/werkbaum/domain/ChangeAuthor;" line="46"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="70"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="10"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/domain/Document" sourcefilename="Document.kt"><method name="&lt;init&gt;" desc="(Ljava/util/UUID;Ljava/lang/String;Ljava/lang/String;JLjava/time/OffsetDateTime;Ljava/time/OffsetDateTime;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()Ljava/util/UUID;" line="15"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="16"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getContent" desc="()Ljava/lang/String;" line="17"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getVersion" desc="()J" line="18"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCreatedAt" desc="()Ljava/time/OffsetDateTime;" line="19"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUpdatedAt" desc="()Ljava/time/OffsetDateTime;" line="20"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="DocumentHistoryEntry.kt"><line nr="18" mi="0" ci="43" mb="0" cb="0"/><line nr="37" mi="0" ci="19" mb="0" cb="0"/><line nr="38" mi="0" ci="6" mb="0" cb="0"/><line nr="39" mi="0" ci="6" mb="0" cb="0"/><line nr="40" mi="0" ci="6" mb="0" cb="0"/><line nr="41" mi="0" ci="6" mb="0" cb="0"/><line nr="42" mi="0" ci="6" mb="0" cb="0"/><line nr="43" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="2" ci="6" mb="0" cb="0"/><line nr="46" mi="0" ci="8" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="113"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="ContentPatch.kt"><line nr="14" mi="7" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="6" mb="0" cb="0"/><line nr="16" mi="2" ci="6" mb="0" cb="0"/><line nr="17" mi="1" ci="0" mb="0" cb="0"/><line nr="27" mi="11" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="6" mb="0" cb="0"/><line nr="29" mi="0" ci="6" mb="0" cb="0"/><line nr="30" mi="0" ci="6" mb="0" cb="0"/><line nr="31" mi="0" ci="6" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="2" ci="6" mb="0" cb="0"/><line nr="34" mi="1" ci="0" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="6" mb="0" cb="0"/><line nr="45" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="24" covered="69"/><counter type="LINE" missed="2" covered="13"/><counter type="COMPLEXITY" missed="2" covered="13"/><counter type="METHOD" missed="2" covered="13"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="ChangeFeed.kt"><line nr="10" mi="0" ci="15" mb="0" cb="0"/><line nr="11" mi="0" ci="6" mb="0" cb="0"/><line nr="12" mi="0" ci="6" mb="0" cb="0"/><line nr="13" mi="2" ci="6" mb="0" cb="0"/><line nr="14" mi="0" ci="8" mb="0" cb="0"/><line nr="15" mi="0" ci="1" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="6" mb="0" cb="0"/><line nr="29" mi="0" ci="6" mb="0" cb="0"/><line nr="30" mi="0" ci="6" mb="0" cb="0"/><line nr="31" mi="0" ci="6" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="75"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="12"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Document.kt"><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="6" mb="0" cb="0"/><line nr="16" mi="0" ci="6" mb="0" cb="0"/><line nr="17" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="6" mb="0" cb="0"/><line nr="19" mi="0" ci="6" mb="0" cb="0"/><line nr="20" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="28" covered="296"/><counter type="LINE" missed="2" covered="43"/><counter type="COMPLEXITY" missed="2" covered="43"/><counter type="METHOD" missed="2" covered="43"/><counter type="CLASS" missed="0" covered="8"/></package><package name="de/werkbaum/service"><class name="de/werkbaum/service/MasterPasswordProperties" sourcefilename="MasterPasswordProperties.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/time/Duration;)V" line="20"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/String;ILjava/time/Duration;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="21"><counter type="INSTRUCTION" missed="8" covered="17"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getHash" desc="()Ljava/lang/String;" line="30"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMaxAttempts" desc="()I" line="33"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getLockout" desc="()Ljava/time/Duration;" line="36"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getConfigured" desc="()Z" line="38"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="47"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/LiveEditingService" sourcefilename="LiveEditingService.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/DocumentService;Lde/werkbaum/repository/DocumentHistoryRepository;Lde/werkbaum/service/LiveEditingProperties;Lde/werkbaum/service/ChangeNotifier;)V" line="34"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="patchContent" desc="(Ljava/util/UUID;Lde/werkbaum/domain/ContentPatch;)Lde/werkbaum/domain/ContentPatchOutcome;" line="54"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="renameDocument" desc="(Ljava/util/UUID;Ljava/lang/String;J)Lde/werkbaum/domain/Document;" line="62"><counter type="INSTRUCTION" missed="7" covered="44"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="applyPatch" desc="(Ljava/util/UUID;Lde/werkbaum/domain/ContentPatch;)Lde/werkbaum/domain/ContentPatchOutcome;" line="72"><counter type="INSTRUCTION" missed="0" covered="174"/><counter type="BRANCH" missed="0" covered="16"/><counter type="LINE" missed="0" covered="29"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="baseContentOf" desc="(Ljava/util/UUID;Ljava/lang/String;JJ)Ljava/lang/String;" line="133"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="changesSince" desc="(Ljava/util/UUID;JLjava/time/Duration;)Lde/werkbaum/domain/ChangeFeed;" line="160"><counter type="INSTRUCTION" missed="0" covered="57"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="feedSince" desc="(Ljava/util/UUID;J)Lde/werkbaum/domain/ChangeFeed;" line="175"><counter type="INSTRUCTION" missed="3" covered="73"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="17"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toEvent" desc="(Lde/werkbaum/domain/DocumentHistoryEntry;)Lde/werkbaum/domain/ChangeEvent;" line="203"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lockFor" desc="(Ljava/util/UUID;)Ljava/util/concurrent/locks/ReentrantLock;" line="209"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="497"/><counter type="BRANCH" missed="4" covered="50"/><counter type="LINE" missed="1" covered="81"/><counter type="COMPLEXITY" missed="4" covered="32"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/DocumentService$publishAfterCommit$1" sourcefilename="DocumentService.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/DocumentService;Ljava/util/UUID;)V" line="249"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="afterCommit" desc="()V" line="250"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/LoginThrottle" sourcefilename="LoginThrottle.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/MasterPasswordProperties;Ljava/time/Clock;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="locked" desc="()Z" line="34"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="retryAfterSeconds" desc="()J" line="41"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recordFailure" desc="()V" line="45"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recordSuccess" desc="()V" line="52"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="reset" desc="()V" line="55"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="147"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/ClockConfiguration" sourcefilename="ClockConfiguration.kt"><method name="&lt;init&gt;" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="clock" desc="()Ljava/time/Clock;" line="10"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/StalePatchSequenceException" sourcefilename="PatchLog.kt"><method name="&lt;init&gt;" desc="(JJ)V" line="54"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/ChangeNotifier" sourcefilename="ChangeNotifier.kt"><method name="&lt;init&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="stampOf" desc="(Ljava/util/UUID;)J" line="35"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="published" desc="(Ljava/util/UUID;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="awaitChange" desc="(Ljava/util/UUID;JLjava/time/Duration;)Z" line="47"><counter type="INSTRUCTION" missed="0" covered="39"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="published$lambda$0$0" desc="(Ljava/lang/Long;Ljava/lang/Long;)Ljava/lang/Long;" line="39"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="published$lambda$0$1" desc="(Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Long;" line="39"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="109"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/LiveEditingProperties" sourcefilename="LiveEditingProperties.kt"><method name="&lt;init&gt;" desc="(Ljava/time/Duration;Ljava/time/Duration;IILjava/time/Duration;)V" line="11"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/time/Duration;Ljava/time/Duration;IILjava/time/Duration;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="12"><counter type="INSTRUCTION" missed="0" covered="45"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMilestonePause" desc="()Ljava/time/Duration;" line="18"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSyncRetention" desc="()Ljava/time/Duration;" line="32"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMaxOps" desc="()I" line="38"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMaxContentLength" desc="()I" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getMaxWait" desc="()Ljava/time/Duration;" line="49"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="78"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/PatchLog" sourcefilename="PatchLog.kt"><method name="&lt;init&gt;" desc="(I)V" line="19"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(IILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="19"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="outcomeOf" desc="(Ljava/util/UUID;Ljava/lang/String;J)Lde/werkbaum/domain/ContentPatchOutcome;" line="36"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="record" desc="(Ljava/util/UUID;Ljava/lang/String;JLde/werkbaum/domain/ContentPatchOutcome;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="size" desc="()I" line="50"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="72"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="1" covered="9"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/DocumentNotFoundException" sourcefilename="DocumentNotFoundException.kt"><method name="&lt;init&gt;" desc="(Ljava/util/UUID;)V" line="5"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/DocumentDeletedException" sourcefilename="ContentConflictException.kt"><method name="&lt;init&gt;" desc="(Ljava/util/UUID;)V" line="24"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()Ljava/util/UUID;" line="24"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="3" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/ContentConflictException" sourcefilename="ContentConflictException.kt"><method name="&lt;init&gt;" desc="(JLjava/util/List;)V" line="15"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCurrentVersion" desc="()J" line="16"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOpsSinceBase" desc="()Ljava/util/List;" line="17"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/DocumentService" sourcefilename="DocumentService.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/repository/DocumentRepository;Lde/werkbaum/repository/DocumentHistoryRepository;Ljava/time/Clock;Lde/werkbaum/service/LiveEditingProperties;Lde/werkbaum/service/ChangeNotifier;)V" line="18"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findAll" desc="()Ljava/util/List;" line="28"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findById" desc="(Ljava/util/UUID;)Lde/werkbaum/domain/Document;" line="31"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findByIdOrNull" desc="(Ljava/util/UUID;)Lde/werkbaum/domain/Document;" line="34"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="create" desc="(Ljava/lang/String;Ljava/lang/String;)Lde/werkbaum/domain/Document;" line="37"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="update" desc="(Ljava/util/UUID;Ljava/lang/String;Ljava/lang/String;ZLde/werkbaum/domain/ChangeAuthor;)Lde/werkbaum/domain/Document;" line="67"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="update$default" desc="(Lde/werkbaum/service/DocumentService;Ljava/util/UUID;Ljava/lang/String;Ljava/lang/String;ZLde/werkbaum/domain/ChangeAuthor;ILjava/lang/Object;)Lde/werkbaum/domain/Document;" line="60"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rename" desc="(Ljava/util/UUID;Ljava/lang/String;J)Lde/werkbaum/domain/Document;" line="87"><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="delete" desc="(Ljava/util/UUID;)V" line="104"><counter type="INSTRUCTION" missed="0" covered="35"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="history" desc="(Ljava/util/UUID;)Ljava/util/List;" line="125"><counter type="INSTRUCTION" missed="0" covered="44"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="restore" desc="(Ljava/util/UUID;Ljava/lang/Long;)Lde/werkbaum/domain/Document;" line="152"><counter type="INSTRUCTION" missed="13" covered="144"/><counter type="BRANCH" missed="7" covered="23"/><counter type="LINE" missed="1" covered="25"/><counter type="COMPLEXITY" missed="7" covered="9"/><counter type="METHOD" missed="0" covered="1"/></method><method name="restore$default" desc="(Lde/werkbaum/service/DocumentService;Ljava/util/UUID;Ljava/lang/Long;ILjava/lang/Object;)Lde/werkbaum/domain/Document;" line="151"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recordHistory" desc="(Lde/werkbaum/domain/Document;Lde/werkbaum/domain/ChangeType;ZLde/werkbaum/domain/ChangeAuthor;)V" line="209"><counter type="INSTRUCTION" missed="0" covered="78"/><counter type="BRANCH" missed="1" covered="9"/><counter type="LINE" missed="0" covered="19"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="0" covered="1"/></method><method name="recordHistory$default" desc="(Lde/werkbaum/service/DocumentService;Lde/werkbaum/domain/Document;Lde/werkbaum/domain/ChangeType;ZLde/werkbaum/domain/ChangeAuthor;ILjava/lang/Object;)V" line="203"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="publishAfterCommit" desc="(Ljava/util/UUID;)V" line="244"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isStructural" desc="(Lde/werkbaum/domain/ChangeType;)Z" line="257"><counter type="INSTRUCTION" missed="2" covered="5"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="15" covered="526"/><counter type="BRANCH" missed="10" covered="46"/><counter type="LINE" missed="1" covered="113"/><counter type="COMPLEXITY" missed="10" covered="34"/><counter type="METHOD" missed="0" covered="16"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/PatchLog$entries$1" sourcefilename="PatchLog.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/PatchLog;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="removeEldestEntry" desc="(Ljava/util/Map$Entry;)Z" line="25"><counter type="INSTRUCTION" missed="2" covered="8"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="14"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/InvalidPatchException" sourcefilename="LiveEditingService.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/PatchLog$Seen" sourcefilename="PatchLog.kt"><method name="&lt;init&gt;" desc="(JLde/werkbaum/domain/ContentPatchOutcome;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSeq" desc="()J" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getOutcome" desc="()Lde/werkbaum/domain/ContentPatchOutcome;" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/service/DocumentConflictException" sourcefilename="DocumentConflictException.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/String;)V" line="3"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="LiveEditingService.kt"><line nr="22" mi="0" ci="4" mb="0" cb="0"/><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="23" mb="0" cb="2"/><line nr="51" mi="0" ci="8" mb="0" cb="0"/><line nr="54" mi="0" ci="18" mb="0" cb="0"/><line nr="62" mi="0" ci="15" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="64" mi="0" ci="13" mb="0" cb="4"/><line nr="65" mi="0" ci="4" mb="1" cb="1"/><line nr="66" mi="7" ci="0" mb="0" cb="0"/><line nr="68" mi="0" ci="6" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="72" mi="0" ci="7" mb="0" cb="2"/><line nr="73" mi="0" ci="4" mb="0" cb="0"/><line nr="74" mi="0" ci="7" mb="0" cb="0"/><line nr="78" mi="0" ci="16" mb="0" cb="2"/><line nr="80" mi="0" ci="8" mb="0" cb="2"/><line nr="81" mi="0" ci="10" mb="0" cb="2"/><line nr="82" mi="0" ci="5" mb="0" cb="0"/><line nr="84" mi="0" ci="10" mb="0" cb="0"/><line nr="85" mi="0" ci="7" mb="0" cb="2"/><line nr="86" mi="0" ci="4" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="8" mb="0" cb="2"/><line nr="97" mi="0" ci="9" mb="0" cb="0"/><line nr="99" mi="0" ci="9" mb="0" cb="2"/><line nr="100" mi="0" ci="7" mb="0" cb="0"/><line nr="102" mi="0" ci="10" mb="0" cb="0"/><line nr="103" mi="0" ci="6" mb="0" cb="2"/><line nr="104" mi="0" ci="4" mb="0" cb="0"/><line nr="105" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="112" mi="0" ci="2" mb="0" cb="0"/><line nr="113" mi="0" ci="1" mb="0" cb="0"/><line nr="114" mi="0" ci="2" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="118" mi="0" ci="8" mb="0" cb="0"/><line nr="119" mi="0" ci="13" mb="0" cb="0"/><line nr="133" mi="0" ci="1" mb="0" cb="0"/><line nr="134" mi="0" ci="6" mb="0" cb="2"/><line nr="135" mi="0" ci="8" mb="0" cb="2"/><line nr="136" mi="0" ci="3" mb="0" cb="0"/><line nr="139" mi="0" ci="11" mb="1" cb="3"/><line nr="140" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="2" mb="0" cb="0"/><line nr="143" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="10" mb="0" cb="2"/><line nr="164" mi="0" ci="5" mb="0" cb="0"/><line nr="165" mi="0" ci="11" mb="0" cb="2"/><line nr="167" mi="0" ci="9" mb="0" cb="0"/><line nr="168" mi="0" ci="8" mb="1" cb="3"/><line nr="169" mi="0" ci="9" mb="0" cb="2"/><line nr="171" mi="0" ci="5" mb="0" cb="0"/><line nr="175" mi="3" ci="7" mb="1" cb="1"/><line nr="176" mi="0" ci="7" mb="0" cb="2"/><line nr="178" mi="0" ci="15" mb="0" cb="0"/><line nr="179" mi="0" ci="12" mb="0" cb="2"/><line nr="184" mi="0" ci="3" mb="0" cb="2"/><line nr="185" mi="0" ci="4" mb="0" cb="0"/><line nr="186" mi="0" ci="1" mb="0" cb="0"/><line nr="187" mi="0" ci="2" mb="0" cb="0"/><line nr="188" mi="0" ci="1" mb="0" cb="0"/><line nr="189" mi="0" ci="2" mb="0" cb="0"/><line nr="190" mi="0" ci="1" mb="0" cb="0"/><line nr="193" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="0" ci="2" mb="0" cb="0"/><line nr="195" mi="0" ci="2" mb="0" cb="0"/><line nr="196" mi="0" ci="9" mb="0" cb="0"/><line nr="197" mi="0" ci="1" mb="0" cb="0"/><line nr="198" mi="0" ci="1" mb="0" cb="0"/><line nr="203" mi="0" ci="11" mb="0" cb="0"/><line nr="204" mi="0" ci="6" mb="0" cb="0"/><line nr="205" mi="0" ci="21" mb="0" cb="4"/><line nr="206" mi="0" ci="1" mb="0" cb="0"/><line nr="209" mi="0" ci="10" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="501"/><counter type="BRANCH" missed="4" covered="50"/><counter type="LINE" missed="1" covered="82"/><counter type="COMPLEXITY" missed="4" covered="33"/><counter type="METHOD" missed="0" covered="10"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="MasterPasswordProperties.kt"><line nr="20" mi="0" ci="2" mb="0" cb="0"/><line nr="21" mi="0" ci="15" mb="0" cb="0"/><line nr="30" mi="0" ci="8" mb="0" cb="0"/><line nr="33" mi="2" ci="6" mb="0" cb="0"/><line nr="36" mi="6" ci="6" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="9" mb="0" cb="2"/><counter type="INSTRUCTION" missed="8" covered="47"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DocumentConflictException.kt"><line nr="3" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LiveEditingProperties.kt"><line nr="11" mi="0" ci="2" mb="0" cb="0"/><line nr="12" mi="0" ci="23" mb="0" cb="0"/><line nr="18" mi="0" ci="12" mb="0" cb="0"/><line nr="32" mi="0" ci="12" mb="0" cb="0"/><line nr="38" mi="0" ci="8" mb="0" cb="0"/><line nr="41" mi="0" ci="8" mb="0" cb="0"/><line nr="49" mi="0" ci="12" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="78"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ClockConfiguration.kt"><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LoginThrottle.kt"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="1" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="31" mi="0" ci="6" mb="0" cb="0"/><line nr="34" mi="0" ci="17" mb="0" cb="0"/><line nr="35" mi="0" ci="8" mb="0" cb="2"/><line nr="36" mi="0" ci="7" mb="0" cb="2"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><line nr="38" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="14" mb="0" cb="0"/><line nr="42" mi="0" ci="12" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="45" mi="0" ci="12" mb="0" cb="0"/><line nr="46" mi="0" ci="8" mb="0" cb="0"/><line nr="47" mi="0" ci="6" mb="0" cb="2"/><line nr="48" mi="0" ci="13" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="14" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="6" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="147"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="23"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ContentConflictException.kt"><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="6" mb="0" cb="0"/><line nr="17" mi="0" ci="6" mb="0" cb="0"/><line nr="18" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="3" ci="6" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><line nr="27" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="26"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="DocumentService.kt"><line nr="18" mi="0" ci="2" mb="0" cb="0"/><line nr="20" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="12" mb="0" cb="2"/><line nr="34" mi="0" ci="5" mb="0" cb="0"/><line nr="37" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="4" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="46" mi="0" ci="5" mb="0" cb="0"/><line nr="47" mi="0" ci="8" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="60" mi="0" ci="14" mb="0" cb="0"/><line nr="64" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="68" mi="0" ci="7" mb="0" cb="0"/><line nr="69" mi="0" ci="1" mb="0" cb="0"/><line nr="70" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="5" mb="0" cb="0"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="4" mb="0" cb="0"/><line nr="88" mi="0" ci="5" mb="0" cb="2"/><line nr="89" mi="0" ci="4" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="93" mi="0" ci="8" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="95" mi="0" ci="4" mb="0" cb="0"/><line nr="96" mi="0" ci="6" mb="0" cb="0"/><line nr="98" mi="0" ci="5" mb="0" cb="0"/><line nr="99" mi="0" ci="8" mb="0" cb="0"/><line nr="100" mi="0" ci="2" mb="0" cb="0"/><line nr="104" mi="0" ci="4" mb="0" cb="0"/><line nr="105" mi="0" ci="5" mb="0" cb="0"/><line nr="107" mi="0" ci="6" mb="0" cb="0"/><line nr="108" mi="0" ci="8" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="6" mb="0" cb="0"/><line nr="112" mi="0" ci="1" mb="0" cb="0"/><line nr="114" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="10" mb="0" cb="2"/><line nr="126" mi="0" ci="5" mb="0" cb="0"/><line nr="129" mi="0" ci="5" mb="0" cb="0"/><line nr="130" mi="0" ci="18" mb="1" cb="5"/><line nr="131" mi="0" ci="5" mb="0" cb="0"/><line nr="133" mi="0" ci="1" mb="0" cb="0"/><line nr="151" mi="0" ci="10" mb="0" cb="0"/><line nr="152" mi="0" ci="10" mb="0" cb="2"/><line nr="154" mi="0" ci="5" mb="0" cb="0"/><line nr="155" mi="0" ci="4" mb="0" cb="4"/><line nr="156" mi="0" ci="4" mb="0" cb="0"/><line nr="157" mi="0" ci="2" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="2"/><line nr="162" mi="0" ci="14" mb="1" cb="1"/><line nr="163" mi="2" ci="13" mb="2" cb="4"/><line nr="164" mi="0" ci="5" mb="0" cb="0"/><line nr="168" mi="6" ci="6" mb="1" cb="1"/><line nr="171" mi="0" ci="4" mb="0" cb="0"/><line nr="172" mi="2" ci="21" mb="1" cb="3"/><line nr="173" mi="0" ci="4" mb="0" cb="0"/><line nr="174" mi="0" ci="1" mb="0" cb="0"/><line nr="175" mi="0" ci="2" mb="0" cb="0"/><line nr="176" mi="0" ci="2" mb="0" cb="0"/><line nr="177" mi="0" ci="3" mb="0" cb="0"/><line nr="178" mi="2" ci="7" mb="1" cb="3"/><line nr="179" mi="0" ci="12" mb="1" cb="1"/><line nr="180" mi="1" ci="0" mb="0" cb="0"/><line nr="181" mi="0" ci="3" mb="0" cb="0"/><line nr="183" mi="0" ci="5" mb="0" cb="0"/><line nr="184" mi="0" ci="6" mb="0" cb="0"/><line nr="185" mi="0" ci="1" mb="0" cb="0"/><line nr="186" mi="0" ci="5" mb="0" cb="2"/><line nr="188" mi="0" ci="2" mb="0" cb="0"/><line nr="203" mi="0" ci="13" mb="0" cb="0"/><line nr="206" mi="0" ci="2" mb="0" cb="0"/><line nr="207" mi="0" ci="2" mb="0" cb="0"/><line nr="209" mi="0" ci="6" mb="0" cb="0"/><line nr="210" mi="0" ci="5" mb="0" cb="4"/><line nr="211" mi="0" ci="12" mb="0" cb="2"/><line nr="213" mi="0" ci="7" mb="0" cb="0"/><line nr="216" mi="0" ci="3" mb="0" cb="0"/><line nr="217" mi="0" ci="3" mb="0" cb="0"/><line nr="218" mi="0" ci="2" mb="0" cb="0"/><line nr="219" mi="0" ci="2" mb="0" cb="0"/><line nr="220" mi="0" ci="2" mb="0" cb="0"/><line nr="221" mi="0" ci="2" mb="0" cb="0"/><line nr="222" mi="0" ci="1" mb="0" cb="0"/><line nr="223" mi="0" ci="2" mb="0" cb="0"/><line nr="224" mi="0" ci="9" mb="1" cb="3"/><line nr="225" mi="0" ci="1" mb="0" cb="0"/><line nr="229" mi="0" ci="4" mb="0" cb="0"/><line nr="230" mi="0" ci="2" mb="0" cb="0"/><line nr="231" mi="0" ci="10" mb="0" cb="0"/><line nr="234" mi="0" ci="4" mb="0" cb="0"/><line nr="235" mi="0" ci="1" mb="0" cb="0"/><line nr="244" mi="0" ci="2" mb="0" cb="2"/><line nr="245" mi="0" ci="4" mb="0" cb="0"/><line nr="246" mi="0" ci="1" mb="0" cb="0"/><line nr="248" mi="0" ci="1" mb="0" cb="0"/><line nr="249" mi="0" ci="9" mb="0" cb="0"/><line nr="250" mi="0" ci="7" mb="0" cb="0"/><line nr="253" mi="0" ci="1" mb="0" cb="0"/><line nr="257" mi="2" ci="5" mb="1" cb="1"/><counter type="INSTRUCTION" missed="15" covered="536"/><counter type="BRANCH" missed="10" covered="46"/><counter type="LINE" missed="1" covered="114"/><counter type="COMPLEXITY" missed="10" covered="36"/><counter type="METHOD" missed="0" covered="18"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="DocumentNotFoundException.kt"><line nr="5" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ChangeNotifier.kt"><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="0" ci="5" mb="0" cb="0"/><line nr="33" mi="0" ci="5" mb="0" cb="0"/><line nr="35" mi="0" ci="12" mb="0" cb="2"/><line nr="38" mi="0" ci="12" mb="0" cb="0"/><line nr="39" mi="0" ci="22" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="17" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="6" mb="0" cb="2"/><line nr="50" mi="0" ci="5" mb="0" cb="2"/><line nr="51" mi="0" ci="6" mb="0" cb="0"/><line nr="53" mi="0" ci="1" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="109"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="16"/><counter type="COMPLEXITY" missed="0" covered="9"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PatchLog.kt"><line nr="19" mi="0" ci="15" mb="0" cb="0"/><line nr="21" mi="0" ci="15" mb="0" cb="0"/><line nr="23" mi="0" ci="12" mb="0" cb="0"/><line nr="25" mi="2" ci="8" mb="1" cb="1"/><line nr="36" mi="0" ci="13" mb="0" cb="2"/><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="7" mb="0" cb="2"/><line nr="39" mi="0" ci="8" mb="0" cb="2"/><line nr="40" mi="0" ci="7" mb="0" cb="0"/><line nr="46" mi="0" ci="13" mb="0" cb="0"/><line nr="47" mi="0" ci="1" mb="0" cb="0"/><line nr="50" mi="4" ci="0" mb="0" cb="0"/><line nr="54" mi="0" ci="3" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="6" covered="107"/><counter type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="1" covered="13"/><counter type="COMPLEXITY" missed="2" covered="13"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="4"/></sourcefile><counter type="INSTRUCTION" missed="42" covered="1568"/><counter type="BRANCH" missed="15" covered="117"/><counter type="LINE" missed="3" covered="275"/><counter type="COMPLEXITY" missed="17" covered="122"/><counter type="METHOD" missed="2" covered="71"/><counter type="CLASS" missed="0" covered="17"/></package><package name="de/werkbaum/api"><class name="de/werkbaum/api/DocumentsController" sourcefilename="DocumentsController.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/DocumentService;Lde/werkbaum/service/LiveEditingService;Lorg/springframework/boot/info/BuildProperties;Lde/werkbaum/integration/taiga/TaigaProperties;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/DocumentService;Lde/werkbaum/service/LiveEditingService;Lorg/springframework/boot/info/BuildProperties;Lde/werkbaum/integration/taiga/TaigaProperties;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="40"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getInfo" desc="()Lorg/springframework/http/ResponseEntity;" line="60"><counter type="INSTRUCTION" missed="6" covered="75"/><counter type="BRANCH" missed="6" covered="8"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="6" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="listDocuments" desc="()Lorg/springframework/http/ResponseEntity;" line="75"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createDocument" desc="(Lde/werkbaum/generated/model/DocumentCreateRequest;)Lorg/springframework/http/ResponseEntity;" line="78"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDocument" desc="(Ljava/util/UUID;)Lorg/springframework/http/ResponseEntity;" line="86"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="updateDocument" desc="(Ljava/util/UUID;Lde/werkbaum/generated/model/DocumentUpdateRequest;)Lorg/springframework/http/ResponseEntity;" line="92"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteDocument" desc="(Ljava/util/UUID;)Lorg/springframework/http/ResponseEntity;" line="101"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="patchDocumentContent" desc="(Ljava/util/UUID;Lde/werkbaum/generated/model/ContentPatchRequest;)Lorg/springframework/http/ResponseEntity;" line="109"><counter type="INSTRUCTION" missed="2" covered="68"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDocumentChanges" desc="(Ljava/util/UUID;JI)Lorg/springframework/http/ResponseEntity;" line="142"><counter type="INSTRUCTION" missed="0" covered="36"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="patchDocumentTitle" desc="(Ljava/util/UUID;Lde/werkbaum/generated/model/TitlePatchRequest;)Lorg/springframework/http/ResponseEntity;" line="153"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDocumentHistory" desc="(Ljava/util/UUID;)Lorg/springframework/http/ResponseEntity;" line="162"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="restoreDocument" desc="(Ljava/util/UUID;Lde/werkbaum/generated/model/RestoreRequest;)Lorg/springframework/http/ResponseEntity;" line="168"><counter type="INSTRUCTION" missed="2" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toApi" desc="(Lde/werkbaum/domain/Document;)Lde/werkbaum/generated/model/Document;" line="172"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toApi" desc="(Lde/werkbaum/domain/ChangeFeed;)Lde/werkbaum/generated/model/ChangeFeed;" line="181"><counter type="INSTRUCTION" missed="0" covered="40"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toApi" desc="(Lde/werkbaum/domain/ChangeEvent;)Lde/werkbaum/generated/model/ChangeEvent;" line="189"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toApi" desc="(Lde/werkbaum/domain/DocumentHistoryEntry;)Lde/werkbaum/generated/model/DocumentHistoryEntry;" line="197"><counter type="INSTRUCTION" missed="4" covered="30"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="26" covered="439"/><counter type="BRANCH" missed="10" covered="22"/><counter type="LINE" missed="1" covered="87"/><counter type="COMPLEXITY" missed="11" covered="22"/><counter type="METHOD" missed="1" covered="16"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/LineOperationMapperKt" sourcefilename="LineOperationMapper.kt"><method name="toDomain" desc="(Lde/werkbaum/generated/model/LineOperation;)Lde/werkbaum/diff/LineOp;" line="14"><counter type="INSTRUCTION" missed="4" covered="41"/><counter type="BRANCH" missed="2" covered="5"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="2" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="requiredCount" desc="(Lde/werkbaum/generated/model/LineOperation;)I" line="26"><counter type="INSTRUCTION" missed="11" covered="7"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toApi" desc="(Lde/werkbaum/diff/LineOp;)Lde/werkbaum/generated/model/LineOperation;" line="30"><counter type="INSTRUCTION" missed="15" covered="40"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toApi" desc="(Ljava/util/List;)Ljava/util/List;" line="37"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="30" covered="98"/><counter type="BRANCH" missed="4" covered="9"/><counter type="LINE" missed="1" covered="14"/><counter type="COMPLEXITY" missed="4" covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/TaigaController$Companion" sourcefilename="TaigaController.kt"/><class name="de/werkbaum/api/LockoutFilter" sourcefilename="SecurityConfiguration.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/LoginThrottle;)V" line="106"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="doFilterInternal" desc="(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljakarta/servlet/FilterChain;)V" line="113"><counter type="INSTRUCTION" missed="0" covered="28"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/GlobalExceptionHandler" sourcefilename="GlobalExceptionHandler.kt"><method name="&lt;init&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleNotFound" desc="(Lde/werkbaum/service/DocumentNotFoundException;)Lorg/springframework/http/ProblemDetail;" line="34"><counter type="INSTRUCTION" missed="2" covered="21"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleDeleted" desc="(Lde/werkbaum/service/DocumentDeletedException;)Lorg/springframework/http/ProblemDetail;" line="40"><counter type="INSTRUCTION" missed="2" covered="21"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleConflict" desc="(Lde/werkbaum/service/DocumentConflictException;)Lorg/springframework/http/ProblemDetail;" line="46"><counter type="INSTRUCTION" missed="2" covered="21"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleContentConflict" desc="(Lde/werkbaum/service/ContentConflictException;)Lorg/springframework/http/ResponseEntity;" line="57"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleNotApplicable" desc="(Ljava/lang/RuntimeException;)Lorg/springframework/http/ProblemDetail;" line="71"><counter type="INSTRUCTION" missed="2" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleInvalidPatch" desc="(Lde/werkbaum/service/InvalidPatchException;)Lorg/springframework/http/ProblemDetail;" line="78"><counter type="INSTRUCTION" missed="2" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleTaigaNotConfigured" desc="(Lde/werkbaum/integration/taiga/TaigaNotConfiguredException;)Lorg/springframework/http/ProblemDetail;" line="88"><counter type="INSTRUCTION" missed="2" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleTaigaBadRequest" desc="(Lde/werkbaum/integration/taiga/TaigaBadRequestException;)Lorg/springframework/http/ProblemDetail;" line="96"><counter type="INSTRUCTION" missed="2" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleTaigaUnavailable" desc="(Lde/werkbaum/integration/taiga/TaigaUnavailableException;)Lorg/springframework/http/ProblemDetail;" line="103"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="handleTaigaUpstream" desc="(Lde/werkbaum/integration/taiga/TaigaUpstreamException;)Lorg/springframework/http/ProblemDetail;" line="115"><counter type="INSTRUCTION" missed="6" covered="33"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="40" covered="187"/><counter type="BRANCH" missed="13" covered="11"/><counter type="LINE" missed="4" covered="35"/><counter type="COMPLEXITY" missed="13" covered="10"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/SecurityConfiguration$Companion" sourcefilename="SecurityConfiguration.kt"/><class name="de/werkbaum/api/TaigaController" sourcefilename="TaigaController.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/integration/taiga/TaigaClient;)V" line="33"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaLogin" desc="(Lde/werkbaum/generated/model/TaigaAuthRequest;)Lorg/springframework/http/ResponseEntity;" line="38"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaProjects" desc="(Ljava/lang/String;J)Lorg/springframework/http/ResponseEntity;" line="50"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaCreateStory" desc="(Ljava/lang/String;Lde/werkbaum/generated/model/TaigaStoryCreateRequest;)Lorg/springframework/http/ResponseEntity;" line="60"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaCreateTask" desc="(Ljava/lang/String;Lde/werkbaum/generated/model/TaigaTaskCreateRequest;)Lorg/springframework/http/ResponseEntity;" line="72"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaTickets" desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="91"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="parseBulkRefs" desc="(Ljava/lang/String;)Ljava/util/List;" line="97"><counter type="INSTRUCTION" missed="5" covered="60"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaStoryByRef" desc="(Ljava/lang/String;JLjava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="113"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaTaskByRef" desc="(Ljava/lang/String;JLjava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="116"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="ticket" desc="(Ljava/lang/String;Ljava/lang/String;JZ)Lorg/springframework/http/ResponseEntity;" line="120"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaStoryStatuses" desc="(Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="126"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaTaskStatuses" desc="(Ljava/lang/String;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="129"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="statuses" desc="(Ljava/lang/String;Ljava/lang/String;Z)Lorg/springframework/http/ResponseEntity;" line="133"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaSetStoryStatus" desc="(Ljava/lang/String;JLjava/lang/String;Lde/werkbaum/generated/model/TaigaStatusPatch;)Lorg/springframework/http/ResponseEntity;" line="144"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="taigaSetTaskStatus" desc="(Ljava/lang/String;JLjava/lang/String;Lde/werkbaum/generated/model/TaigaStatusPatch;)Lorg/springframework/http/ResponseEntity;" line="151"><counter type="INSTRUCTION" missed="8" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setStatus" desc="(Ljava/lang/String;Ljava/lang/String;JZLde/werkbaum/generated/model/TaigaStatusPatch;)Lorg/springframework/http/ResponseEntity;" line="160"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toApi" desc="(Lde/werkbaum/integration/taiga/TaigaTicketDetailData;)Lde/werkbaum/generated/model/TaigaTicketDetail;" line="164"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="created" desc="(Lde/werkbaum/integration/taiga/TaigaTicketData;)Lorg/springframework/http/ResponseEntity;" line="175"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="182"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="19" covered="296"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="3" covered="59"/><counter type="COMPLEXITY" missed="3" covered="18"/><counter type="METHOD" missed="2" covered="17"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/CorsProperties" sourcefilename="CorsConfiguration.kt"><method name="&lt;init&gt;" desc="(Ljava/util/List;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="24"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getAllowedOrigins" desc="()Ljava/util/List;" line="25"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="9"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/LoginAttemptListener" sourcefilename="SecurityConfiguration.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/service/LoginThrottle;)V" line="130"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onFailure" desc="(Lorg/springframework/security/authentication/event/AuthenticationFailureBadCredentialsEvent;)V" line="134"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="onSuccess" desc="(Lorg/springframework/security/authentication/event/AuthenticationSuccessEvent;)V" line="137"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/CorsConfiguration" sourcefilename="CorsConfiguration.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/api/CorsProperties;)V" line="28"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="corsConfigurationSource" desc="()Lorg/springframework/web/cors/CorsConfigurationSource;" line="33"><counter type="INSTRUCTION" missed="0" covered="91"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="97"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/api/SecurityConfiguration" sourcefilename="SecurityConfiguration.kt"><method name="&lt;init&gt;" desc="()V" line="36"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="passwordEncoder" desc="()Lorg/springframework/security/crypto/password/PasswordEncoder;" line="48"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="masterUser" desc="(Lde/werkbaum/service/MasterPasswordProperties;)Lorg/springframework/security/core/userdetails/UserDetailsService;" line="58"><counter type="INSTRUCTION" missed="0" covered="46"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apiSecurity" desc="(Lorg/springframework/security/config/annotation/web/builders/HttpSecurity;Lde/werkbaum/service/LoginThrottle;Lde/werkbaum/service/MasterPasswordProperties;)Lorg/springframework/security/web/SecurityFilterChain;" line="77"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apiSecurity$lambda$0" desc="(Lorg/springframework/security/config/annotation/web/configurers/CorsConfigurer;)V" line="81"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apiSecurity$lambda$1" desc="(Lorg/springframework/security/config/annotation/web/configurers/CsrfConfigurer;)V" line="85"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apiSecurity$lambda$2" desc="(Lorg/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer;)V" line="86"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apiSecurity$lambda$3" desc="(Lde/werkbaum/service/MasterPasswordProperties;Lorg/springframework/security/config/annotation/web/configurers/AuthorizeHttpRequestsConfigurer$AuthorizationManagerRequestMatcherRegistry;)V" line="88"><counter type="INSTRUCTION" missed="0" covered="29"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="apiSecurity$lambda$4" desc="(Lorg/springframework/security/config/annotation/web/configurers/HttpBasicConfigurer;)V" line="96"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="124"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="12"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="DocumentsController.kt"><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="9" ci="1" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="2" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="0" ci="2" mb="0" cb="0"/><line nr="61" mi="0" ci="13" mb="0" cb="0"/><line nr="62" mi="2" ci="7" mb="2" cb="2"/><line nr="63" mi="2" ci="7" mb="2" cb="2"/><line nr="64" mi="2" ci="14" mb="2" cb="2"/><line nr="67" mi="0" ci="4" mb="0" cb="0"/><line nr="70" mi="0" ci="27" mb="0" cb="2"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="75" mi="0" ci="17" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="0"/><line nr="82" mi="0" ci="11" mb="0" cb="0"/><line nr="86" mi="0" ci="11" mb="0" cb="0"/><line nr="92" mi="0" ci="8" mb="0" cb="0"/><line nr="93" mi="0" ci="1" mb="0" cb="0"/><line nr="94" mi="0" ci="2" mb="0" cb="0"/><line nr="95" mi="0" ci="2" mb="0" cb="0"/><line nr="97" mi="0" ci="8" mb="0" cb="0"/><line nr="101" mi="0" ci="4" mb="0" cb="0"/><line nr="102" mi="0" ci="6" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><line nr="111" mi="0" ci="15" mb="0" cb="0"/><line nr="112" mi="0" ci="2" mb="0" cb="0"/><line nr="113" mi="0" ci="2" mb="0" cb="0"/><line nr="114" mi="0" ci="3" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="118" mi="0" ci="2" mb="0" cb="0"/><line nr="119" mi="0" ci="16" mb="0" cb="0"/><line nr="120" mi="2" ci="6" mb="1" cb="1"/><line nr="123" mi="0" ci="5" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="2" mb="0" cb="0"/><line nr="126" mi="0" ci="3" mb="0" cb="0"/><line nr="142" mi="0" ci="12" mb="0" cb="0"/><line nr="143" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="7" mb="0" cb="2"/><line nr="145" mi="0" ci="3" mb="0" cb="0"/><line nr="146" mi="0" ci="13" mb="0" cb="2"/><line nr="153" mi="0" ci="4" mb="0" cb="0"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="155" mi="0" ci="2" mb="0" cb="0"/><line nr="156" mi="0" ci="2" mb="0" cb="0"/><line nr="158" mi="0" ci="8" mb="0" cb="0"/><line nr="162" mi="0" ci="18" mb="0" cb="0"/><line nr="168" mi="2" ci="10" mb="1" cb="1"/><line nr="169" mi="0" ci="8" mb="0" cb="0"/><line nr="172" mi="0" ci="3" mb="0" cb="0"/><line nr="173" mi="0" ci="2" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="0" cb="0"/><line nr="175" mi="0" ci="2" mb="0" cb="0"/><line nr="176" mi="0" ci="2" mb="0" cb="0"/><line nr="177" mi="0" ci="2" mb="0" cb="0"/><line nr="178" mi="0" ci="2" mb="0" cb="0"/><line nr="179" mi="0" ci="1" mb="0" cb="0"/><line nr="181" mi="0" ci="13" mb="0" cb="0"/><line nr="182" mi="0" ci="2" mb="0" cb="0"/><line nr="183" mi="0" ci="12" mb="0" cb="0"/><line nr="184" mi="0" ci="2" mb="0" cb="0"/><line nr="185" mi="0" ci="8" mb="0" cb="2"/><line nr="186" mi="0" ci="2" mb="0" cb="0"/><line nr="187" mi="0" ci="1" mb="0" cb="0"/><line nr="189" mi="0" ci="3" mb="0" cb="0"/><line nr="190" mi="0" ci="2" mb="0" cb="0"/><line nr="191" mi="0" ci="4" mb="0" cb="0"/><line nr="192" mi="0" ci="8" mb="0" cb="2"/><line nr="193" mi="0" ci="8" mb="0" cb="2"/><line nr="194" mi="0" ci="2" mb="0" cb="0"/><line nr="195" mi="0" ci="1" mb="0" cb="0"/><line nr="197" mi="0" ci="3" mb="0" cb="0"/><line nr="198" mi="0" ci="2" mb="0" cb="0"/><line nr="199" mi="0" ci="2" mb="0" cb="0"/><line nr="200" mi="0" ci="2" mb="0" cb="0"/><line nr="201" mi="0" ci="2" mb="0" cb="0"/><line nr="202" mi="0" ci="4" mb="0" cb="0"/><line nr="203" mi="0" ci="2" mb="0" cb="0"/><line nr="204" mi="2" ci="6" mb="1" cb="1"/><line nr="205" mi="2" ci="6" mb="1" cb="1"/><line nr="206" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="26" covered="439"/><counter type="BRANCH" missed="10" covered="22"/><counter type="LINE" missed="1" covered="87"/><counter type="COMPLEXITY" missed="11" covered="22"/><counter type="METHOD" missed="1" covered="16"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="LineOperationMapper.kt"><line nr="14" mi="0" ci="7" mb="0" cb="3"/><line nr="15" mi="2" ci="11" mb="1" cb="1"/><line nr="16" mi="0" ci="9" mb="0" cb="0"/><line nr="17" mi="2" ci="13" mb="1" cb="1"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="5" ci="6" mb="1" cb="1"/><line nr="27" mi="6" ci="0" mb="0" cb="0"/><line nr="28" mi="0" ci="1" mb="0" cb="0"/><line nr="30" mi="0" ci="2" mb="0" cb="0"/><line nr="31" mi="0" ci="17" mb="0" cb="2"/><line nr="32" mi="15" ci="3" mb="1" cb="1"/><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="15" mb="0" cb="0"/><line nr="35" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="10" mb="0" cb="0"/><counter type="INSTRUCTION" missed="30" covered="98"/><counter type="BRANCH" missed="4" covered="9"/><counter type="LINE" missed="1" covered="14"/><counter type="COMPLEXITY" missed="4" covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="GlobalExceptionHandler.kt"><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="2" ci="16" mb="1" cb="1"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="2" ci="16" mb="1" cb="1"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="2" ci="16" mb="1" cb="1"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="7" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="71" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="2" ci="4" mb="1" cb="1"/><line nr="74" mi="0" ci="7" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="2" mb="0" cb="0"/><line nr="80" mi="2" ci="4" mb="1" cb="1"/><line nr="81" mi="0" ci="7" mb="0" cb="0"/><line nr="88" mi="0" ci="5" mb="0" cb="0"/><line nr="89" mi="0" ci="2" mb="0" cb="0"/><line nr="90" mi="2" ci="4" mb="1" cb="1"/><line nr="91" mi="0" ci="7" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="2" mb="0" cb="0"/><line nr="98" mi="2" ci="4" mb="1" cb="1"/><line nr="99" mi="0" ci="7" mb="0" cb="0"/><line nr="103" mi="5" ci="0" mb="0" cb="0"/><line nr="104" mi="2" ci="0" mb="0" cb="0"/><line nr="105" mi="6" ci="0" mb="2" cb="0"/><line nr="106" mi="7" ci="0" mb="0" cb="0"/><line nr="115" mi="0" ci="5" mb="0" cb="0"/><line nr="116" mi="4" ci="17" mb="3" cb="3"/><line nr="117" mi="2" ci="4" mb="1" cb="1"/><line nr="118" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="40" covered="187"/><counter type="BRANCH" missed="13" covered="11"/><counter type="LINE" missed="4" covered="35"/><counter type="COMPLEXITY" missed="13" covered="10"/><counter type="METHOD" missed="1" covered="10"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CorsConfiguration.kt"><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="6" ci="1" mb="0" cb="0"/><line nr="25" mi="3" ci="6" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="33" mi="0" ci="10" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="0" cb="0"/><line nr="35" mi="0" ci="31" mb="0" cb="0"/><line nr="38" mi="0" ci="19" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="4" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="11" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="10" covered="106"/><counter type="LINE" missed="1" covered="15"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="1" covered="4"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="TaigaController.kt"><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="38" mi="0" ci="8" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="43" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="9" mb="0" cb="0"/><line nr="52" mi="0" ci="11" mb="0" cb="0"/><line nr="54" mi="0" ci="1" mb="0" cb="0"/><line nr="60" mi="0" ci="4" mb="0" cb="0"/><line nr="61" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="2" mb="0" cb="0"/><line nr="65" mi="0" ci="4" mb="0" cb="0"/><line nr="72" mi="0" ci="4" mb="0" cb="0"/><line nr="73" mi="0" ci="1" mb="0" cb="0"/><line nr="74" mi="0" ci="2" mb="0" cb="0"/><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="2" mb="0" cb="0"/><line nr="78" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="9" mb="0" cb="0"/><line nr="93" mi="0" ci="12" mb="0" cb="0"/><line nr="94" mi="0" ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="18" mb="0" cb="0"/><line nr="98" mi="0" ci="4" mb="1" cb="1"/><line nr="99" mi="5" ci="0" mb="0" cb="0"/><line nr="101" mi="0" ci="6" mb="0" cb="0"/><line nr="102" mi="0" ci="8" mb="0" cb="2"/><line nr="103" mi="0" ci="6" mb="0" cb="0"/><line nr="104" mi="0" ci="18" mb="0" cb="0"/><line nr="113" mi="0" ci="7" mb="0" cb="0"/><line nr="116" mi="0" ci="7" mb="0" cb="0"/><line nr="120" mi="0" ci="14" mb="0" cb="0"/><line nr="126" mi="0" ci="6" mb="0" cb="0"/><line nr="129" mi="6" ci="0" mb="0" cb="0"/><line nr="133" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="10" mb="0" cb="0"/><line nr="135" mi="0" ci="11" mb="0" cb="0"/><line nr="137" mi="0" ci="1" mb="0" cb="0"/><line nr="144" mi="0" ci="8" mb="0" cb="0"/><line nr="151" mi="8" ci="0" mb="0" cb="0"/><line nr="160" mi="0" ci="4" mb="0" cb="0"/><line nr="161" mi="0" ci="13" mb="0" cb="0"/><line nr="162" mi="0" ci="1" mb="0" cb="0"/><line nr="164" mi="0" ci="3" mb="0" cb="0"/><line nr="165" mi="0" ci="2" mb="0" cb="0"/><line nr="166" mi="0" ci="2" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="0" cb="0"/><line nr="168" mi="0" ci="2" mb="0" cb="0"/><line nr="169" mi="0" ci="2" mb="0" cb="0"/><line nr="170" mi="0" ci="2" mb="0" cb="0"/><line nr="171" mi="0" ci="2" mb="0" cb="0"/><line nr="172" mi="0" ci="1" mb="0" cb="0"/><line nr="175" mi="0" ci="7" mb="0" cb="0"/><line nr="176" mi="0" ci="9" mb="0" cb="0"/><line nr="177" mi="0" ci="1" mb="0" cb="0"/><line nr="182" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" covered="296"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="3" covered="59"/><counter type="COMPLEXITY" missed="3" covered="18"/><counter type="METHOD" missed="2" covered="17"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SecurityConfiguration.kt"><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="5" mb="0" cb="0"/><line nr="48" mi="0" ci="5" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="2"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="7" mb="0" cb="2"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="21" mb="0" cb="0"/><line nr="77" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="6" mb="0" cb="0"/><line nr="86" mi="0" ci="7" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="88" mi="0" ci="13" mb="0" cb="0"/><line nr="93" mi="0" ci="10" mb="0" cb="2"/><line nr="94" mi="0" ci="5" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="96" mi="0" ci="3" mb="0" cb="0"/><line nr="97" mi="0" ci="7" mb="0" cb="0"/><line nr="98" mi="0" ci="6" mb="0" cb="0"/><line nr="106" mi="0" ci="6" mb="0" cb="0"/><line nr="113" mi="0" ci="8" mb="0" cb="4"/><line nr="114" mi="0" ci="7" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="1" mb="0" cb="0"/><line nr="119" mi="0" ci="1" mb="0" cb="0"/><line nr="121" mi="0" ci="6" mb="0" cb="0"/><line nr="122" mi="0" ci="1" mb="0" cb="0"/><line nr="130" mi="0" ci="2" mb="0" cb="0"/><line nr="131" mi="0" ci="4" mb="0" cb="0"/><line nr="134" mi="0" ci="4" mb="0" cb="0"/><line nr="137" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="172"/><counter type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" covered="35"/><counter type="COMPLEXITY" missed="0" covered="19"/><counter type="METHOD" missed="0" covered="14"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><counter type="INSTRUCTION" missed="125" covered="1298"/><counter type="BRANCH" missed="28" covered="55"/><counter type="LINE" missed="10" covered="245"/><counter type="COMPLEXITY" missed="32" covered="80"/><counter type="METHOD" missed="5" covered="65"/><counter type="CLASS" missed="0" covered="9"/></package><package name="de/werkbaum/persistence"><class name="de/werkbaum/persistence/DocumentHistoryJpaRepository" sourcefilename="SpringDataRepositories.kt"/><class name="de/werkbaum/persistence/JpaDocumentRepository$findAll$$inlined$sortedBy$1" sourcefilename="Comparisons.kt"/><class name="de/werkbaum/persistence/DocumentEntity" sourcefilename="DocumentEntity.kt"><method name="&lt;init&gt;" desc="(Ljava/util/UUID;Ljava/lang/String;Ljava/lang/String;JLjava/time/OffsetDateTime;Ljava/time/OffsetDateTime;)V" line="11"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()Ljava/util/UUID;" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="18"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setTitle" desc="(Ljava/lang/String;)V" line="18"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getContent" desc="()Ljava/lang/String;" line="21"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setContent" desc="(Ljava/lang/String;)V" line="21"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getVersion" desc="()J" line="24"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setVersion" desc="(J)V" line="24"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getCreatedAt" desc="()Ljava/time/OffsetDateTime;" line="27"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setCreatedAt" desc="(Ljava/time/OffsetDateTime;)V" line="27"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getUpdatedAt" desc="()Ljava/time/OffsetDateTime;" line="30"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setUpdatedAt" desc="(Ljava/time/OffsetDateTime;)V" line="30"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toDomain" desc="()Lde/werkbaum/domain/Document;" line="32"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="38" covered="37"/><counter type="LINE" missed="6" covered="16"/><counter type="COMPLEXITY" missed="11" covered="2"/><counter type="METHOD" missed="11" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/persistence/DocumentEntity$Companion" sourcefilename="DocumentEntity.kt"><method name="fromDomain" desc="(Lde/werkbaum/domain/Document;)Lde/werkbaum/persistence/DocumentEntity;" line="42"><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/persistence/DocumentHistoryEntity$Companion" sourcefilename="DocumentHistoryEntity.kt"><method name="fromDomain" desc="(Lde/werkbaum/domain/DocumentHistoryEntry;)Lde/werkbaum/persistence/DocumentHistoryEntity;" line="65"><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="37"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/persistence/JpaDocumentHistoryRepository" sourcefilename="JpaDocumentHistoryRepository.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/persistence/DocumentHistoryJpaRepository;)V" line="9"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="append" desc="(Lde/werkbaum/domain/DocumentHistoryEntry;)V" line="15"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="exists" desc="(Ljava/util/UUID;)Z" line="18"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findVersion" desc="(Ljava/util/UUID;J)Lde/werkbaum/domain/DocumentHistoryEntry;" line="21"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findLatest" desc="(Ljava/util/UUID;)Lde/werkbaum/domain/DocumentHistoryEntry;" line="24"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findOldest" desc="(Ljava/util/UUID;)Lde/werkbaum/domain/DocumentHistoryEntry;" line="27"><counter type="INSTRUCTION" missed="2" covered="9"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="maxVersion" desc="(Ljava/util/UUID;)Ljava/lang/Long;" line="29"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findAfterVersion" desc="(Ljava/util/UUID;J)Ljava/util/List;" line="32"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findMilestones" desc="(Ljava/util/UUID;)Ljava/util/List;" line="35"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="promoteToMilestone" desc="(Ljava/util/UUID;J)V" line="38"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="compact" desc="(Ljava/util/UUID;Ljava/time/OffsetDateTime;)I" line="42"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="clear" desc="()V" line="44"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="9" covered="93"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="2" covered="13"/><counter type="METHOD" missed="1" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/persistence/DocumentHistoryEntity" sourcefilename="DocumentHistoryEntity.kt"><method name="&lt;init&gt;" desc="(Ljava/lang/Long;Ljava/util/UUID;JLjava/lang/String;Ljava/lang/String;Lde/werkbaum/domain/ChangeType;Ljava/time/OffsetDateTime;ZLjava/lang/String;Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Ljava/lang/Long;Ljava/util/UUID;JLjava/lang/String;Ljava/lang/String;Lde/werkbaum/domain/ChangeType;Ljava/time/OffsetDateTime;ZLjava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V" line="19"><counter type="INSTRUCTION" missed="6" covered="27"/><counter type="LINE" missed="3" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getId" desc="()Ljava/lang/Long;" line="22"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDocumentId" desc="()Ljava/util/UUID;" line="25"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getVersion" desc="()J" line="28"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getTitle" desc="()Ljava/lang/String;" line="31"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getContent" desc="()Ljava/lang/String;" line="34"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getChangeType" desc="()Lde/werkbaum/domain/ChangeType;" line="38"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getChangeTime" desc="()Ljava/time/OffsetDateTime;" line="41"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getMilestone" desc="()Z" line="45"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setMilestone" desc="(Z)V" line="45"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getClientId" desc="()Ljava/lang/String;" line="48"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDisplayName" desc="()Ljava/lang/String;" line="51"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="toDomain" desc="()Lde/werkbaum/domain/DocumentHistoryEntry;" line="53"><counter type="INSTRUCTION" missed="0" covered="57"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="40" covered="117"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="9" covered="24"/><counter type="COMPLEXITY" missed="11" covered="4"/><counter type="METHOD" missed="11" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="de/werkbaum/persistence/DocumentJpaRepository" sourcefilename="SpringDataRepositories.kt"/><class name="de/werkbaum/persistence/JpaDocumentRepository" sourcefilename="JpaDocumentRepository.kt"><method name="&lt;init&gt;" desc="(Lde/werkbaum/persistence/DocumentJpaRepository;)V" line="12"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findAll" desc="()Ljava/util/List;" line="18"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findById" desc="(Ljava/util/UUID;)Lde/werkbaum/domain/Document;" line="21"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="save" desc="(Lde/werkbaum/domain/Document;)Lde/werkbaum/domain/Document;" line="24"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="deleteById" desc="(Ljava/util/UUID;)Z" line="29"><counter type="INSTRUCTION" missed="2" covered="11"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="clear" desc="()V" line="34"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findById$lambda$0" desc="(Lde/werkbaum/persistence/DocumentEntity;)Lde/werkbaum/domain/Document;" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findById$lambda$1" desc="(Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Lde/werkbaum/domain/Document;" line="21"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="50"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SpringDataRepositories.kt"/><sourcefile name="DocumentHistoryEntity.kt"><line nr="17" mi="0" ci="2" mb="0" cb="0"/><line nr="19" mi="0" ci="25" mb="0" cb="0"/><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="3" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="3" ci="0" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="30" mi="0" ci="3" mb="0" cb="0"/><line nr="31" mi="3" ci="0" mb="0" cb="0"/><line nr="33" mi="0" ci="3" mb="0" cb="0"/><line nr="34" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="3" ci="0" mb="0" cb="0"/><line nr="44" mi="0" ci="3" mb="0" cb="0"/><line nr="45" mi="9" ci="0" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="5" ci="0" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><line nr="51" mi="5" ci="0" mb="0" cb="0"/><line nr="52" mi="0" ci="1" mb="0" cb="0"/><line nr="53" mi="0" ci="19" mb="0" cb="0"/><line nr="54" mi="0" ci="2" mb="0" cb="0"/><line nr="55" mi="0" ci="2" mb="0" cb="0"/><line nr="56" mi="0" ci="2" mb="0" cb="0"/><line nr="57" mi="0" ci="2" mb="0" cb="0"/><line nr="58" mi="0" ci="2" mb="0" cb="0"/><line nr="59" mi="0" ci="2" mb="0" cb="0"/><line nr="60" mi="0" ci="2" mb="0" cb="0"/><line nr="61" mi="0" ci="23" mb="0" cb="2"/><line nr="62" mi="0" ci="1" mb="0" cb="0"/><line nr="65" mi="0" ci="6" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="69" mi="0" ci="2" mb="0" cb="0"/><line nr="70" mi="0" ci="2" mb="0" cb="0"/><line nr="71" mi="0" ci="2" mb="0" cb="0"/><line nr="72" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="0" ci="8" mb="0" cb="2"/><line nr="74" mi="0" ci="8" mb="0" cb="2"/><line nr="75" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="40" covered="154"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="9" covered="35"/><counter type="COMPLEXITY" missed="11" covered="7"/><counter type="METHOD" missed="11" covered="4"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="Comparisons.kt"/><sourcefile name="DocumentEntity.kt"><line nr="11" mi="0" ci="2" mb="0" cb="0"/><line nr="13" mi="0" ci="1" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="7" ci="0" mb="0" cb="0"/><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="21" mi="7" ci="0" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="7" ci="0" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="7" ci="0" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="7" ci="0" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="35" mi="0" ci="2" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="2" mb="0" cb="0"/><line nr="38" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="1" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="2" mb="0" cb="0"/><line nr="44" mi="0" ci="2" mb="0" cb="0"/><line nr="45" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="2" mb="0" cb="0"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="49" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="38" covered="53"/><counter type="LINE" missed="6" covered="24"/><counter type="COMPLEXITY" missed="11" covered="3"/><counter type="METHOD" missed="11" covered="3"/><counter type="CLASS" missed="0" covered="2"/></sourcefile><sourcefile name="JpaDocumentRepository.kt"><line nr="12" mi="0" ci="2" mb="0" cb="0"/><line nr="13" mi="0" ci="1" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="19" mb="0" cb="0"/><line nr="24" mi="0" ci="7" mb="0" cb="0"/><line nr="25" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="2" ci="5" mb="1" cb="1"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="50"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="JpaDocumentHistoryRepository.kt"><line nr="9" mi="0" ci="2" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><line nr="11" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="7" mb="0" cb="0"/><line nr="16" mi="0" ci="1" mb="0" cb="0"/><line nr="18" mi="0" ci="5" mb="0" cb="0"/><line nr="21" mi="0" ci="12" mb="0" cb="2"/><line nr="24" mi="0" ci="11" mb="0" cb="2"/><line nr="27" mi="2" ci="9" mb="1" cb="1"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="32" mi="0" ci="14" mb="0" cb="0"/><line nr="35" mi="0" ci="13" mb="0" cb="0"/><line nr="38" mi="6" ci="0" mb="0" cb="0"/><line nr="39" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="0" ci="6" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="9" covered="93"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="2" covered="14"/><counter type="COMPLEXITY" missed="2" covered="13"/><counter type="METHOD" missed="1" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="89" covered="350"/><counter type="BRANCH" missed="2" covered="12"/><counter type="LINE" missed="17" covered="84"/><counter type="COMPLEXITY" missed="25" covered="31"/><counter type="METHOD" missed="23" covered="26"/><counter type="CLASS" missed="0" covered="6"/></package><counter type="INSTRUCTION" missed="393" covered="5524"/><counter type="BRANCH" missed="68" covered="351"/><counter type="LINE" missed="42" covered="895"/><counter type="COMPLEXITY" missed="100" covered="448"/><counter type="METHOD" missed="33" covered="305"/><counter type="CLASS" missed="1" covered="61"/></report>