<?xml version="1.0" ?>
<coverage version="6.5.0" timestamp="1760742336611" lines-valid="547" lines-covered="311" line-rate="0.5686"
          branches-valid="146" branches-covered="83" branch-rate="0.5685" complexity="0">
    <!-- Generated by coverage.py: https://coverage.readthedocs.io -->
    <!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd -->
    <sources>
        <source>C:\Users\PC\PycharmProjects\open-ticket-ai\packages\otai_hf_local\src</source>
        <source>C:\Users\PC\PycharmProjects\open-ticket-ai\packages\otai_otobo_znuny\src</source>
        <source>C:\Users\PC\PycharmProjects\open-ticket-ai\src\open_ticket_ai</source>
    </sources>
    <packages>
        <package name="." line-rate="0.5667" branch-rate="1" complexity="0">
            <classes>
                <class name="app.py" filename="app.py" complexity="0" line-rate="0.85" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="1"/>
                        <line number="11" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="12" hits="0"/>
                        <line number="13" hits="0"/>
                        <line number="14" hits="0"/>
                        <line number="16" hits="1"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1"/>
                        <line number="19" hits="1"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="1"/>
                        <line number="23" hits="1"/>
                        <line number="24" hits="1"/>
                        <line number="26" hits="1"/>
                    </lines>
                </class>
                <class name="main.py" filename="main.py" complexity="0" line-rate="0" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="3" hits="0"/>
                        <line number="5" hits="0"/>
                        <line number="6" hits="0"/>
                        <line number="9" hits="0"/>
                        <line number="10" hits="0"/>
                        <line number="13" hits="0"/>
                        <line number="14" hits="0"/>
                        <line number="15" hits="0"/>
                        <line number="16" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.ai_classification_services" line-rate="0" branch-rate="0" complexity="0">
            <classes>
                <class name="classification_service.py"
                       filename="base/ai_classification_services/classification_service.py" complexity="0" line-rate="0"
                       branch-rate="0">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="3" hits="0"/>
                        <line number="5" hits="0"/>
                        <line number="11" hits="0"/>
                        <line number="12" hits="0"/>
                        <line number="13" hits="0" branch="true" condition-coverage="0% (0/3)"
                              missing-branches="exit,12,15"/>
                        <line number="15" hits="0"/>
                        <line number="16" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.loggers" line-rate="0.973" branch-rate="1" complexity="0">
            <classes>
                <class name="stdlib_logging_adapter.py" filename="base/loggers/stdlib_logging_adapter.py" complexity="0"
                       line-rate="0.973" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="11" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1"/>
                        <line number="15" hits="1"/>
                        <line number="16" hits="1"/>
                        <line number="18" hits="1"/>
                        <line number="19" hits="1"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="1"/>
                        <line number="24" hits="1"/>
                        <line number="25" hits="1"/>
                        <line number="27" hits="1"/>
                        <line number="28" hits="0"/>
                        <line number="31" hits="1"/>
                        <line number="32" hits="1"/>
                        <line number="33" hits="1"/>
                        <line number="36" hits="1"/>
                        <line number="37" hits="1"/>
                        <line number="38" hits="1"/>
                        <line number="39" hits="1"/>
                        <line number="41" hits="1"/>
                        <line number="46" hits="1"/>
                        <line number="47" hits="1"/>
                        <line number="48" hits="1"/>
                        <line number="49" hits="1"/>
                        <line number="51" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="52" hits="1"/>
                        <line number="53" hits="1"/>
                        <line number="54" hits="1"/>
                        <line number="55" hits="1"/>
                        <line number="57" hits="1"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.orchestrators" line-rate="0" branch-rate="0" complexity="0">
            <classes>
                <class name="simple_sequential_orchestrator.py"
                       filename="base/orchestrators/simple_sequential_orchestrator.py" complexity="0" line-rate="0"
                       branch-rate="0">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="2" hits="0"/>
                        <line number="4" hits="0"/>
                        <line number="6" hits="0"/>
                        <line number="7" hits="0"/>
                        <line number="8" hits="0"/>
                        <line number="11" hits="0"/>
                        <line number="12" hits="0"/>
                        <line number="13" hits="0"/>
                        <line number="16" hits="0"/>
                        <line number="17" hits="0"/>
                        <line number="18" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="17,21"/>
                        <line number="19" hits="0"/>
                        <line number="21" hits="0"/>
                        <line number="22" hits="0"/>
                        <line number="23" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="exit,exit"/>
                        <line number="25" hits="0"/>
                        <line number="26" hits="0"/>
                        <line number="27" hits="0"/>
                        <line number="28" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.pipe_runners" line-rate="1" branch-rate="1" complexity="0">
            <classes>
                <class name="simple_sequential_pipe_runner.py"
                       filename="base/pipe_runners/simple_sequential_pipe_runner.py" complexity="0" line-rate="1"
                       branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1"/>
                        <line number="14" hits="1"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="1"/>
                        <line number="24" hits="1"/>
                        <line number="25" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="26" hits="1"/>
                        <line number="28" hits="1"/>
                        <line number="29" hits="1"/>
                        <line number="30" hits="1"/>
                        <line number="31" hits="1"/>
                        <line number="33" hits="1"/>
                        <line number="34" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="35" hits="1"/>
                        <line number="36" hits="1"/>
                        <line number="37" hits="1"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.pipes" line-rate="0.321" branch-rate="0.4286" complexity="0">
            <classes>
                <class name="classification_pipe.py" filename="base/pipes/classification_pipe.py" complexity="0"
                       line-rate="0" branch-rate="0">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="3" hits="0"/>
                        <line number="7" hits="0"/>
                        <line number="8" hits="0"/>
                        <line number="9" hits="0"/>
                        <line number="10" hits="0"/>
                        <line number="11" hits="0"/>
                        <line number="14" hits="0"/>
                        <line number="15" hits="0"/>
                        <line number="18" hits="0"/>
                        <line number="19" hits="0"/>
                        <line number="20" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="19,23"/>
                        <line number="21" hits="0"/>
                        <line number="23" hits="0"/>
                        <line number="31" hits="0"/>
                        <line number="32" hits="0"/>
                        <line number="34" hits="0"/>
                        <line number="35" hits="0"/>
                        <line number="41" hits="0"/>
                    </lines>
                </class>
                <class name="composite_pipe.py" filename="base/pipes/composite_pipe.py" complexity="0"
                       line-rate="0.5517" branch-rate="0.6667">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="11" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="15" hits="1"/>
                        <line number="16" hits="1"/>
                        <line number="17" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="18" hits="0"/>
                        <line number="20" hits="1"/>
                        <line number="21" hits="0"/>
                        <line number="22" hits="0"/>
                        <line number="24" hits="1"/>
                        <line number="25" hits="0"/>
                        <line number="26" hits="0"/>
                        <line number="27" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="28,31"/>
                        <line number="28" hits="0"/>
                        <line number="29" hits="0"/>
                        <line number="30" hits="0"/>
                        <line number="31" hits="0"/>
                        <line number="33" hits="1"/>
                        <line number="34" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="35" hits="0"/>
                        <line number="36" hits="0"/>
                        <line number="38" hits="1"/>
                        <line number="39" hits="0"/>
                    </lines>
                </class>
                <class name="expression_pipe.py" filename="base/pipes/expression_pipe.py" complexity="0"
                       line-rate="0.8333" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="16" hits="1"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="19" hits="0"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="0"/>
                    </lines>
                </class>
                <class name="interval_trigger_pipe.py" filename="base/pipes/interval_trigger_pipe.py" complexity="0"
                       line-rate="0" branch-rate="0">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="2" hits="0"/>
                        <line number="3" hits="0"/>
                        <line number="5" hits="0"/>
                        <line number="7" hits="0"/>
                        <line number="8" hits="0"/>
                        <line number="9" hits="0"/>
                        <line number="12" hits="0"/>
                        <line number="13" hits="0"/>
                        <line number="16" hits="0"/>
                        <line number="17" hits="0"/>
                        <line number="18" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="17,21"/>
                        <line number="19" hits="0"/>
                        <line number="21" hits="0"/>
                        <line number="22" hits="0"/>
                        <line number="23" hits="0"/>
                        <line number="25" hits="0"/>
                        <line number="26" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="27,29"/>
                        <line number="27" hits="0"/>
                        <line number="28" hits="0"/>
                        <line number="29" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.pipes.ticket_system_pipes" line-rate="0.7778" branch-rate="1" complexity="0">
            <classes>
                <class name="add_note_pipe.py" filename="base/pipes/ticket_system_pipes/add_note_pipe.py" complexity="0"
                       line-rate="0.75" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="1"/>
                        <line number="15" hits="1"/>
                        <line number="20" hits="1"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="23" hits="0"/>
                        <line number="25" hits="1"/>
                        <line number="26" hits="0"/>
                        <line number="27" hits="0"/>
                        <line number="28" hits="0"/>
                    </lines>
                </class>
                <class name="fetch_tickets_pipe.py" filename="base/pipes/ticket_system_pipes/fetch_tickets_pipe.py"
                       complexity="0" line-rate="0.7857" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="1"/>
                        <line number="15" hits="1"/>
                        <line number="16" hits="1"/>
                        <line number="17" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="18" hits="0"/>
                        <line number="20" hits="1"/>
                        <line number="21" hits="0"/>
                        <line number="22" hits="0"/>
                    </lines>
                </class>
                <class name="ticket_system_pipe.py" filename="base/pipes/ticket_system_pipes/ticket_system_pipe.py"
                       complexity="0" line-rate="0.7778" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="2" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="1"/>
                        <line number="11" hits="0"/>
                        <line number="12" hits="0"/>
                    </lines>
                </class>
                <class name="update_ticket_pipe.py" filename="base/pipes/ticket_system_pipes/update_ticket_pipe.py"
                       complexity="0" line-rate="0.8" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="1"/>
                        <line number="11" hits="1"/>
                        <line number="16" hits="1"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="19" hits="0"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="0"/>
                        <line number="26" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.template_renderers" line-rate="0" branch-rate="0" complexity="0">
            <classes>
                <class name="jinja_renderer.py" filename="base/template_renderers/jinja_renderer.py" complexity="0"
                       line-rate="0" branch-rate="0">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="3" hits="0"/>
                        <line number="4" hits="0"/>
                        <line number="6" hits="0"/>
                        <line number="11" hits="0"/>
                        <line number="12" hits="0"/>
                        <line number="13" hits="0"/>
                        <line number="16" hits="0"/>
                        <line number="17" hits="0"/>
                        <line number="18" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="17,23"/>
                        <line number="19" hits="0"/>
                        <line number="20" hits="0"/>
                        <line number="21" hits="0"/>
                        <line number="23" hits="0"/>
                        <line number="24" hits="0"/>
                        <line number="25" hits="0"/>
                        <line number="26" hits="0"/>
                        <line number="27" hits="0"/>
                        <line number="28" hits="0"/>
                        <line number="29" hits="0"/>
                    </lines>
                </class>
                <class name="jinja_renderer_extras.py" filename="base/template_renderers/jinja_renderer_extras.py"
                       complexity="0" line-rate="0" branch-rate="0">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="2" hits="0"/>
                        <line number="4" hits="0"/>
                        <line number="5" hits="0"/>
                        <line number="7" hits="0"/>
                        <line number="10" hits="0"/>
                        <line number="11" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="12,13"/>
                        <line number="12" hits="0"/>
                        <line number="13" hits="0"/>
                        <line number="16" hits="0"/>
                        <line number="17" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="18,19"/>
                        <line number="18" hits="0"/>
                        <line number="19" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="20,22"/>
                        <line number="20" hits="0"/>
                        <line number="22" hits="0"/>
                        <line number="23" hits="0"/>
                        <line number="26" hits="0"/>
                        <line number="27" hits="0"/>
                        <line number="28" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="29,30"/>
                        <line number="29" hits="0"/>
                        <line number="30" hits="0"/>
                        <line number="33" hits="0"/>
                        <line number="34" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="33,38"/>
                        <line number="35" hits="0"/>
                        <line number="38" hits="0"/>
                        <line number="39" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="exit,38"/>
                        <line number="40" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="base.ticket_system_integration" line-rate="0.75" branch-rate="1" complexity="0">
            <classes>
                <class name="ticket_system_service.py"
                       filename="base/ticket_system_integration/ticket_system_service.py" complexity="0"
                       line-rate="0.75" branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1"/>
                        <line number="14" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="15" hits="0"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="19" hits="0"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="23" hits="0"/>
                        <line number="25" hits="1"/>
                        <line number="26" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="27" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="core.config" line-rate="1" branch-rate="1" complexity="0">
            <classes>
                <class name="app_config.py" filename="core/config/app_config.py" complexity="0" line-rate="1"
                       branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="2" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="15" hits="1"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="core.dependency_injection" line-rate="0.6667" branch-rate="0.6667" complexity="0">
            <classes>
                <class name="container.py" filename="core/dependency_injection/container.py" complexity="0"
                       line-rate="0.6667" branch-rate="0.6667">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="2" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="11" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1"/>
                        <line number="14" hits="1"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1"/>
                        <line number="19" hits="1"/>
                        <line number="21" hits="1"/>
                        <line number="22" hits="0"/>
                        <line number="23" hits="0"/>
                        <line number="24" hits="0"/>
                        <line number="26" hits="1"/>
                        <line number="27" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="30" hits="0"/>
                        <line number="31" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="exit,32"/>
                        <line number="32" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="33,35"/>
                        <line number="33" hits="0"/>
                        <line number="35" hits="0"/>
                        <line number="36" hits="0"/>
                        <line number="37" hits="0"/>
                        <line number="39" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="40" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="41" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="42" hits="1"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="core.injectables" line-rate="0.9333" branch-rate="1" complexity="0">
            <classes>
                <class name="injectable.py" filename="core/injectables/injectable.py" complexity="0" line-rate="0.9333"
                       branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="2" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="11" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1"/>
                        <line number="14" hits="1"/>
                        <line number="15" hits="1"/>
                        <line number="17" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="18" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="19" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="20" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="core.logging" line-rate="0.9444" branch-rate="0.7059" complexity="0">
            <classes>
                <class name="logging_iface.py" filename="core/logging/logging_iface.py" complexity="0"
                       line-rate="0.9444" branch-rate="0.7059">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="9" hits="1" branch="true" condition-coverage="66% (2/3)" missing-branches="exit"/>
                        <line number="11" hits="1"/>
                        <line number="12" hits="1" branch="true" condition-coverage="66% (2/3)"
                              missing-branches="exit"/>
                        <line number="14" hits="1"/>
                        <line number="15" hits="1" branch="true" condition-coverage="66% (2/3)"
                              missing-branches="exit"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1" branch="true" condition-coverage="66% (2/3)"
                              missing-branches="exit"/>
                        <line number="20" hits="1"/>
                        <line number="21" hits="1" branch="true" condition-coverage="66% (2/3)"
                              missing-branches="exit"/>
                        <line number="24" hits="1"/>
                        <line number="25" hits="1"/>
                        <line number="26" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="27" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="core.pipes" line-rate="0.9531" branch-rate="0.8636" complexity="0">
            <classes>
                <class name="pipe.py" filename="core/pipes/pipe.py" complexity="0" line-rate="0.9167"
                       branch-rate="0.875">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="6" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="1"/>
                        <line number="11" hits="1"/>
                        <line number="14" hits="1"/>
                        <line number="15" hits="1"/>
                        <line number="16" hits="1"/>
                        <line number="17" hits="1"/>
                        <line number="19" hits="1"/>
                        <line number="20" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="21" hits="1" branch="true" condition-coverage="50% (1/2)" missing-branches="23"/>
                        <line number="22" hits="1"/>
                        <line number="23" hits="0"/>
                        <line number="25" hits="1"/>
                        <line number="26" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="27" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="29" hits="1"/>
                        <line number="30" hits="0"/>
                        <line number="32" hits="1"/>
                        <line number="33" hits="1"/>
                    </lines>
                </class>
                <class name="pipe_factory.py" filename="core/pipes/pipe_factory.py" complexity="0" line-rate="0.975"
                       branch-rate="0.8571">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="2" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="7" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="1"/>
                        <line number="11" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1"/>
                        <line number="16" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="17" hits="1"/>
                        <line number="18" hits="1"/>
                        <line number="19" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="26" hits="1"/>
                        <line number="27" hits="1"/>
                        <line number="28" hits="1"/>
                        <line number="29" hits="1"/>
                        <line number="31" hits="1"/>
                        <line number="34" hits="1"/>
                        <line number="36" hits="1"/>
                        <line number="38" hits="1"/>
                        <line number="46" hits="1"/>
                        <line number="48" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="49" hits="1"/>
                        <line number="50" hits="1"/>
                        <line number="51" hits="1"/>
                        <line number="53" hits="1"/>
                        <line number="59" hits="1"/>
                        <line number="60" hits="1" branch="true" condition-coverage="50% (1/2)"
                              missing-branches="exit"/>
                        <line number="62" hits="1"/>
                        <line number="63" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="64" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="65" hits="1"/>
                        <line number="67" hits="1"/>
                        <line number="68" hits="1" branch="true" condition-coverage="50% (1/2)" missing-branches="69"/>
                        <line number="69" hits="0"/>
                        <line number="70" hits="1"/>
                        <line number="71" hits="1"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="core.template_rendering" line-rate="0.4762" branch-rate="0.2857" complexity="0">
            <classes>
                <class name="template_renderer.py" filename="core/template_rendering/template_renderer.py"
                       complexity="0" line-rate="0.4762" branch-rate="0.2857">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="2" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="8" hits="1"/>
                        <line number="9" hits="1"/>
                        <line number="10" hits="0"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="14" hits="0"/>
                        <line number="15" hits="0"/>
                        <line number="17" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="18,19"/>
                        <line number="18" hits="0"/>
                        <line number="19" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="20,21"/>
                        <line number="20" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="exit,exit"/>
                        <line number="21" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="22,23"/>
                        <line number="22" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="exit,exit"/>
                        <line number="23" hits="0"/>
                        <line number="25" hits="1"/>
                        <line number="26" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="27" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="core.util" line-rate="0.75" branch-rate="1" complexity="0">
            <classes>
                <class name="formatting.py" filename="core/util/formatting.py" complexity="0" line-rate="0.75"
                       branch-rate="1">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="2" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="6" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="otai_hf_local" line-rate="0" branch-rate="0" complexity="0">
            <classes>
                <class name="hf_classification_service.py" filename="otai_hf_local/hf_classification_service.py"
                       complexity="0" line-rate="0" branch-rate="0">
                    <methods/>
                    <lines>
                        <line number="1" hits="0"/>
                        <line number="2" hits="0"/>
                        <line number="4" hits="0"/>
                        <line number="8" hits="0"/>
                        <line number="9" hits="0"/>
                        <line number="19" hits="0"/>
                        <line number="20" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="19,26"/>
                        <line number="21" hits="0"/>
                        <line number="22" hits="0"/>
                        <line number="23" hits="0"/>
                        <line number="26" hits="0"/>
                        <line number="27" hits="0"/>
                        <line number="28" hits="0"/>
                        <line number="29" hits="0"/>
                        <line number="30" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="31,32"/>
                        <line number="31" hits="0"/>
                        <line number="32" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="33,34"/>
                        <line number="33" hits="0"/>
                        <line number="34" hits="0"/>
                        <line number="35" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
        <package name="otai_otobo_znuny" line-rate="0.42" branch-rate="0.5" complexity="0">
            <classes>
                <class name="oto_znuny_ts_service.py" filename="otai_otobo_znuny/oto_znuny_ts_service.py" complexity="0"
                       line-rate="0.42" branch-rate="0.5">
                    <methods/>
                    <lines>
                        <line number="1" hits="1"/>
                        <line number="3" hits="1"/>
                        <line number="4" hits="1"/>
                        <line number="5" hits="1"/>
                        <line number="12" hits="1"/>
                        <line number="13" hits="1"/>
                        <line number="15" hits="1"/>
                        <line number="22" hits="1"/>
                        <line number="23" hits="1"/>
                        <line number="24" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="25" hits="0"/>
                        <line number="27" hits="1"/>
                        <line number="28" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="34" hits="0"/>
                        <line number="35" hits="0"/>
                        <line number="36" hits="0"/>
                        <line number="38" hits="1"/>
                        <line number="39" hits="1" branch="true" condition-coverage="100% (2/2)"/>
                        <line number="40" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="41,42"/>
                        <line number="41" hits="0"/>
                        <line number="42" hits="0"/>
                        <line number="44" hits="1"/>
                        <line number="45" hits="0"/>
                        <line number="46" hits="0"/>
                        <line number="47" hits="0"/>
                        <line number="48" hits="0"/>
                        <line number="49" hits="0"/>
                        <line number="51" hits="1"/>
                        <line number="52" hits="0"/>
                        <line number="54" hits="1"/>
                        <line number="55" hits="0"/>
                        <line number="58" hits="0"/>
                        <line number="59" hits="0"/>
                        <line number="60" hits="0"/>
                        <line number="61" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="exit,exit"/>
                        <line number="63" hits="1"/>
                        <line number="64" hits="0"/>
                        <line number="65" hits="0"/>
                        <line number="67" hits="1"/>
                        <line number="68" hits="0"/>
                        <line number="70" hits="1"/>
                        <line number="71" hits="0"/>
                        <line number="72" hits="0" branch="true" condition-coverage="0% (0/2)"
                              missing-branches="73,75"/>
                        <line number="73" hits="0"/>
                        <line number="75" hits="0"/>
                        <line number="82" hits="0"/>
                        <line number="83" hits="0"/>
                        <line number="84" hits="0"/>
                        <line number="86" hits="1"/>
                        <line number="87" hits="0"/>
                    </lines>
                </class>
            </classes>
        </package>
    </packages>
</coverage>
