﻿<?xml version="1.0" encoding="utf-8"?>
<modelStoreModel xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm4="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/LogicalClassDesigner" xmlns:dm9="http://schemas.microsoft.com/dsltools/SimpleShapesModel" xmlns:dm10="http://schemas.microsoft.com/VisualStudio/TeamArchitect/ActivityDesigner"
  dslVersion="1.0.0.0"
  Id="e2cf9794-4eac-47f5-8a55-86a2a69b82e9"
  name="Diagrams" xmlns="http://schemas.microsoft.com/dsltools/ModelStore">
  <profileInstances>
    <packageHasProfileInstances
      Id="0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b">
      <profileInstance
        Id="e34d544e-0fea-4ed6-ac5e-1b74119ac791"
        name="StandardProfileL2" />
    </packageHasProfileInstances>
    <packageHasProfileInstances
      Id="29349502-908c-4fda-9054-c48619c59ed0">
      <profileInstance
        Id="532ea607-fb19-44b8-8502-3351b05452be"
        name="StandardProfileL3" />
    </packageHasProfileInstances>
  </profileInstances>
  <packagedElements>
    <packageHasNamedElement>
      <actor
        Id="0a75cb7d-a486-4885-a042-a771482559c8"
        name="Скрутинер"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="3d3d3b41-db85-4e57-8646-bc7bdf9a71a4"
            isDerived="false"
            sourceEndRoleName="Скрутинер"
            targetEndRoleName="Запускать сервер"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="d05a74fa-821f-4531-9d33-28fa363726e7"
              LastKnownName="Запускать сервер"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="47de507d-4937-4037-ad80-97914ad8011f"
                  name="Скрутинер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6fbcfc95-906c-4fe3-a403-366222f768c6"
                  name="Запускать сервер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="3ad5510f-4b5f-45bc-90fc-719e6d0145f0"
            isDerived="false"
            sourceEndRoleName="Скрутинер"
            targetEndRoleName="Перезапускать сервер"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="206de76b-678d-4dcc-872a-5050f1a03d2e"
              LastKnownName="Перезапускать сервер"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="0569295b-ce95-4108-a2c4-e53efd48d3a5"
                  name="Скрутинер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="69e1f831-3870-48be-b9c7-f185ec6ce8da"
                  name="Перезапускать сервер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="8fe80d0d-7833-47c2-b72a-a59dd9ab3a24"
            isDerived="false"
            sourceEndRoleName="Скрутинер"
            targetEndRoleName="Останавливать сервер"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="9843aad4-81cb-41b4-a41b-30181910762d"
              LastKnownName="Останавливать сервер"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6fd9be2a-f136-41f4-96c0-c0273e66c454"
                  name="Скрутинер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="61fe642a-a132-4f72-bc84-51f6bb44f939"
                  name="Останавливать сервер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="d91bcfa3-b8e6-4ef9-90c5-4c7d452cd9eb"
            isDerived="false"
            sourceEndRoleName="Скрутинер"
            targetEndRoleName="Управлять клиентами"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="c788a2be-e04e-4c60-a147-3a616de11f26"
              LastKnownName="Управлять клиентами"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a7371077-6a20-4c21-847b-2af31626d04c"
                  name="Скрутинер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6d166552-75a2-40e3-a71d-8cba67cf2182"
                  name="Управлять клиентами"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
      </actor>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <actor
        Id="4073fbaa-5dcb-4bd7-a735-05c30cef0150"
        name="Ведущий"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="34ffaaf7-497d-4ce1-a28a-7bb20fda9005"
            isDerived="false"
            sourceEndRoleName="Ведущий"
            targetEndRoleName="Подключаться к серверу"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="ef425a73-8725-4733-bacc-35d26baa8ea2"
              LastKnownName="Подключаться к серверу"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="fdb19415-bd6c-47b2-9f77-7c2c54989984"
                  name="Ведущий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="abf45795-4de4-42e2-b0bb-fb2bd595e4b4"
                  name="Подключаться к серверу"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="78baab82-35f4-4c0d-810b-72de9af56b66"
            isDerived="false"
            sourceEndRoleName="Ведущий"
            targetEndRoleName="Авторизироваться как ведущий"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="94c87ba9-fa88-4795-8aa5-7516256565a0"
              LastKnownName="Авторизироваться как ведущий"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="e395d398-86dd-4180-8dfc-a82dc3691f9d"
                  name="Ведущий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="598ce5a5-e074-488c-bcd1-628dd85a7974"
                  name="Авторизироваться как ведущий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="a99e0d05-b02d-4aae-9e12-fc4e60380694"
            isDerived="false"
            sourceEndRoleName="Ведущий"
            targetEndRoleName="Выходить из системы"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="477a37e3-8b2a-4865-8d19-ab022110a6ed"
              LastKnownName="Выходить из системы"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="976f0e39-9fa7-4e80-bdf9-069cdd69ab0a"
                  name="Ведущий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="e69466ef-0f28-462d-a5c7-3d50c929de4a"
                  name="Выходить из системы"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="1b170bd7-aa26-49a7-90da-5ce496fecdae"
            isDerived="false"
            sourceEndRoleName="Ведущий"
            targetEndRoleName="Просматривать список категорий"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="37226bbc-9d78-4c87-ab17-17f11da870d7"
              LastKnownName="Просматривать список категорий"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="3f6ad6c0-26c6-4a24-b13e-5d1041974145"
                  name="Ведущий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="f7d2854f-a22a-435d-9409-950585b728ed"
                  name="Просматривать список категорий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="78a674b5-6cb5-4d45-936b-e2cc6071ba2c"
            isDerived="false"
            sourceEndRoleName="Ведущий"
            targetEndRoleName="Выбирать категорию"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="7b3cbdcd-f747-4581-90d0-f172135a942a"
              LastKnownName="Выбирать категорию"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="2bb36e59-f709-42ba-8e7e-a3a81e322192"
                  name="Ведущий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="81af209f-eb17-421f-bd15-18436dcbff24"
                  name="Выбирать категорию"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="f6fa7e16-d60d-48f1-86c8-a33b7692b58f"
            isDerived="false"
            sourceEndRoleName="Ведущий"
            targetEndRoleName="Контролировать изменения на площадках"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="6a7d4071-ddf5-4e00-9351-cf0640800fb4"
              LastKnownName="Контролировать изменения на площадках"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="8446caf3-9f63-45e3-98b0-faafa978e7d0"
                  name="Ведущий"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="3ed3e6b8-c950-4aac-9d4d-8077cfe888fd"
                  name="Контролировать изменения на площадках"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
      </actor>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <actor
        Id="c33e483b-9cd0-4aa5-bbd9-4f4e8a082c1f"
        name="Судья"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="227ae87f-a276-4611-b348-a108d8c16841"
            isDerived="false"
            sourceEndRoleName="Судья"
            targetEndRoleName="Авторизироваться как судья"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="b1f322a4-d0f6-47ec-b8c9-b31bce7c222e"
              LastKnownName="Авторизироваться как судья"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="155ae323-3228-4b74-9a3b-640fec748f2c"
                  name="Судья"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="21a67385-43b9-44f7-99cc-0866862ff60f"
                  name="Авторизироваться как судья"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="1d0944d7-a5eb-40bd-8601-252b55a8f562"
            isDerived="false"
            sourceEndRoleName="Судья"
            targetEndRoleName="Выходить из системы"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="477a37e3-8b2a-4865-8d19-ab022110a6ed"
              LastKnownName="Выходить из системы"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="01045ddb-f32d-4a73-a855-5f3a8047bf04"
                  name="Судья"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="110633d2-e171-4fce-93d7-5512db2ca5fa"
                  name="Выходить из системы"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="b7e959c2-82dc-4e90-9862-24bad99974a7"
            isDerived="false"
            sourceEndRoleName="Судья"
            targetEndRoleName="Оценивать участников"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="b6f06ba8-2fa2-46d1-909e-8638171c16b4"
              LastKnownName="Оценивать участников"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6d2dfbf8-f2ec-4de9-b388-128204ad1432"
                  name="Судья"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="d0659ac1-039c-48b0-8d22-c1941dd366a5"
                  name="Оценивать участников"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="edd3c28a-ea9a-4b50-9057-663a4d5caf28"
            isDerived="false"
            sourceEndRoleName="Судья"
            targetEndRoleName="Подключаться к серверу"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="ef425a73-8725-4733-bacc-35d26baa8ea2"
              LastKnownName="Подключаться к серверу"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="f573c0fe-26c5-44e2-8ab2-82f2ddfde2d2"
                  name="Судья"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6b4a66bd-f9c5-4746-9d43-1132df3eff4c"
                  name="Подключаться к серверу"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
      </actor>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <subsystem
        Id="d54d6178-211f-497c-be57-1e8842202a3e"
        name="Приложение ведущего"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <subsystem
        Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
        name="Сервер"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <subsystem
        Id="5e6148a8-0919-4cb2-944b-2bf0f7807a21"
        name="Приложение судьи"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="ef425a73-8725-4733-bacc-35d26baa8ea2"
        name="Подключаться к серверу"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
          <subsystemMoniker
            Id="5e6148a8-0919-4cb2-944b-2bf0f7807a21"
            LastKnownName="Приложение судьи"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="477a37e3-8b2a-4865-8d19-ab022110a6ed"
        name="Выходить из системы"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
          <subsystemMoniker
            Id="5e6148a8-0919-4cb2-944b-2bf0f7807a21"
            LastKnownName="Приложение судьи"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="94c87ba9-fa88-4795-8aa5-7516256565a0"
        name="Авторизироваться как ведущий"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="37226bbc-9d78-4c87-ab17-17f11da870d7"
        name="Просматривать список категорий"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="7b3cbdcd-f747-4581-90d0-f172135a942a"
        name="Выбирать категорию"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="7b4b4129-984a-4b34-a017-21c3966b87c0"
            isDerived="false"
            sourceEndRoleName="Выбирать категорию"
            targetEndRoleName="Отправлять данные судьям"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="5aace729-401d-498e-865d-9693afe2a695"
              LastKnownName="Отправлять данные судьям"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="db1297ca-66bb-4308-be26-38b6e0aa5735"
                  name="Выбирать категорию"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="1f46f2aa-54e4-4b54-88e9-d0b58b15c26c"
                  name="Отправлять данные судьям"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="5aace729-401d-498e-865d-9693afe2a695"
        name="Отправлять данные судьям"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="d5f01f08-3dda-4391-9215-f0cacef56f25"
            isDerived="false"
            sourceEndRoleName="Отправлять данные судьям"
            targetEndRoleName="Выделять танцоров"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="6e196830-5fd4-4ad8-b2ee-a6ffddb16d75"
              LastKnownName="Выделять танцоров"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="94bd6c69-8514-45dc-a29d-e03e63db99cb"
                  name="Отправлять данные судьям"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="b91d01ad-413e-4c23-8a10-95babe6c0bc8"
                  name="Выделять танцоров"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="6e196830-5fd4-4ad8-b2ee-a6ffddb16d75"
        name="Выделять танцоров"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="6a7d4071-ddf5-4e00-9351-cf0640800fb4"
        name="Контролировать изменения на площадках"
        isAbstract="false"
        isLeaf="false">
        <additions>
          <include
            Id="9cd85bea-1a6a-41b5-8640-0966b465ea8e">
            <useCaseMoniker
              Id="388a1ffa-90b4-44e2-8773-0647c53f0c74"
              LastKnownName="Удалять участников"
              LastKnownLocation="Diagrams.uml" />
          </include>
          <include
            Id="b85528ab-7c09-430c-b8b1-737b56fc0bc6">
            <useCaseMoniker
              Id="7362853f-3079-4e33-92b7-d9efaa3d6295"
              LastKnownName="Добавлять участников"
              LastKnownLocation="Diagrams.uml" />
          </include>
        </additions>
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="7362853f-3079-4e33-92b7-d9efaa3d6295"
        name="Добавлять участников"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="388a1ffa-90b4-44e2-8773-0647c53f0c74"
        name="Удалять участников"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="d54d6178-211f-497c-be57-1e8842202a3e"
            LastKnownName="Приложение ведущего"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="b1f322a4-d0f6-47ec-b8c9-b31bce7c222e"
        name="Авторизироваться как судья"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="5e6148a8-0919-4cb2-944b-2bf0f7807a21"
            LastKnownName="Приложение судьи"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="b6f06ba8-2fa2-46d1-909e-8638171c16b4"
        name="Оценивать участников"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="6ff7d88e-358b-4520-ba82-26155adad3ab"
            isDerived="false"
            sourceEndRoleName="Оценивать участников"
            targetEndRoleName="Отправлять оценки на сервер"
            isLeaf="false"
            isAbstract="false">
            <useCaseMoniker
              Id="658565c0-df41-4d48-8cd9-df42720f10e6"
              LastKnownName="Отправлять оценки на сервер"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="7b722e3c-c8be-4ffc-bad2-b04fac65e1c5"
                  name="Оценивать участников"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="87b82018-f774-4dac-99b7-ebba5e3ab788"
                  name="Отправлять оценки на сервер"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <subjects>
          <subsystemMoniker
            Id="5e6148a8-0919-4cb2-944b-2bf0f7807a21"
            LastKnownName="Приложение судьи"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="658565c0-df41-4d48-8cd9-df42720f10e6"
        name="Отправлять оценки на сервер"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="5e6148a8-0919-4cb2-944b-2bf0f7807a21"
            LastKnownName="Приложение судьи"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="d05a74fa-821f-4531-9d33-28fa363726e7"
        name="Запускать сервер"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
            LastKnownName="Сервер"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="206de76b-678d-4dcc-872a-5050f1a03d2e"
        name="Перезапускать сервер"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
            LastKnownName="Сервер"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="9843aad4-81cb-41b4-a41b-30181910762d"
        name="Останавливать сервер"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
            LastKnownName="Сервер"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="c788a2be-e04e-4c60-a147-3a616de11f26"
        name="Управлять клиентами"
        isAbstract="false"
        isLeaf="false">
        <additions>
          <include
            Id="1607abb7-29c5-4128-afa2-528571b04ae6">
            <useCaseMoniker
              Id="c25e82f6-61f4-424d-a344-2af15307fb40"
              LastKnownName="Обрабатывать сообщения"
              LastKnownLocation="Diagrams.uml" />
          </include>
          <include
            Id="ff70855e-c631-4d54-a527-699a8e29eaac">
            <useCaseMoniker
              Id="1bd3ec29-2f7c-4741-ab48-1713e4ce7e2e"
              LastKnownName="Отключать клиента"
              LastKnownLocation="Diagrams.uml" />
          </include>
          <include
            Id="dfde1d1e-4a54-4d34-8799-5793f14d91a1">
            <useCaseMoniker
              Id="ec631926-002f-48a5-8efe-1e5572a082f9"
              LastKnownName="Подключать клиента"
              LastKnownLocation="Diagrams.uml" />
          </include>
        </additions>
        <subjects>
          <subsystemMoniker
            Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
            LastKnownName="Сервер"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="c25e82f6-61f4-424d-a344-2af15307fb40"
        name="Обрабатывать сообщения"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
            LastKnownName="Сервер"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="1bd3ec29-2f7c-4741-ab48-1713e4ce7e2e"
        name="Отключать клиента"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
            LastKnownName="Сервер"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <useCase
        Id="ec631926-002f-48a5-8efe-1e5572a082f9"
        name="Подключать клиента"
        isAbstract="false"
        isLeaf="false">
        <subjects>
          <subsystemMoniker
            Id="8d5cf0f7-61a5-4a48-a94d-b208026041d4"
            LastKnownName="Сервер"
            LastKnownLocation="Diagrams.uml" />
        </subjects>
      </useCase>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
        name="IConnection"
        isAbstract="false"
        isLeaf="false">
        <suppliersInternal>
          <dependency
            Id="c28d1530-9508-49f1-b341-e119a8c4ee94">
            <interfaceMoniker
              Id="9c52ed2e-b0a1-47d9-981e-f4b98b68c56e"
              LastKnownName="IConnectionEventListener"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <ownedOperations>
          <operation
            Id="dab4e518-0146-45fd-b446-c6ff20ab6c0c"
            name="sendMessage"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="71dac31e-fa71-46eb-a14c-2ec2722fcce0"
                  name="messageType"
                  direction="In">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="3340744f-be26-4dbc-8733-dcfc1f75c89a"
                  name="message"
                  direction="In">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5e345758-7d36-4a39-8ef9-ecd39127c5e3"
            name="disconnect"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="56a3dc6e-1b16-4fc3-84a1-cab7b3f11121"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="747134d5-a253-4337-a57b-fd2d03e77b3f"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="9c52ed2e-b0a1-47d9-981e-f4b98b68c56e"
                      LastKnownName="IConnectionEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="a23102bf-2485-4067-a24b-f02f0f86bba3"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="6b8180da-191b-41c3-b883-cd92ffa7d40d"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="9c52ed2e-b0a1-47d9-981e-f4b98b68c56e"
                      LastKnownName="IConnectionEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
        name="byte" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
        name="Object" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="9c52ed2e-b0a1-47d9-981e-f4b98b68c56e"
        name="IConnectionEventListener"
        isAbstract="false"
        isLeaf="false">
        <ownedOperations>
          <operation
            Id="95885767-d49f-4e7b-b0ad-6490fb67e822"
            name="onMessageReceive"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ce027bd2-6212-413a-8f5e-e1b8cdd04768"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
                      LastKnownName="IConnection"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="bbd07e23-87c6-4ebc-8ca0-43c7e9a28c96"
                  name="messageType"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="1bb96652-46f1-4000-a2f1-dd40d9f3aef8"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="65616d40-2bc6-4a0c-ab69-3663bd07f0e2"
            name="onConnectionOpen"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="cac24cf2-9257-48fb-8b08-183225261fcc"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
                      LastKnownName="IConnection"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="35bde751-1001-494f-8f0b-b102d1a1dd65"
            name="onConnectionClose"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="4cabb76d-e76a-4da9-9d41-a1340a64e05d"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
                      LastKnownName="IConnection"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="a908b806-b3a5-483b-8907-8b11f32247ee"
            name="onException"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="28d214af-6368-406e-89a9-9c8be211c618"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
                      LastKnownName="IConnection"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="8a276231-4b7e-4aa7-816c-b6711bdb880f"
                  name="cause"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="5b941fda-1c13-4d2e-8c3d-cda3b9dfc283"
                      LastKnownName="Throwable"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="5b941fda-1c13-4d2e-8c3d-cda3b9dfc283"
        name="Throwable" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="3ba17bc0-93a7-4329-8b05-10bdc6256478"
        name="INetAcceptor"
        isAbstract="false"
        isLeaf="false">
        <suppliersInternal>
          <dependency
            Id="b5260e1d-787a-4cb3-b86a-fc9840ae21c2">
            <interfaceMoniker
              Id="8351a299-b69e-47e9-a496-d61f24c8102c"
              LastKnownName="INetAcceptorEventListener"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="458d12e1-aac7-4b2d-ac15-666a5c66b96d"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="8484a5a3-28e9-40b8-9f72-492dd5f9de0a"
              LastKnownName="MessageEncoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="32cc564e-4c01-4377-bcda-1fb172f52a3a"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="1616d30e-1f60-481f-a23c-2c0e719ece50"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true">
                  <lowerValueInternal>
                    <literalString
                      Id="25dd0cef-da27-439e-9300-a937ddb47f28"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="419bdafa-e538-4298-ba80-0fdb3a116583"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="4c2bf2e8-bb10-4aae-bf72-4dba86f594eb"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="dd6daa92-b0e5-401d-b361-75be6eb69329"
              LastKnownName="MessageDecoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="06425e75-6410-4b99-987e-e40ebf2874b0"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="01739a36-bb7f-4fe8-8af6-0632a0e73ce9"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true">
                  <lowerValueInternal>
                    <literalString
                      Id="9e4f8a73-c397-42de-9ba3-26955edf1e1d"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="8cf84dab-22ef-451c-8879-973c839e59a3"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="06d3046d-e6d0-414b-b3eb-6977d107d2a1"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="6985fca1-da27-453c-8289-68c14df4700f"
              LastKnownName="NettyConnectionHandler"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="90aee28a-df24-4024-8e92-82a76bc82779"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="44a79573-b98a-423a-aea1-8ceb0d934a29"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="34183d8c-5006-4d8b-bc24-b96e83ea4fcc"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="129d18c1-4756-4edc-99e0-5533faa01ef8"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="9ea571c6-b2a0-4906-b12c-d0e6f7de9b03"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="7e1e97f3-b725-432d-9875-550993fae740"
              LastKnownName="PacketEncoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="fa263c6d-db6d-4c2a-a62a-af62e4fd8f7d"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="e5a95874-fb28-446c-8dad-cf7b05dbc3c5"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true">
                  <lowerValueInternal>
                    <literalString
                      Id="e3a8b892-0f16-4a0b-9b55-3a20e3c7a558"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="f5466f45-f1a8-42d9-b672-da8f888ff721"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="6bb14743-ef6f-4988-9e89-d9133ed160df"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="d811b507-6d06-4e8a-b5e2-498e9b90c77c"
              LastKnownName="PacketDecoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="61260773-d7fe-4ee8-b88a-e2e21e92cd01"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="7d888252-556d-4806-a6a2-df4d56451993"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true">
                  <lowerValueInternal>
                    <literalString
                      Id="9e8a8632-2bc2-4413-9367-1455137e127c"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="66acd1aa-699b-461a-9caa-ff3fe1560128"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperations>
          <operation
            Id="196a54de-befb-4174-8f8f-ab307edd1b7b"
            name="start"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="96ac87ef-1b50-44d7-9ea7-19783a359a55"
            name="stop"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="1b723c1e-1d59-4af4-bf8e-b96a65d81e55"
            name="isStarted"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="df0d0413-eace-4f8c-b032-a2c6a1e162a0"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="abe167d6-9248-40cb-91e5-b28758159a9b"
            name="getIP"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="fc08c7ab-a673-432f-ba49-8e9a4e247ee0"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="8963a260-dc01-4517-af9e-33ce1d2f8bd0"
            name="getPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="04e277dc-45b2-41f3-bb63-f32dbf87966a"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="b0b0bb5b-e30a-43c0-bb4c-c49718399792"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="b7686d98-9dcd-42fd-bc47-cd2b5ca93e3e"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="8351a299-b69e-47e9-a496-d61f24c8102c"
                      LastKnownName="INetAcceptorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="924fdeb7-4e7f-4bd7-9b4b-e9213cff4af6"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="cac664b8-c72a-4cb9-8143-5df6fda76825"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="8351a299-b69e-47e9-a496-d61f24c8102c"
                      LastKnownName="INetAcceptorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="0e233bd5-99e6-4b6c-81ba-01273ec03c87"
        name="int" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="8351a299-b69e-47e9-a496-d61f24c8102c"
        name="INetAcceptorEventListener"
        isAbstract="false"
        isLeaf="false">
        <ownedOperations>
          <operation
            Id="ff02ec71-5a3a-4c97-b787-7c0f1a780da1"
            name="onStart"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="c5bd2589-97af-4a43-9683-6cc9491d3f8c"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3ba17bc0-93a7-4329-8b05-10bdc6256478"
                      LastKnownName="INetAcceptor"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="8f3f52cd-4d76-4edc-bd7e-7693934e2c91"
            name="onStop"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="97fee896-2e5e-458a-a102-8fe8249924c5"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3ba17bc0-93a7-4329-8b05-10bdc6256478"
                      LastKnownName="INetAcceptor"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="9d098446-231a-480c-87f4-e6ac525ae52a"
            name="onNewConnection"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="cdd77b39-1c44-46a6-9ca5-d4b0d4a3f88e"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3ba17bc0-93a7-4329-8b05-10bdc6256478"
                      LastKnownName="INetAcceptor"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="1e60ede7-3ca6-4a5a-bce7-eaf656c927ce"
                  name="connection"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
                      LastKnownName="IConnection"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="562b006b-837c-4b1d-a268-80dfba95cd1f"
        name="INetConnector"
        isAbstract="false"
        isLeaf="false">
        <suppliersInternal>
          <dependency
            Id="b337fd01-6830-41c1-be41-b6462922ee64">
            <interfaceMoniker
              Id="7faf54ec-f304-4501-aea4-f4e60c829634"
              LastKnownName="INetConnectorEventListener"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="b972dacb-7255-489a-bcbc-813f3f123837"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="7e1e97f3-b725-432d-9875-550993fae740"
              LastKnownName="PacketEncoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="46a4f564-7776-49af-86a5-c2605e3159d5"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="f2595db5-49c6-4ab5-8f9b-ee3e5e6601b1"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true">
                  <lowerValueInternal>
                    <literalString
                      Id="f89e7fb3-8ac4-4d30-b5e4-129772b563d9"
                      name="Lower"
                      value="1" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="d8a0be81-c777-4823-81f7-bd5f691a9070"
                      name="Upper"
                      value="1" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="d4820178-09f0-438a-959a-6376a78ae2b8"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="d811b507-6d06-4e8a-b5e2-498e9b90c77c"
              LastKnownName="PacketDecoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="13d518f9-fa2f-4c09-8c45-8202bc7dee10"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="17f0a07d-3750-4e8b-b9cc-dbbe3d7ad01e"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="ed883041-820e-49f8-abf0-40afc7e73e69"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="8484a5a3-28e9-40b8-9f72-492dd5f9de0a"
              LastKnownName="MessageEncoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a33d41d6-b56c-4cfe-85ff-27eb17913dc2"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="15ee75c0-1f52-4c00-aa91-56dcde53ccb3"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="a245a647-7f77-4b22-8537-e02bcb8fb25d"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="dd6daa92-b0e5-401d-b361-75be6eb69329"
              LastKnownName="MessageDecoder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="40258edf-fb05-4c84-a867-c507315907fd"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="1c9b9436-9d3c-4c9c-bb36-bdf886ac7f19"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperations>
          <operation
            Id="2a5bfd01-e7a4-4bbd-852c-17359a89d631"
            name="connect"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="6f960c95-5fc8-4744-8b02-04324cc878cc"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="dbd222f7-ac68-4d79-b859-1fda6bf03449"
            name="disconnect"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="655d841d-5b07-4ade-8524-e0fad99b6eab"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="b5f57332-9daa-4b37-80e8-0dda51f99c1b"
            name="isConnected"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="086b5c61-dd07-4cb5-adb6-b2f49c3311f2"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="f32e3d9a-3b3b-4157-9e6c-347eb9446a73"
            name="sendMessage"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="66a0b909-76ba-4ea4-821e-c7a7d9aaa707"
                  name="messageType"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="11698b29-e32c-43bb-b848-85101c859200"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="339bc2bc-2957-42de-924a-db4348a4fffb"
            name="getIP"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="1b0d0d49-711b-49cf-96a6-55f2b58172ec"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="30e8f32c-7a9b-4aa1-bb33-739178b6aabd"
            name="getPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="84f3b5d7-452c-4085-8827-552c6e8e7095"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="93035de3-a9b6-44eb-b54c-7ca037fa948e"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d05414b5-b5e5-466f-9f85-a0be8361b5b1"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="7faf54ec-f304-4501-aea4-f4e60c829634"
                      LastKnownName="INetConnectorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="76cb8e2f-a2ad-44df-be83-dd5c225fc57b"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f667a010-4a53-4867-b087-ba1cf83190d9"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="7faf54ec-f304-4501-aea4-f4e60c829634"
                      LastKnownName="INetConnectorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="7faf54ec-f304-4501-aea4-f4e60c829634"
        name="INetConnectorEventListener"
        isAbstract="false"
        isLeaf="false">
        <ownedOperations>
          <operation
            Id="7cf87ea3-05d0-4247-9c4e-69d4f68bc76f"
            name="onMessageReceive"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="b8c4dcfb-7e9f-4b58-a561-65b719bd56ec"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="562b006b-837c-4b1d-a268-80dfba95cd1f"
                      LastKnownName="INetConnector"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="1218f7a3-2445-4c25-a686-236dfd10ea45"
                  name="messageType"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="12c63334-0ea1-457e-9aa8-530723f25fb3"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="423222d5-d0d3-40a8-94eb-20f9e41fe716"
            name="onConnectionOpen"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="0eabcfb3-45e1-4758-bb1a-dd178f20a874"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="562b006b-837c-4b1d-a268-80dfba95cd1f"
                      LastKnownName="INetConnector"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="cca06eae-b044-4b5b-900b-09b4ed32ba57"
            name="onConnectionClose"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="8552b179-deae-4c4b-9ced-83087c707b1b"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="562b006b-837c-4b1d-a268-80dfba95cd1f"
                      LastKnownName="INetConnector"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="ffe53798-6966-4339-8dd3-a3f467a13cf3"
            name="onException"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="64fcfb83-b0ac-4877-866d-ff6bb390c3e7"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="562b006b-837c-4b1d-a268-80dfba95cd1f"
                      LastKnownName="INetConnector"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f997a939-1265-450c-b6a8-6f209683a7e9"
                  name="cause"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="5b941fda-1c13-4d2e-8c3d-cda3b9dfc283"
                      LastKnownName="Throwable"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="84183274-bcef-4b40-b241-ef8bae25ec7c"
        name="IServerLocationFinder"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="04a503bc-9bb3-46a1-b2de-2c97688c583b"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="4287144b-0fdd-4d38-a8d3-84a14660f278"
              LastKnownName="IServerLocationFinderEventListener"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ae835497-2bde-4b55-b768-81a471d435c1"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="781ec5df-fca2-4c39-952f-e01a04ba9b8e"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="18c25636-a224-4c85-bf35-ce67288dca56"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a48c425e-6d2c-4ea9-905d-d14194503425"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="87dd9acd-66e2-4b76-ab61-22fec4ce04d8"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="be76b6e5-810d-47a9-9b80-fdde671559a2"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperations>
          <operation
            Id="edb2838b-4df3-4752-81e9-6131b0cd982f"
            name="find"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="3b727a5b-228c-41b4-b1d6-8e4d2faecb15"
                  name="timeout"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="20c32626-1740-4a31-8a7a-0f9d797d43d9"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ed167622-122c-478b-a4e5-40d24ea0e352"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="4287144b-0fdd-4d38-a8d3-84a14660f278"
                      LastKnownName="IServerLocationFinderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5565661e-1e51-4912-b7e3-a2ede093d0f8"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="97d8138b-b2a9-4fc4-b832-280b8511a903"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="4287144b-0fdd-4d38-a8d3-84a14660f278"
                      LastKnownName="IServerLocationFinderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="4287144b-0fdd-4d38-a8d3-84a14660f278"
        name="IServerLocationFinderEventListener"
        isAbstract="false"
        isLeaf="false">
        <ownedOperations>
          <operation
            Id="5bd8107b-8cdb-4b44-9186-4bc0748d4f31"
            name="onFind"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="e95d0c99-f417-491d-a613-49b13c426663"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="84183274-bcef-4b40-b241-ef8bae25ec7c"
                      LastKnownName="IServerLocationFinder"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="70c267d8-7462-4b48-901b-355d904003ca"
                  name="foundServers"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="6289df97-586e-4bac-822d-4fdcc1b9ce4d"
                      LastKnownName="ArrayList&lt;String&gt;"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="6289df97-586e-4bac-822d-4fdcc1b9ce4d"
        name="ArrayList&lt;String&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="c18d42e5-46ed-4660-bbd8-5ad78ca5fbb4"
        name="IServerLocationResponder"
        isAbstract="false"
        isLeaf="false">
        <targetEnds>
          <association
            Id="10caf541-846d-4bc5-955b-bca74e256653"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="208ef417-1d0f-4052-8f84-0dedf264d0a3"
              LastKnownName="IServerLocationResponderEventListener"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="34da856a-bc1f-42d5-b4a6-fdfed857928c"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="e06ded54-9093-435c-92e9-090671aecca2"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="8940d298-5141-407d-9d2a-1572c852061d"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="41b20f7d-d633-4ef6-8fa4-9d5b9d39bb4a"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="220ce620-3870-4626-8827-a824f1e47a74"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="07e57dc5-64cf-4d59-ab79-2bffcdc1b341"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperations>
          <operation
            Id="18c835b6-23a4-4e12-bd80-c119d2a4f0b3"
            name="start"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="2fa44846-e5a4-4c49-b7ee-ee6fc128e19e"
            name="stop"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="41406f0f-48f5-4ca0-8406-3ec8792b61bc"
            name="isStarted"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="c9ccfb2a-e843-4edf-9653-2220d57a2f83"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="521a7a02-4340-42aa-a1bd-93032a2de054"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="7baa2c51-215e-46fa-9298-f061f006c752"
                      LastKnownName="IServerLocationResonderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="aa9b549c-581b-4a9a-bbe5-16d71f7640c3"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d07495ef-ffd6-451b-a38b-72d3c0236afb"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="208ef417-1d0f-4052-8f84-0dedf264d0a3"
                      LastKnownName="IServerLocationResponderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="208ef417-1d0f-4052-8f84-0dedf264d0a3"
        name="IServerLocationResponderEventListener"
        isAbstract="false"
        isLeaf="false">
        <ownedOperations>
          <operation
            Id="633c0547-709f-442f-b5d3-86c2eab6664c"
            name="onStart"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="5d48b9a0-9302-4dcf-8fe9-a9b1a2d44fc4"
                  name="sourceLIServerLocationResponder"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="2daad1bc-146c-4f03-8bc2-33104fd038d5"
            name="onStop"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="9d327e04-e970-4c13-a9c5-8498a53ae311"
                  name="sourceLIServerLocationResponder"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5e2953f1-a5da-473a-aed4-481105fcc2fb"
            name="onRequest"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="e5f8d979-d222-4e80-a30a-ace752bf909c"
                  name="source"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="c18d42e5-46ed-4660-bbd8-5ad78ca5fbb4"
                      LastKnownName="IServerLocationResponder"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="909349f1-f37b-4af7-927f-87914029baca"
                  name="requestIp"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="7baa2c51-215e-46fa-9298-f061f006c752"
        name="IServerLocationResonderEventListener" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="b4ea4781-4901-4a16-be05-32bcb465a90c"
        name="NetUtils"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedOperationsInternal>
          <operation
            Id="cd6ca737-b0f2-4d44-bde9-6ef242996aaa"
            name="GetInterfacesInfo"
            isLeaf="false"
            isStatic="true"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="75096cb5-ae94-4345-8a86-76d69e5f0848"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="40cea9e6-c6d1-4ead-9128-84d4be9e6f1d"
                      LastKnownName="ArrayList&lt;NetInterfaceInfo&gt;"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="40cea9e6-c6d1-4ead-9128-84d4be9e6f1d"
        name="ArrayList&lt;NetInterfaceInfo&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="8029b907-aecb-4532-b48f-26691c1e419e"
        name="NetInterfaceInfo"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedAttributesInternal>
          <property
            Id="cc9d0795-8473-44ee-8ba0-7da5ba508ec8"
            name="name"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                LastKnownName="String"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="cd4ad438-854f-4b3c-92ec-ef5146bba2c1"
            name="address"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="32ed7977-1054-468f-beff-23a2e5b5dbc3"
                LastKnownName="InterfaceAddress"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="f370f776-0036-4452-9041-cbbd69f15234"
            name="NetInterfaceInfo"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d8aeb94c-afc5-49fc-9b65-a33ef9ad90ea"
                  name="name"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d7e14da6-f034-4654-9c55-48d4a14c21cc"
                  name="inetAddress"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="32ed7977-1054-468f-beff-23a2e5b5dbc3"
                      LastKnownName="InterfaceAddress"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="3d2f7112-7000-48e2-8c4b-18024127b43f"
            name="getName"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="946978de-c180-43c3-a920-fe82bc52e284"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5c9f2be6-162a-47a5-9108-0b8982cddf13"
            name="getAddress"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d5f77b45-0670-4bf3-b602-75234c9923c2"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="4f001f3a-ff43-4434-9bfa-a1076655df25"
                      LastKnownName="InetAddress"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="752ad7d4-d1dd-4ed2-a452-230be9471212"
            name="getBroadcast"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="793437d9-8c1f-445b-906b-8c629f34e26e"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="4f001f3a-ff43-4434-9bfa-a1076655df25"
                      LastKnownName="InetAddress"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="dc742f91-571a-4fc8-be9c-e33d4ffb6310"
            name="getPrefixLength"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="90c51f3a-9898-41dd-b88c-b3d6de1d2039"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="d73cf041-7f9f-45a4-903b-61f82dd062a0"
                      LastKnownName="short"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="32ed7977-1054-468f-beff-23a2e5b5dbc3"
        name="InterfaceAddress" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="4f001f3a-ff43-4434-9bfa-a1076655df25"
        name="InetAddress" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="d73cf041-7f9f-45a4-903b-61f82dd062a0"
        name="short" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="2ee79425-680f-4c8c-a854-c4e734aa650b"
        name="NettyNetAcceptor"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="e2c9c87d-8395-42dc-a7f7-3e6086f2224f">
            <interfaceMoniker
              Id="3ba17bc0-93a7-4329-8b05-10bdc6256478"
              LastKnownName="INetAcceptor"
              LastKnownLocation="Diagrams.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="c5506ebf-cc9a-48f4-8685-09a63e3b7e39"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="8351a299-b69e-47e9-a496-d61f24c8102c"
              LastKnownName="INetAcceptorEventListener"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a47445ba-097a-4c7a-bfba-1d23ca6a6d36"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="bfc345f0-78fe-4225-94fd-b69cd78efbda"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="783d6cfb-5074-4c1d-8191-210ae033cef9"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="99dfc099-42b5-4374-be99-f9ab0c08e32b"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="f0bae65c-4c00-4b8a-80de-c9c324caa80b"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="13c8c5d1-b21a-480a-bb91-c330e8ca4f69"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="7e6c9c82-19fa-46c9-926d-91cd6ad74057"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
              LastKnownName="ISerializer"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a6518c39-9a15-4e88-91ae-c71af62204fd"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="78ceb09a-1a95-4818-9801-8259c2a1f057"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="aca145a7-0ed2-40b9-a0db-b3027f996a9c"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="5e8e66a5-3021-4e48-8ba5-e5753b5121f8"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="b2657989-d5a7-402b-b846-a3173f0aa78b"
            name="eventListeners"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="3b2dc2e5-3cba-4f92-a186-d3dfadd613fe"
                LastKnownName="ArrayList&lt;INetAcceptorEventListener&gt;"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="989cf16c-cc83-4100-8459-c01a7ea83aa1"
            name="ip"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                LastKnownName="String"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="a1d20845-82ae-4e00-bca6-1f491e652811"
            name="port"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="220a3521-e091-4221-bae9-3ef9018e845c"
                LastKnownName="Integer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="119cd855-c640-4c16-af25-1e0732293643"
            name="messageSerializer"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="d07d17a8-3cfd-418d-a9dc-75c49ea78893"
                LastKnownName="ISerializer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="5339ea71-0032-4240-949d-7218011d37f6"
            name="isStarted"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                LastKnownName="Boolean"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="0bb8b64d-7e7a-4361-844b-6fcc8d7d430d"
            name="bossGroup"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="c01f7f7d-ae5f-46d0-83c2-5865824c36fb"
                LastKnownName="EventLoopGroup"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="31377278-2150-4934-9a39-3eea3a934cf9"
            name="workerGroup"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="c01f7f7d-ae5f-46d0-83c2-5865824c36fb"
                LastKnownName="EventLoopGroup"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="40177c94-d8ca-4363-be65-6b356bd694bf"
            name="server"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="8c1694cb-39f7-46d2-b167-8da889692090"
                LastKnownName="ServerBootstrap"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="d7f236a8-03a2-46fd-9710-49b0c71c04d2"
            name="binded"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="ab521dd0-f4e7-4200-a79c-9c11c6f9a891"
                LastKnownName="ChannelFuture"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="3635f77d-870b-4dea-aebc-b1d3244fe593"
            name="NettyNetAcceptor"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="80820cc7-079b-4a00-9f94-e9f388288feb"
                  name="ip"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="138d2b53-89f6-4258-b3d3-747bca86342d"
                  name="port"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="b7e53df4-ce7b-4d8f-9528-9564999c502e"
                  name="serializer"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="d07d17a8-3cfd-418d-a9dc-75c49ea78893"
                      LastKnownName="ISerializer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="a18907c0-a3e4-4218-8452-a82212a99837"
            name="fireOnStop"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="e6d1c1b0-2596-41f2-9fac-15525fc2185c"
            name="fireOnStart"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="9126b2b8-f5ba-485e-bc77-e824582c3d73"
            name="fireOnNewConnection"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="31275123-b154-4bab-ba37-a794d96aa3cc"
                  name="connection"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
                      LastKnownName="IConnection"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="f1af3b18-9ac3-4700-b2f6-2a72e213c1ea"
            name="start"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="781fa273-ea6f-4fca-82b3-75986bb2e9f9"
            name="stop"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="9d1620d4-86a5-4d8d-8e58-02ffe028f831"
            name="isStarted"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="17858221-3ec5-498c-bcc1-c0fa3fca2fe1"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="a4ea2ab3-4a81-4117-91c1-9c009e8113e4"
            name="getIP"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="58ed5865-d88e-407d-8ac0-b5406eabfb3a"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="fd130155-9fa3-4b33-a8e5-c33c996e5a83"
            name="getPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="6f22e766-11c4-46aa-9839-5d1b108b4d43"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="fb1e8246-38e8-4b2b-9c1f-28d3bdce7851"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="6f3b81e8-5947-4f8c-9f33-f8df4dcd2245"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="8351a299-b69e-47e9-a496-d61f24c8102c"
                      LastKnownName="INetAcceptorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="9e1de8ed-12bf-4999-9877-77eedce458b0"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d24a1f7d-7918-45bc-b766-b6c5f549a93c"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="8351a299-b69e-47e9-a496-d61f24c8102c"
                      LastKnownName="INetAcceptorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="3b2dc2e5-3cba-4f92-a186-d3dfadd613fe"
        name="ArrayList&lt;INetAcceptorEventListener&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="d07d17a8-3cfd-418d-a9dc-75c49ea78893"
        name="ISerializer" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="c01f7f7d-ae5f-46d0-83c2-5865824c36fb"
        name="EventLoopGroup" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="8c1694cb-39f7-46d2-b167-8da889692090"
        name="ServerBootstrap" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="ab521dd0-f4e7-4200-a79c-9c11c6f9a891"
        name="ChannelFuture" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
        name="ISerializer"
        isAbstract="false"
        isLeaf="false">
        <ownedOperations>
          <operation
            Id="13e0710f-9c53-46f0-ae3b-f8d3b3b6f25f"
            name="serialize"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="17271939-d30b-4fd1-ba68-4ae78e1e10d4"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="de7d7813-1cd3-4f43-8dce-dd2efebeb9b2"
                  name="messageLObject"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="43511349-37dd-494d-ac0d-1d3f912ee47a"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                      LastKnownName="byte[]"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="201793fb-9d66-4149-95e5-8b5004e936ee"
            name="deserialize"
            isLeaf="false"
            isStatic="false"
            isAbstract="true"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f4919358-8e3c-4559-b80e-93f872316a4b"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="646a9b40-cbca-4783-a34f-cd7d1ef4d756"
                  name="bytes"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                      LastKnownName="byte[]"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="bf2d22e6-2c00-4bcd-9a01-9af1fc1a914b"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperations>
      </Interface>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
        name="byte[]" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="cfef9688-9c55-415a-ba32-373a984ab6d3"
        name="ProtoBufSerializer"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="8c73db33-a344-40a3-ba89-3a6cfa4fc2c4">
            <interfaceMoniker
              Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
              LastKnownName="ISerializer"
              LastKnownLocation="Diagrams.uml" />
          </interfaceRealization>
          <dependency
            Id="65e2d274-4bf8-463e-b28c-93fbeeb40782">
            <classMoniker
              Id="32f5d607-bf3d-4af7-9031-08af5592ed8a"
              LastKnownName="MessageType"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="bf4b8fae-4aca-45fd-a421-c753496f0802"
            name="serialize"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="07b28058-cfab-4aa9-9a57-69ba35256b72"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="29e913ef-773f-4d34-9cf2-2a7cbe50d022"
                  name="messageLObject"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="afd295c4-6c18-4c6a-bc4d-3136acc94391"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                      LastKnownName="byte[]"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="fa230e05-8f76-4135-a876-5583dc944cc2"
            name="deserialize"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ba1bddaa-b3aa-4e49-919b-f28cdc1162c8"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="69ab016b-ea20-497f-90cb-fc8851abbadd"
                  name="bytes"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                      LastKnownName="byte[]"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="de63b227-b106-4d6e-bc7e-74d74c94faa1"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="381faf20-d816-42a4-8e95-935fbf3447e6"
        name="NettyNetConnector"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="3c9b2d0b-cd8d-4237-8d2c-fb7d29a0afa5">
            <interfaceMoniker
              Id="562b006b-837c-4b1d-a268-80dfba95cd1f"
              LastKnownName="INetConnector"
              LastKnownLocation="Diagrams.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="cc09b576-8989-42fa-81da-2b53415cb36d"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="7faf54ec-f304-4501-aea4-f4e60c829634"
              LastKnownName="INetConnectorEventListener"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="2b4b55a8-0470-40a0-a4a6-54226a934a42"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="1884d1a7-c6f8-43ee-bdf2-8147adcfda50"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="653418c2-3d33-4866-a013-866e657a8c45"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a95405c7-cdb2-47a4-956d-0947f212346a"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="fa331c27-5989-4554-92fe-332b2dfaf80e"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="0d11f8f3-0ca6-4438-ac8b-8c03f8702649"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="10c4362c-8830-46d6-91ba-bf0b9f20a74f"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
              LastKnownName="ISerializer"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6cd6267b-7121-49e6-8f99-ffe36a4a2f1f"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="b2500bd3-dc18-4ecf-a2e5-6fa5ba119a33"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="53cedba2-affa-4ba4-8e7b-4dfe4cd4d297"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="990d84bf-c901-4a58-bfb9-04245c1741d3"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="d6401436-ee83-47fb-ac67-766ab0db23a9"
            name="eventListeners"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="dde8dfc2-123a-4158-a528-6302c2e1c9c6"
                LastKnownName="ArrayList&lt;INetConnectorEventListener&gt;"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="f69b6df5-0a19-43c7-bcf0-4efe3cc548ee"
            name="ip"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                LastKnownName="String"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="4ba42a45-7c82-4344-98a4-893050432000"
            name="port"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="220a3521-e091-4221-bae9-3ef9018e845c"
                LastKnownName="Integer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="d110be32-e1a7-44bf-98fc-3c760f97e558"
            name="isConnected"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                LastKnownName="Boolean"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="349635f0-be57-4008-9349-7bad207f3103"
            name="workerGroup"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="c01f7f7d-ae5f-46d0-83c2-5865824c36fb"
                LastKnownName="EventLoopGroup"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="b953f83e-8c18-4650-b01d-4926758e6272"
            name="client"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="91b4b43d-a6ba-4bfc-8eca-d8adb2ae42d6"
                LastKnownName="Bootstrap"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="8551e887-9963-42b4-b08d-fa4e576839cb"
            name="channel"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="6af5e4be-b303-47d8-aaac-6bdb508ecd2a"
                LastKnownName="Channel"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="c4bdd277-49cb-40a8-b862-25c8b19428cb"
            name="NettyNetConnector"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="b0e25c71-34b3-4a23-985e-84cfc89984ad"
                  name="ip"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f4b6d55d-9d62-449e-a4bb-5fd3326fd8d0"
                  name="port"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="13ab81e4-4466-4bd0-9555-653895f60d5f"
                  name="serializer"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
                      LastKnownName="ISerializer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="6fc59989-6de9-48cf-b100-526468e53550"
            name="initBootstrap"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="af2ba748-bcc3-4612-a363-e78f63890939"
            name="fireOnConnectionOpen"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="0da867c2-6c53-41c2-ab08-a381a18bb62b"
            name="fireOnConnectionClose"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="6072fc38-9917-4c7f-a486-6da9dccb5fc6"
            name="fireOnException"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="13d9dc1e-10ec-4e71-bdf1-c3178a91d03a"
                  name="cause"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="5b941fda-1c13-4d2e-8c3d-cda3b9dfc283"
                      LastKnownName="Throwable"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="cfcfd5be-ed54-4a51-95a7-8beaeb45d566"
            name="fireOnMessageReceive"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="32316040-8137-4c3e-a046-5699b3624696"
                  name="messageType"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="99e5eff5-7a02-4322-80e3-145df7272442"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="39fdec7d-c490-4223-bf2b-2b189b9a6331"
            name="connect"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="10ae47ac-a7d2-45d7-924b-55406a0e8226"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="8e8babc7-5eb7-41c7-86a8-8680d0072982"
            name="disconnect"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="c2a41f80-27bd-4acc-88f5-120f47fadf5a"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="2b84224f-f09e-499c-8515-98ce0027b66b"
            name="isConnected"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="cb21eb5c-389b-4802-ac98-ce47ba0c1240"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                      LastKnownName="Boolean"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="db74428e-2961-48c4-8684-bd6b64ab3646"
            name="sendMessage"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="db27be46-3ace-4a57-8fcc-d6b7b84580e0"
                  name="messageType"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ba6ddf5d-c811-4b29-a05c-92fa426f7d95"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="89422ebc-d4ed-4b0b-8689-1ee5b5242103"
            name="getIP"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="11068da4-cc27-4915-a9fc-0a9582ae4a18"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="b96b7ee9-81dc-44b7-9b5d-598d18b95c0e"
            name="getPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="c2666d02-010e-480f-82be-5b95426dc8b9"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="bc00254e-5c5c-4b37-ad46-4c7b9be60fd1"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="21591d61-f80a-4ed2-b07a-3cf829a27508"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="7faf54ec-f304-4501-aea4-f4e60c829634"
                      LastKnownName="INetConnectorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="2c1882b6-78a2-4c54-b8d9-1c162f89e21d"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="5256b505-217e-4c8c-a419-61119c035828"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="7faf54ec-f304-4501-aea4-f4e60c829634"
                      LastKnownName="INetConnectorEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="dde8dfc2-123a-4158-a528-6302c2e1c9c6"
        name="ArrayList&lt;INetConnectorEventListener&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="91b4b43d-a6ba-4bfc-8eca-d8adb2ae42d6"
        name="Bootstrap" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="6af5e4be-b303-47d8-aaac-6bdb508ecd2a"
        name="Channel" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="ca081e57-a49d-4a58-aaa4-24d71fe2f0f9"
        name="NettyServerLocationFinder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="021d30f8-034c-4fcd-bc7d-f4cd45f62422">
            <interfaceMoniker
              Id="84183274-bcef-4b40-b241-ef8bae25ec7c"
              LastKnownName="IServerLocationFinder"
              LastKnownLocation="Diagrams.uml" />
          </interfaceRealization>
          <dependency
            Id="5d2d471f-313e-414e-b8bc-84dcff8ff83f">
            <interfaceMoniker
              Id="4287144b-0fdd-4d38-a8d3-84a14660f278"
              LastKnownName="IServerLocationFinderEventListener"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <ownedAttributesInternal>
          <property
            Id="fbd9f8c4-0044-4835-a236-dd20b23dc7f9"
            name="listeners"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="c6f6e0e6-376b-44cd-b012-3bccf5078e50"
                LastKnownName="ArrayList&lt;IServerLocationFinderEventListener&gt;"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="ab9afe80-e5a7-45a2-93bf-f63a0b1eaae5"
            name="sIp"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                LastKnownName="String"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="60548c83-83be-4da1-8ddd-80e72712cd7a"
            name="sPort"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="220a3521-e091-4221-bae9-3ef9018e845c"
                LastKnownName="Integer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="28d23e3d-95e0-44dd-a115-3a2a28bdfc2f"
            name="bootstrap"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="91b4b43d-a6ba-4bfc-8eca-d8adb2ae42d6"
                LastKnownName="Bootstrap"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="0859990c-5b38-4b40-8479-c58463e30641"
            name="channel"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="6af5e4be-b303-47d8-aaac-6bdb508ecd2a"
                LastKnownName="Channel"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="c13aead2-69d2-4513-b6a7-49cdd22a3586"
            name="timer"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="ed771b04-aa43-49e6-9e8d-1422a84c5ae0"
                LastKnownName="Timer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="3f35b1df-4aff-4581-bc80-da793bcbc3a3"
            name="responces"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="6289df97-586e-4bac-822d-4fdcc1b9ce4d"
                LastKnownName="ArrayList&lt;String&gt;"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="26ab8f8e-424d-4455-b9d3-d77b7c928260"
            name="NettyServerLocationFinder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="7ea06a39-222c-49f6-8c68-6d8060441846"
                  name="ip"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="548e9ed4-bee3-4d34-b5bd-f6bb6f04a504"
                  name="port"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="692fcf83-6baa-4a81-a0e2-59fc47867b23"
            name="getIp"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="44286520-2c1d-42b8-95b4-69a888f26fbf"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="53fcea0b-3364-4fad-b1f9-8e5f44ed1773"
            name="setIp"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="becb653e-72d9-471f-8e29-9e221062c4c7"
                  name="ip"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="2156ef52-d7a9-40a2-98d4-c45a9f1589b7"
            name="getPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="76f94020-2b48-478d-a16d-6d3ded80f88d"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="a4aa8496-d986-48c7-bf8a-92f18076496d"
            name="setPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ae601d52-1b5e-49eb-aec9-93a28bb20794"
                  name="port"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="b6dadbf7-35b1-4155-8201-33ce65275004"
            name="find"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="b65e3773-d135-4b64-b742-209708527680"
                  name="timeout"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="74dac8ab-0f70-462d-be8b-05009beb143f"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="3d65df0e-1394-442c-aaaa-e0a4bd220c30"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="4287144b-0fdd-4d38-a8d3-84a14660f278"
                      LastKnownName="IServerLocationFinderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="becd9730-a1e3-4dfb-8681-55e654e7b4bd"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="6377876b-5516-466f-9aa1-430e5e180166"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="4287144b-0fdd-4d38-a8d3-84a14660f278"
                      LastKnownName="IServerLocationFinderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="c6f6e0e6-376b-44cd-b012-3bccf5078e50"
        name="ArrayList&lt;IServerLocationFinderEventListener&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="ed771b04-aa43-49e6-9e8d-1422a84c5ae0"
        name="Timer" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="f0de5ea5-eb48-4d7a-8afa-0dc67bd5b048"
        name="NettyServerLocationResponder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="bc096b2d-748d-467c-9648-0bac1bf5d961">
            <interfaceMoniker
              Id="c18d42e5-46ed-4660-bbd8-5ad78ca5fbb4"
              LastKnownName="IServerLocationResponder"
              LastKnownLocation="Diagrams.uml" />
          </interfaceRealization>
          <dependency
            Id="5faa4a74-ce0b-424c-8745-7710c8149bfb">
            <interfaceMoniker
              Id="208ef417-1d0f-4052-8f84-0dedf264d0a3"
              LastKnownName="IServerLocationResponderEventListener"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <ownedAttributesInternal>
          <property
            Id="f0d81f22-11a1-40ee-9110-5577a57e2f4a"
            name="listeners"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="294146c0-f5b7-4e58-8efb-16607690152a"
                LastKnownName="ArrayList&lt;IserverLocationResponderEventListener&gt;"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="cbd72af0-2fdc-4e98-9b5f-8f442baac6d4"
            name="rIp"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                LastKnownName="String"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="43021cfe-cd4e-4001-9180-de98fc49adf0"
            name="rPort"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="220a3521-e091-4221-bae9-3ef9018e845c"
                LastKnownName="Integer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="c36c57da-6be2-4eda-8ddb-9e7f2c413fee"
            name="sIp"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                LastKnownName="String"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="a09b0968-5b24-4adf-b97f-da2112d57806"
            name="sPort"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="220a3521-e091-4221-bae9-3ef9018e845c"
                LastKnownName="Integer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="726e8f05-5af0-435f-8e5a-48ff39fa1592"
            name="isStarted"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
                LastKnownName="Boolean"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="bdb4a6c9-2dc3-43b0-b243-8491151409ef"
            name="bootstrap"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="91b4b43d-a6ba-4bfc-8eca-d8adb2ae42d6"
                LastKnownName="Bootstrap"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="0f8c327d-7f1d-435a-b1f3-4fbd6f1855df"
            name="channel"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="6af5e4be-b303-47d8-aaac-6bdb508ecd2a"
                LastKnownName="Channel"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="7cb07169-079c-4ffd-976e-942acbf02e6e"
            name="NettyServerLocationResponder(responderIp:String, responderPort:Integer, serverIp:String, serverPort:Integer"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="b8eab54a-df0e-436f-95b0-11a8865a9499"
            name="getServerIp"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="748673e1-f7dc-4aec-b13a-ca8fb1e0d845"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="af6fc7aa-3084-406a-94a0-e3901770f5f4"
            name="setServerIp"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="0654b031-94c0-43bb-82d1-e1902455cfe4"
                  name="serverIp"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="356a5da7-e68c-45d9-ac41-36f4d224e5b2"
            name="getServerPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f9926042-96e8-4984-b027-4d7b7367d845"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="28c640c5-e8f3-4144-9e8f-9449478797eb"
            name="setServerPort"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="eeb57dd7-84e3-49f6-8c22-c8102e917309"
                  name="serverPort"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="220a3521-e091-4221-bae9-3ef9018e845c"
                      LastKnownName="Integer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="4a9d7d76-15a9-4147-9efc-50b67cec7813"
            name="fireOnStart"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="d9653a62-5511-4185-9474-793966112d99"
            name="fireOnStop"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="924f06a6-e43e-45cb-8b4b-887fba0ad4c6"
            name="fireOnRequest"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f62a55d7-4ff6-4d31-8db4-1b4b768323c1"
                  name="ip"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="9e925b4a-8e78-4352-8960-4226db00a66e"
            name="start"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="0c093aef-126f-4bcf-a897-5b4515469349"
            name="stop"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="851098b5-9b93-4eb8-8baa-566800c230fd"
            name="isStarted"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="a8487687-4ad1-4e4a-882f-3fbee05db92c"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="6bd73f82-154d-4d11-b18b-fb067eb54bb2"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="7baa2c51-215e-46fa-9298-f061f006c752"
                      LastKnownName="IServerLocationResonderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5aa843f7-04ef-4e3c-82df-cb32c5393510"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="183f1f87-aab9-4d3d-94b7-9c64bb3f1334"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="208ef417-1d0f-4052-8f84-0dedf264d0a3"
                      LastKnownName="IServerLocationResponderEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="294146c0-f5b7-4e58-8efb-16607690152a"
        name="ArrayList&lt;IserverLocationResponderEventListener&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="6985fca1-da27-453c-8289-68c14df4700f"
        name="NettyConnectionHandler"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="e9b8053d-6a9a-4de2-85fa-c0ea6b5f63ca">
            <interfaceMoniker
              Id="3faa66c7-6420-45ae-a8e7-6f560a226614"
              LastKnownName="IConnection"
              LastKnownLocation="Diagrams.uml" />
          </interfaceRealization>
          <dependency
            Id="bfd4c858-44cf-4025-b389-93f8279c20a0">
            <classMoniker
              Id="a66a66ce-8bde-46f7-88bb-c775d1b84721"
              LastKnownName="MessageHolder"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <generalsInternal>
          <generalization
            Id="6ae22f77-4b86-47c1-932a-cf4906e58e36"
            isSubstitutable="false">
            <classMoniker
              Id="4b844dd9-8d8d-4b70-8d91-fc4616f8baed"
              LastKnownName="ChannelInboundHandlerAdapter"
              LastKnownLocation="Diagrams.uml" />
          </generalization>
        </generalsInternal>
        <targetEnds>
          <association
            Id="0f499efd-5a82-4a82-9b88-07d305c24250"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="9c52ed2e-b0a1-47d9-981e-f4b98b68c56e"
              LastKnownName="IConnectionEventListener"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="836a3da0-9b19-486e-8034-34b6283890d5"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="c664f9a7-b043-496c-b2be-fb4e4eb0e674"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="391384c2-3aab-4fb5-a7f0-5a846810bde6"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ff608ba8-1711-4bf7-a37f-2719a6123027"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="2c2ae6bd-049d-4648-a786-87040accc5f6"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="44083aaa-ce5a-418c-bee2-bbc25fcf2120"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="17c823af-d510-498d-98af-0def93adfee7"
            name="channel"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="6af5e4be-b303-47d8-aaac-6bdb508ecd2a"
                LastKnownName="Channel"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="94812491-357c-4d93-a3a4-58bd5afe329f"
            name="eventListeners"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="d1f3a61a-7c59-4744-aa9f-4b7d7f966a26"
                LastKnownName="ArrayList&lt;IConnectionEventListener&gt;"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="e949d9fc-ae14-4312-8e7e-01d5a56265f0"
            name="NettyConnectionHandler"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="1a2f8f28-2feb-4044-af85-7358962af07d"
            name="sendMessage"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="9d1d5f09-a720-4803-9aec-a861474ccd7b"
                  name="messageType"
                  direction="In">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="c694b860-8cac-43a9-80ff-098196fd2bb9"
                  name="message"
                  direction="In">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="759acaeb-616a-4efa-95a6-f254e34e2729"
            name="disconnect"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="056dfb39-b2c9-4907-bc5e-f728c1b5e2cf"
            name="addEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d5a4982b-7cb7-47f6-a285-ca64fdf26271"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="9c52ed2e-b0a1-47d9-981e-f4b98b68c56e"
                      LastKnownName="IConnectionEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="68a53172-b2cb-4c35-a7fb-c5a05303d0f3"
            name="removeEventListener"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d5cd3d2b-511a-4843-aa11-dd413f94a9dc"
                  name="listener"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="9c52ed2e-b0a1-47d9-981e-f4b98b68c56e"
                      LastKnownName="IConnectionEventListener"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="d1f3a61a-7c59-4744-aa9f-4b7d7f966a26"
        name="ArrayList&lt;IConnectionEventListener&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="4b844dd9-8d8d-4b70-8d91-fc4616f8baed"
        name="ChannelInboundHandlerAdapter"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="1b2705b8-4a91-436f-9a8d-f3ae922dac10"
        name="Channel"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="6c1b125b-08ea-4b31-b790-d2f590b20ae9"
        name="Bootstrap"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="8127c78d-20e3-4d09-8f99-ac313e3572bf"
        name="EventLoopGroup"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="84ced4d1-2a01-4f30-9856-fab993512a85"
        name="ServerBootstrap"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="300822d8-783e-40f5-8a4d-5aaeb620ee22"
        name="ChannelFuture"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="dd6daa92-b0e5-401d-b361-75be6eb69329"
        name="MessageDecoder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="bf60fa9a-aa04-48d5-9f80-4a60819dabf1">
            <classMoniker
              Id="6c184025-8fd3-4eb0-bd83-3e532b07c753"
              LastKnownName="PacketHolder"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="69cc01c1-3270-4458-b7af-653819f1d8df"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="a66a66ce-8bde-46f7-88bb-c775d1b84721"
              LastKnownName="MessageHolder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="628ece73-aced-436e-9376-7f4cc4ffe470"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="32b71343-7204-4a8f-80a0-d09a57ca240e"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="0eed96af-ba5f-4b37-b72d-65f61dc477fc"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="1cd6ebc5-fbc2-494b-a221-9e1aae248d39"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="885840a1-6052-443d-89e7-88314c36fba6"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
              LastKnownName="ISerializer"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a5446f6e-d744-4d63-b05f-875b11fe9138"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="e56ba4b1-3981-48c0-bfce-d65919531598"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="15334447-b02e-4977-b07f-9d9cda43444d"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a01c7bce-a459-4680-8e18-a04f238e1b03"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="596faa64-f0ab-41f4-8017-14376f5072dc"
            name="serializer"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <interfaceMoniker
                Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
                LastKnownName="ISerializer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="3cebebad-3386-4022-bf71-ce59612d4cf8"
            name="MessageDecoder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="421a24a3-2341-4af0-92ba-12b7ac3d1c4d"
                  name="serializer"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
                      LastKnownName="ISerializer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="4325a5aa-cecb-499d-8ba3-4e62862e8baa"
            name="decode"
            visibility="Protected"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="4f395d73-8467-4927-8c7c-20f8917475ea"
                  name="ctx"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="542a9d19-a6a6-4dc1-85c4-bd99608b5584"
                      LastKnownName="ChannelHandlerContext"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="5d487f8d-cbcc-4ca4-baf6-de6aa0989f6c"
                  name="packet"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="ce7d3b3c-a497-4d77-af53-05585a44f8c3"
                      LastKnownName="PacketHolder"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="46f04a1b-325b-4bd3-8265-91663fa493bf"
                  name="messages"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="8e42b9d5-07bf-4152-b244-e52350025f7b"
                      LastKnownName="List&lt;Object&gt;"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="542a9d19-a6a6-4dc1-85c4-bd99608b5584"
        name="ChannelHandlerContext" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="ce7d3b3c-a497-4d77-af53-05585a44f8c3"
        name="PacketHolder" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="8e42b9d5-07bf-4152-b244-e52350025f7b"
        name="List&lt;Object&gt;" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="8484a5a3-28e9-40b8-9f72-492dd5f9de0a"
        name="MessageEncoder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="c8c90267-3d94-459a-999d-9705c83993e9">
            <classMoniker
              Id="a66a66ce-8bde-46f7-88bb-c775d1b84721"
              LastKnownName="MessageHolder"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="4ab78143-b520-4580-a57b-f7dbd7a5248c"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="6c184025-8fd3-4eb0-bd83-3e532b07c753"
              LastKnownName="PacketHolder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="13f58bef-3d6b-4e2d-838c-cf48f84cc7c4"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a378da89-8a73-44fd-85a6-da4ded803b40"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="90ff3588-6a07-4663-a34a-f3b6a28f858e"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="3af6fadd-36aa-4368-8125-df8833ab04b1"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="3391ca03-4cff-4277-94b1-8061cedece74"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <interfaceMoniker
              Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
              LastKnownName="ISerializer"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="a53deb5d-787f-4fbe-8bbb-9b5262bb8920"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Shared"
                  isComposite="false"
                  isNavigableOwned="false">
                  <lowerValueInternal>
                    <literalString
                      Id="65dbd295-5fac-4875-9b17-1f4959059655"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="91361f82-2166-4b95-adaa-796882b10ca3"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="d4433b73-4f7a-4221-bf54-7e0a5b9b391f"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="bcd00fd7-ca19-4107-aa41-acb328d93e34"
            name="serializer"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <interfaceMoniker
                Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
                LastKnownName="ISerializer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="e855a7dd-3f05-45d6-a3be-dce1ea53a3eb"
            name="MessageEncoder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="24b20004-683c-459c-8083-bdbeaf24e86c"
                  name="serializer"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="13fd4b65-06fc-48ac-8cc4-fde0f66344c5"
                      LastKnownName="ISerializer"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="1ecf32c0-bca4-4c6d-bc65-566650c3368e"
            name="# encode"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="1f37c16c-8d48-4f80-839b-f9d5b071111b"
                  name="ctx"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="542a9d19-a6a6-4dc1-85c4-bd99608b5584"
                      LastKnownName="ChannelHandlerContext"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="0c0cbefe-9ec3-4ffa-b221-458254be9365"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="808ce8b0-5bd1-40a4-8e12-f245d21d9033"
                      LastKnownName="MessageHolder"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f5ee106e-e68a-4db0-a156-be96b10c9d63"
                  name="packets"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="8e42b9d5-07bf-4152-b244-e52350025f7b"
                      LastKnownName="List&lt;Object&gt;"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="808ce8b0-5bd1-40a4-8e12-f245d21d9033"
        name="MessageHolder" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="a66a66ce-8bde-46f7-88bb-c775d1b84721"
        name="MessageHolder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedAttributesInternal>
          <property
            Id="aa9f6fe6-24a0-4409-acc2-8202b0acacbf"
            name="type"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                LastKnownName="byte"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="da017e68-1bd4-48c4-b8da-b183a5ae168f"
            name="message"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                LastKnownName="Object"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="7678e64e-de50-48d0-b499-b3390aa7737e"
            name="MessageHolder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ac618118-4692-48df-8894-bc9221378c21"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a21e3d2c-1c35-48ea-a982-eebc0efb3ce7"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="fb568765-de34-4cd8-a8ca-57659830a71f"
            name="MessageHolder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="e165ee9b-f32b-4b51-9dc5-34c0237aae76"
            name="getType"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="55e2155f-2f33-491e-a5e1-e225fa455d08"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="85b2da44-acb2-48e2-95fb-25efd70f15dc"
            name="setType"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="83f37bc5-67cd-4cde-96b7-a0eb3a4f597a"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="0c708db1-109b-48b9-b835-d1680d9de21c"
            name="getMessage"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="915b3ffa-e41d-4c99-b363-a48f1983ae3f"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="83313359-14b6-4cfb-9e30-87dd8ad76e41"
            name="setMessage"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="998c941f-e7c2-4274-985e-46845603a8bf"
                  name="message"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a490eeb3-e25c-4cf1-8690-f80a55bac91e"
                      LastKnownName="Object"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="6c184025-8fd3-4eb0-bd83-3e532b07c753"
        name="PacketHolder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedAttributesInternal>
          <property
            Id="ba07f718-b320-418a-944f-c724ceb9903e"
            name="type"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                LastKnownName="byte"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="450efd9a-0af8-4aac-99e3-47aca3687e0d"
            name="data"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                LastKnownName="byte[]"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="c9bcd9f7-15f4-47de-a6a8-e029767a2180"
            name="PacketHolder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="23c7528d-0162-45e2-b179-73524d3f23a5"
            name="PacketHolder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="51476e8b-dd31-410e-8a0b-2d61a32431c1"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="918de891-5196-45b5-a1ca-8388cf07b9d1"
                  name="data"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                      LastKnownName="byte[]"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="037f97cb-9249-4d41-850b-93fb623c1bf8"
            name="getType"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d4586662-b9d8-4051-9963-fa272642766a"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5a22f347-7e4a-4134-956f-d6981a1925a2"
            name="setType"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="129cadeb-4021-4a07-8749-15be1ac70103"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                      LastKnownName="byte"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="2c3b7b06-0fe6-4d49-ab53-7cd0b7f9f93c"
            name="getData"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="569b6a2a-33f7-4133-a277-454791a80fe2"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                      LastKnownName="byte[]"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="f7d7c3c0-c0b4-4d5d-982b-89441914f3f8"
            name="setData"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="6d9e8f5c-ec1f-4525-94e1-2eb3cf993a1a"
                  name="data"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                      LastKnownName="byte[]"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="d811b507-6d06-4e8a-b5e2-498e9b90c77c"
        name="PacketDecoder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="91101370-2718-46f0-82a1-dddc385da9dc"
            isDerived="false"
            sourceEndRoleName=""
            targetEndRoleName=""
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="6c184025-8fd3-4eb0-bd83-3e532b07c753"
              LastKnownName="PacketHolder"
              LastKnownLocation="Diagrams.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="b4990ae5-a12e-4b01-86f3-c1780b1da987"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="2e55524f-7f1c-4379-b0eb-44ac7ddc5c73"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false">
                  <lowerValueInternal>
                    <literalString
                      Id="9754b48e-0a47-4fb4-becf-65feff250e4f"
                      name="Lower"
                      value="*" />
                  </lowerValueInternal>
                  <upperValueInternal>
                    <literalString
                      Id="8f7d48c1-175d-4d19-a38b-11dd3ddfed00"
                      name="Upper"
                      value="*" />
                  </upperValueInternal>
                </memberEnd>
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="922a143b-43eb-4745-ba00-8eaa22da29db"
            name="type"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                LastKnownName="byte"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="d5b6a9de-219d-4748-a4eb-9a7ab90e6e56"
            name="length"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <primitiveTypeMoniker
                Id="220a3521-e091-4221-bae9-3ef9018e845c"
                LastKnownName="Integer"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="68a0f4b0-f108-43dc-b0c8-40feeadaeb3b"
            name="data"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="a6dd247a-7bb0-4ddc-b2e1-1a4ada6e9873"
                LastKnownName="byte[]"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="ce096542-31a6-409f-b43f-614e346aae0e"
            name="PacketDecoder"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="993ad3b1-e1bd-4ce7-9f2c-8d1bf81bfcba"
            name="decode"
            visibility="Protected"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="14d77c82-56b1-4875-abf2-e01fca6d92ed"
                  name="ctx"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="542a9d19-a6a6-4dc1-85c4-bd99608b5584"
                      LastKnownName="ChannelHandlerContext"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="9a2fb4eb-8bae-4d49-ab66-e7aeff8a1596"
                  name="buf"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6d03473-49b6-4c67-9e86-5b4e6066db08"
                      LastKnownName="ByteBuf"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a0a37c40-868b-44dc-9e54-20e3ecffd33b"
                  name="out"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="8e42b9d5-07bf-4152-b244-e52350025f7b"
                      LastKnownName="List&lt;Object&gt;"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="a6d03473-49b6-4c67-9e86-5b4e6066db08"
        name="ByteBuf" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="7e1e97f3-b725-432d-9875-550993fae740"
        name="PacketEncoder"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="bc5ccc02-f36c-429e-8389-87a7d0a4fef1">
            <classMoniker
              Id="6c184025-8fd3-4eb0-bd83-3e532b07c753"
              LastKnownName="PacketHolder"
              LastKnownLocation="Diagrams.uml" />
          </dependency>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="e6898716-98bc-4766-9a56-2d617ac5b8ee"
            name="encode"
            visibility="Protected"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="21dba0ba-b761-462f-96da-5330bb980ab1"
                  name="ctx"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="542a9d19-a6a6-4dc1-85c4-bd99608b5584"
                      LastKnownName="ChannelHandlerContext"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="67c0d31a-8f2f-477b-8258-3c3d583b7b11"
                  name="packet"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <classMoniker
                      Id="6c184025-8fd3-4eb0-bd83-3e532b07c753"
                      LastKnownName="PacketHolder"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a8feb236-b8d3-41df-b0fa-585f5cc3bf77"
                  name="buf"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="a6d03473-49b6-4c67-9e86-5b4e6066db08"
                      LastKnownName="ByteBuf"
                      LastKnownLocation="Diagrams.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="32f5d607-bf3d-4af7-9031-08af5592ed8a"
        name="MessageType"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedAttributesInternal>
          <property
            Id="dccddc69-b1e9-46f3-a9ee-b254215bd255"
            name="MESSAGE"
            isLeaf="true"
            isStatic="true"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="331ad614-cb88-47f8-b2d2-024038e0eb0e"
                LastKnownName="byte"
                LastKnownLocation="Diagrams.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <activity
        Id="3862039b-cf36-4676-a36e-2c8a48676b4d"
        name="WorkflowJudge"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false"
        isReentrant="false"
        isReadOnly="false"
        isSingleExecution="false">
        <nodes>
          <initialNode
            Id="cb38f42f-96e0-410c-91d0-15cb9945af8c"
            name="Initial1"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="f4d65475-b001-4a18-b3f7-ec5c51c283a9"
                isLeaf="false">
                <forkNodeMoniker
                  Id="a2fb11e4-2521-4f3b-aa2a-ba51ce2a0708"
                  LastKnownName="Fork2"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </initialNode>
          <opaqueAction
            Id="edddd661-065f-4e73-9b41-8ae978e417c1"
            name="Начальный экран"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="348e5747-38f1-4f3d-b7e1-9d2446e2d0ef"
                isLeaf="false">
                <joinNodeMoniker
                  Id="41e1e788-b50b-470c-b016-d633aae380e2"
                  LastKnownName="Join1"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="871529fd-2c76-4fd2-93f1-c28d6fbd9f3a"
            name="Поиск серверов в сети"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="64e2e596-02cb-41c0-9d15-bdb1ca2cd9ec"
                isLeaf="false">
                <decisionNodeMoniker
                  Id="cce602fa-2709-48b4-b912-af01f14d1852"
                  LastKnownName="Decision1"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <decisionNode
            Id="cce602fa-2709-48b4-b912-af01f14d1852"
            name="Decision1"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="52bb3558-7a55-46d7-95cf-b0607c2baff6"
                guard="не нашел серверов"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="0971c290-023d-4b43-ad0f-ebbcbec78627"
                  LastKnownName="Экран ошибки"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="514507de-ccf9-4a27-9f9a-461deaaa78ab"
                guard="сервера найдены"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="e4315276-4dd7-47e5-bfde-3d2620697d22"
                  LastKnownName="Выбор сервера"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </decisionNode>
          <opaqueAction
            Id="bae80a64-2862-4f22-82c0-8501822f58bc"
            name="Инициализация приложения"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="a0a1a664-296c-4014-a111-2549ad863acf"
                isLeaf="false">
                <joinNodeMoniker
                  Id="41e1e788-b50b-470c-b016-d633aae380e2"
                  LastKnownName="Join1"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <forkNode
            Id="a2fb11e4-2521-4f3b-aa2a-ba51ce2a0708"
            name="Fork2"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="212ec5e2-006a-40ff-9965-252089e8a878"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="edddd661-065f-4e73-9b41-8ae978e417c1"
                  LastKnownName="Начальный экран"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="8eb516a2-ea78-4195-a499-efb692d37d96"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="bae80a64-2862-4f22-82c0-8501822f58bc"
                  LastKnownName="Инициализация приложения"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="c5e4f496-f66c-479c-b4f4-4dd8bad7962c"
            name="Подключение к серверу"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="b178d9d2-eb62-47bd-a905-ffe227709e0b"
                isLeaf="false">
                <joinNodeMoniker
                  Id="9355ede1-b3bf-4556-bc02-dd7c7692d089"
                  LastKnownName="Join3"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <decisionNode
            Id="c35af61f-d4f1-46b6-9242-c7ec3e86b0ed"
            name="Decision3"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="1e83196d-0aae-408d-b754-0764e5ee2cfd"
                guard="не удалось подключиться к серверу"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="54b1e117-fa10-4e3e-ae6e-d4bb2fce5a6a"
                  LastKnownName="Экран ошибки"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="da2aa8f9-ab02-4110-a677-d8945ea01b02"
                guard="подключение установлено"
                isLeaf="false">
                <forkNodeMoniker
                  Id="650f580a-1185-4082-908b-d701a0145b74"
                  LastKnownName="Fork5"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </decisionNode>
          <opaqueAction
            Id="54b1e117-fa10-4e3e-ae6e-d4bb2fce5a6a"
            name="Экран ошибки"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="53bbae88-8201-45ec-b87b-0926ceff30ab"
                isLeaf="false">
                <mergeNodeMoniker
                  Id="3decb3d5-5dd0-4687-bef4-52afb4e5a11f"
                  LastKnownName="Merge2"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="1c086403-053a-433e-b690-4f4b2a712817"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="b18741b8-9f9d-4656-8d4b-c7879f379557"
                  LastKnownName="ActivityFinal13"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="330d36c3-9a92-4457-9561-7e9187f39ec9"
            name="Получение списка судей"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="51d330a3-974b-4bab-a13b-6c9205492a70"
                isLeaf="false">
                <joinNodeMoniker
                  Id="a9abf9cc-a232-4304-8b2a-7379f40cbc4a"
                  LastKnownName="Join5"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <joinNode
            Id="9355ede1-b3bf-4556-bc02-dd7c7692d089"
            name="Join3"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="e1c15ce9-51ab-41b9-830e-8ce06b8639fe"
                isLeaf="false">
                <decisionNodeMoniker
                  Id="c35af61f-d4f1-46b6-9242-c7ec3e86b0ed"
                  LastKnownName="Decision3"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </joinNode>
          <opaqueAction
            Id="ce473c0c-ba03-48ae-aa23-fe6175d099d9"
            name="Экран авторизации"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="7822ce79-af73-4699-8b92-33a8c22230c0"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="64bce528-eb23-465a-855d-52a27c2d98c3"
                  LastKnownName="Ввод данных"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="20133f41-1ccb-4964-9d52-1b35787ee14c"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="830a1094-9056-4da2-b276-700b1b694776"
                  LastKnownName="ActivityFinal6"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="64bce528-eb23-465a-855d-52a27c2d98c3"
            name="Ввод данных"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="714b4d27-938d-4fb4-922b-4d818a8ca4e7"
                isLeaf="false">
                <forkNodeMoniker
                  Id="031933ea-b601-41a9-9efd-a7153f31c34d"
                  LastKnownName="Fork4"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="538de2a0-24e6-4a2a-801a-e10d510c0d1b"
            name="Авторизация судьи"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="9aa33b4d-8ec0-41db-9243-d4849c416fb5"
                isLeaf="false">
                <joinNodeMoniker
                  Id="a3be53e1-148a-430a-bc39-79cc8e341262"
                  LastKnownName="Join4"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <forkNode
            Id="031933ea-b601-41a9-9efd-a7153f31c34d"
            name="Fork4"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="0c450aee-94d7-4edd-b64f-f7e75271cd93"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="58acd177-1bda-4d40-aab3-8f6a0ba9af4e"
                  LastKnownName="Экран ожидания"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="2bfec89b-a009-46aa-830c-e81e66b253a6"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="538de2a0-24e6-4a2a-801a-e10d510c0d1b"
                  LastKnownName="Авторизация судьи"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="58acd177-1bda-4d40-aab3-8f6a0ba9af4e"
            name="Экран ожидания"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="420b39c6-eb3e-4ee9-9912-1206979abaaf"
                isLeaf="false">
                <joinNodeMoniker
                  Id="a3be53e1-148a-430a-bc39-79cc8e341262"
                  LastKnownName="Join4"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="3f70cbcc-2060-45ec-88fd-eaec749f07fa"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="ea8e2078-175e-44b3-807c-e18149616d28"
                  LastKnownName="ActivityFinal7"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <decisionNode
            Id="b0a2ae18-6065-4b3b-82d1-c6f8aa08bb40"
            name="Decision4"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="b752e32e-5073-45d8-bfe4-bed48e2beaf4"
                guard="неудачная авторизация"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="c069693b-0bc9-41b3-991d-fcbad8ac70cf"
                  LastKnownName="Экран ошибки"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="f3f307f3-cdde-46c3-b73e-e91ae4cd12c4"
                guard="авторизация удалась"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="970c3a82-0ba7-4623-8f51-28ab3b27cf1c"
                  LastKnownName="Экран приветствия"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </decisionNode>
          <opaqueAction
            Id="c069693b-0bc9-41b3-991d-fcbad8ac70cf"
            name="Экран ошибки"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="c06a4213-a024-45e5-9ec0-cb3b6e3d6864"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="ce473c0c-ba03-48ae-aa23-fe6175d099d9"
                  LastKnownName="Экран авторизации"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="ec3165ad-34e7-4874-8061-fced483a7291"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="6f42e285-e70e-485c-b136-ba10f8a5860b"
                  LastKnownName="ActivityFinal14"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="970c3a82-0ba7-4623-8f51-28ab3b27cf1c"
            name="Экран приветствия"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="cec79ad9-90ed-4733-9be4-69df905a480c"
                isLeaf="false">
                <mergeNodeMoniker
                  Id="5a0d54c2-f527-4dd3-85dc-f1419acbae06"
                  LastKnownName="Merge1"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="8b3ef062-1987-4101-8321-a043f9dcaea3"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="a6b73e3f-be33-452c-a78e-d701ac9f99ac"
                  LastKnownName="ActivityFinal8"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <joinNode
            Id="a3be53e1-148a-430a-bc39-79cc8e341262"
            name="Join4"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="5824cb6f-8462-4403-bbcc-c4cc32c694db"
                isLeaf="false">
                <decisionNodeMoniker
                  Id="b0a2ae18-6065-4b3b-82d1-c6f8aa08bb40"
                  LastKnownName="Decision4"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </joinNode>
          <forkNode
            Id="650f580a-1185-4082-908b-d701a0145b74"
            name="Fork5"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="e33b4d40-d344-4e9c-983f-003f97a922a9"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="69d36e74-5ccc-4cd2-8393-7b5d2fa165b6"
                  LastKnownName="Экран ожидания"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="e12b8fcb-0e3b-4dd2-97fb-12a2639df9dc"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="330d36c3-9a92-4457-9561-7e9187f39ec9"
                  LastKnownName="Получение списка судей"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="69d36e74-5ccc-4cd2-8393-7b5d2fa165b6"
            name="Экран ожидания"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="d01f7172-5d1d-4ac0-adcb-10671775d9b5"
                isLeaf="false">
                <joinNodeMoniker
                  Id="a9abf9cc-a232-4304-8b2a-7379f40cbc4a"
                  LastKnownName="Join5"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="bc34a999-a50c-446e-97d1-c18eb3d60dde"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="6dc402ee-9e6a-4ec7-b4a1-06f742ad6dd1"
                  LastKnownName="ActivityFinal5"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <joinNode
            Id="a9abf9cc-a232-4304-8b2a-7379f40cbc4a"
            name="Join5"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="83b34ce5-a3b6-42c0-8a90-792eb0fbb794"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="ce473c0c-ba03-48ae-aa23-fe6175d099d9"
                  LastKnownName="Экран авторизации"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </joinNode>
          <opaqueAction
            Id="3d1aa3b0-a2b3-4474-afe5-2ac00f5df513"
            name="Экран ожидания"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="144d9fa4-edf7-4fae-bb8f-2b31c043455b"
                isLeaf="false">
                <joinNodeMoniker
                  Id="a7731c1a-9f02-4dad-8bf5-60e62bfb8de3"
                  LastKnownName="Join6"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="615f5de1-021f-459e-8b47-35febcd74277"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="13837bd9-7d97-45c4-b210-fc36845dcec8"
                  LastKnownName="ActivityFinal9"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <forkNode
            Id="6ac535da-824c-48a6-b836-4d1b174f2481"
            name="Fork6"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="d17dbd7b-ed46-4331-b809-a1e33f18c456"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="3d1aa3b0-a2b3-4474-afe5-2ac00f5df513"
                  LastKnownName="Экран ожидания"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="9a470d16-e461-43fa-be3e-e7e2da79eb7c"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="11b930c4-0f99-4bee-96ac-b8a3f304dd77"
                  LastKnownName="Ожидание данных  от сервера"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="11b930c4-0f99-4bee-96ac-b8a3f304dd77"
            name="Ожидание данных  от сервера"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="3e3bd467-15df-412c-a51c-842f1203e772"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="57cfdd57-dd3c-4f23-837f-6032afee14be"
                  LastKnownName="Анализ данных"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <joinNode
            Id="a7731c1a-9f02-4dad-8bf5-60e62bfb8de3"
            name="Join6"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="3e369b78-c563-492d-a713-72d9e628b29c"
                isLeaf="false">
                <decisionNodeMoniker
                  Id="1eddeb91-8589-433b-a080-09fdb2f375e9"
                  LastKnownName="Decision5"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </joinNode>
          <opaqueAction
            Id="57cfdd57-dd3c-4f23-837f-6032afee14be"
            name="Анализ данных"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="6c98f4a8-0b98-421d-bba2-09e5de10d0f0"
                isLeaf="false">
                <joinNodeMoniker
                  Id="a7731c1a-9f02-4dad-8bf5-60e62bfb8de3"
                  LastKnownName="Join6"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <decisionNode
            Id="1eddeb91-8589-433b-a080-09fdb2f375e9"
            name="Decision5"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="5988f000-4d8f-4a43-af48-738510527652"
                guard="смена судьи"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="ce473c0c-ba03-48ae-aa23-fe6175d099d9"
                  LastKnownName="Экран авторизации"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="93bad4fd-b82d-40aa-a502-a4da3335dd26"
                guard="оценивание"
                isLeaf="false">
                <forkNodeMoniker
                  Id="c9d86a0b-106a-4e98-ad1d-d58b1b81ecef"
                  LastKnownName="Fork7"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </decisionNode>
          <opaqueAction
            Id="2780c847-d7ff-43bc-a75d-d84d11ad170a"
            name="Определение типа оценивания"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="ba018e09-d6b6-4ebd-a333-d0ca56f3cc01"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="aa0243af-70ec-4992-8486-38d0dab35b1d"
                  LastKnownName="Инициализация данных"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="d32151d0-8cf2-4a3a-84c9-5f284ed23449"
            name="Экран ожидания"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="306342b7-cf00-4eac-b359-71aca9be2045"
                isLeaf="false">
                <joinNodeMoniker
                  Id="32b36441-1879-4fe2-ad6d-74426b13b011"
                  LastKnownName="Join7"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="ca5e6dff-866a-43fc-8929-b6cafc8ce081"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="4d1d06cb-ae52-4b99-85e7-9549aca59f72"
                  LastKnownName="ActivityFinal10"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <forkNode
            Id="c9d86a0b-106a-4e98-ad1d-d58b1b81ecef"
            name="Fork7"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="fb804a1e-1f6b-4100-a513-7a05cddc7ea1"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="d32151d0-8cf2-4a3a-84c9-5f284ed23449"
                  LastKnownName="Экран ожидания"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="c2c4532e-0f28-4fa1-90cf-35afba3ea046"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="2780c847-d7ff-43bc-a75d-d84d11ad170a"
                  LastKnownName="Определение типа оценивания"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="aa0243af-70ec-4992-8486-38d0dab35b1d"
            name="Инициализация данных"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="8bf6e69c-f654-4273-86af-ba38944c869e"
                isLeaf="false">
                <joinNodeMoniker
                  Id="32b36441-1879-4fe2-ad6d-74426b13b011"
                  LastKnownName="Join7"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <joinNode
            Id="32b36441-1879-4fe2-ad6d-74426b13b011"
            name="Join7"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="ec2155ea-e0b6-4d7e-afd6-7d6b37225035"
                isLeaf="false">
                <forkNodeMoniker
                  Id="cac72bd2-83e8-44c4-8818-2f75961fb34d"
                  LastKnownName="Fork8"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </joinNode>
          <opaqueAction
            Id="c7b99114-930b-4b05-8f5a-e14f83b32486"
            name="Экран категории"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="c4503378-ef0f-4103-b467-2294c3986bc9"
                isLeaf="false">
                <forkNodeMoniker
                  Id="8cd97dc8-f530-453e-ad14-323c39ad03ee"
                  LastKnownName="Fork9"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="f5803dd4-190e-42e6-b0a0-8baa6a1ff882"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="1f8b7fa9-d4f5-41b5-ac73-2d9af96d7423"
                  LastKnownName="ActivityFinal11"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="3fbad24a-88a1-4b0f-ab8b-9bb74d01b3be"
            name="Ввод оценок"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="618c3996-2dac-4832-b8e7-54ecff7fa2bb"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="d149e6d0-65cc-439b-9f04-14a7edae8a43"
                  LastKnownName="Обновление данных"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="eb7a8f7f-23a5-4c9b-b59c-535db38b9095"
            name="Получение списка активных участников"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="ea93568c-e549-4528-b0ff-a06a13e86a8d"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="a1750652-1736-4a82-8e22-f14e86c98916"
                  LastKnownName="Обновление данных"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="49c4404d-752f-4b37-ad18-ccfa567e39ec"
            name="Отправить"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="76937dcb-bf3b-47a1-93d4-a16183c964e4"
                isLeaf="false">
                <decisionNodeMoniker
                  Id="998ad2c9-7446-4287-b8ae-6d1637c4fbe4"
                  LastKnownName="Decision6"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="a1750652-1736-4a82-8e22-f14e86c98916"
            name="Обновление данных"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="967e63ce-555f-46f9-8215-f622611e391c"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="eb7a8f7f-23a5-4c9b-b59c-535db38b9095"
                  LastKnownName="Получение списка активных участников"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <forkNode
            Id="cac72bd2-83e8-44c4-8818-2f75961fb34d"
            name="Fork8"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="0decda26-bcf3-41cb-a51c-cf475b989ba3"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="c7b99114-930b-4b05-8f5a-e14f83b32486"
                  LastKnownName="Экран категории"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="4c96e65f-fe92-4f62-adf2-7555fb776550"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="eb7a8f7f-23a5-4c9b-b59c-535db38b9095"
                  LastKnownName="Получение списка активных участников"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <forkNode
            Id="8cd97dc8-f530-453e-ad14-323c39ad03ee"
            name="Fork9"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="b4aa1d48-3c42-4cd1-803c-3aa669cfe895"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="3fbad24a-88a1-4b0f-ab8b-9bb74d01b3be"
                  LastKnownName="Ввод оценок"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="88577eae-3329-4d99-a200-47bce1333ed4"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="49c4404d-752f-4b37-ad18-ccfa567e39ec"
                  LastKnownName="Отправить"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="1eb07b47-842f-49ee-a8a8-7a09fb6465d0"
            name="Сообщение об ошибке"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="f34f0df2-d769-4e8a-b907-60f50c839416"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="c7b99114-930b-4b05-8f5a-e14f83b32486"
                  LastKnownName="Экран категории"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <decisionNode
            Id="998ad2c9-7446-4287-b8ae-6d1637c4fbe4"
            name="Decision6"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="256f3ca0-ad22-423d-b1b1-38c13a22c5cc"
                guard="есть ошибки"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="1eb07b47-842f-49ee-a8a8-7a09fb6465d0"
                  LastKnownName="Сообщение об ошибке"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="be101ab7-36c7-4fe6-bbf8-f4eefbe4b890"
                guard="ошибок нет"
                isLeaf="false">
                <forkNodeMoniker
                  Id="cc391837-49d5-43fa-97cd-d9f541a33546"
                  LastKnownName="Fork10"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </decisionNode>
          <opaqueAction
            Id="d149e6d0-65cc-439b-9f04-14a7edae8a43"
            name="Обновление данных"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="236a7334-222c-46fd-bb59-58855bc2ac08"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="c7b99114-930b-4b05-8f5a-e14f83b32486"
                  LastKnownName="Экран категории"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <forkNode
            Id="cc391837-49d5-43fa-97cd-d9f541a33546"
            name="Fork10"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="316ac1b7-e78a-4d77-9bff-b15539356f2c"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="cd915fd0-bcc4-4c90-971f-16f2cb1ba9e3"
                  LastKnownName="Экран ожидания"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="abe91c63-f86a-459a-a114-da940868e3ef"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="acaa0546-c93b-441d-aa09-edfce9e6f8a3"
                  LastKnownName="Отправка оценок"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="cd915fd0-bcc4-4c90-971f-16f2cb1ba9e3"
            name="Экран ожидания"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="ea6e74b4-437c-4f92-91b0-d552996c4381"
                isLeaf="false">
                <joinNodeMoniker
                  Id="86e76f1b-094c-4838-a491-52d185d29a0d"
                  LastKnownName="Join8"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="021c9afa-ccbf-45b9-a65c-312f78766d82"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="2d5de792-5d9a-4850-9d4c-ab217a1e7f8c"
                  LastKnownName="ActivityFinal12"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="acaa0546-c93b-441d-aa09-edfce9e6f8a3"
            name="Отправка оценок"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="28dde743-bba1-4315-969d-9c9ba0b9ee06"
                isLeaf="false">
                <joinNodeMoniker
                  Id="86e76f1b-094c-4838-a491-52d185d29a0d"
                  LastKnownName="Join8"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <joinNode
            Id="86e76f1b-094c-4838-a491-52d185d29a0d"
            name="Join8"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="636005df-2cba-4c28-84fc-beed1c3f3b2b"
                isLeaf="false">
                <mergeNodeMoniker
                  Id="5a0d54c2-f527-4dd3-85dc-f1419acbae06"
                  LastKnownName="Merge1"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </joinNode>
          <mergeNode
            Id="5a0d54c2-f527-4dd3-85dc-f1419acbae06"
            name="Merge1"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="a708524a-963b-4db4-b48e-ee83a6c2ceea"
                isLeaf="false">
                <forkNodeMoniker
                  Id="6ac535da-824c-48a6-b836-4d1b174f2481"
                  LastKnownName="Fork6"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </mergeNode>
          <activityFinalNode
            Id="6dc402ee-9e6a-4ec7-b4a1-06f742ad6dd1"
            name="ActivityFinal5"
            isLeaf="false" />
          <activityFinalNode
            Id="830a1094-9056-4da2-b276-700b1b694776"
            name="ActivityFinal6"
            isLeaf="false" />
          <activityFinalNode
            Id="ea8e2078-175e-44b3-807c-e18149616d28"
            name="ActivityFinal7"
            isLeaf="false" />
          <activityFinalNode
            Id="a6b73e3f-be33-452c-a78e-d701ac9f99ac"
            name="ActivityFinal8"
            isLeaf="false" />
          <activityFinalNode
            Id="13837bd9-7d97-45c4-b210-fc36845dcec8"
            name="ActivityFinal9"
            isLeaf="false" />
          <activityFinalNode
            Id="4d1d06cb-ae52-4b99-85e7-9549aca59f72"
            name="ActivityFinal10"
            isLeaf="false" />
          <activityFinalNode
            Id="1f8b7fa9-d4f5-41b5-ac73-2d9af96d7423"
            name="ActivityFinal11"
            isLeaf="false" />
          <activityFinalNode
            Id="2d5de792-5d9a-4850-9d4c-ab217a1e7f8c"
            name="ActivityFinal12"
            isLeaf="false" />
          <activityFinalNode
            Id="b18741b8-9f9d-4656-8d4b-c7879f379557"
            name="ActivityFinal13"
            isLeaf="false" />
          <activityFinalNode
            Id="6f42e285-e70e-485c-b136-ba10f8a5860b"
            name="ActivityFinal14"
            isLeaf="false" />
          <opaqueAction
            Id="0971c290-023d-4b43-ad0f-ebbcbec78627"
            name="Экран ошибки"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="6e37338c-b32c-47e6-b361-f9f5bee83666"
                isLeaf="false">
                <mergeNodeMoniker
                  Id="3decb3d5-5dd0-4687-bef4-52afb4e5a11f"
                  LastKnownName="Merge2"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="fc748239-d329-42e8-b8c6-abeb8785c214"
                isLeaf="false">
                <activityFinalNodeMoniker
                  Id="38516352-6c8d-4be5-8ecc-6211b6301eb5"
                  LastKnownName="ActivityFinal1"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="9324f4b5-785f-4d5e-851c-a850fe270cd4"
            name="Выбор сети"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="39ef46fd-bd26-4d2f-adb0-902cd9c7dcc6"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="871529fd-2c76-4fd2-93f1-c28d6fbd9f3a"
                  LastKnownName="Поиск серверов в сети"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <opaqueAction
            Id="e4315276-4dd7-47e5-bfde-3d2620697d22"
            name="Выбор сервера"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="f6c599f1-2b83-451a-b2f3-b801a80d3cc8"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="c5e4f496-f66c-479c-b4f4-4dd8bad7962c"
                  LastKnownName="Подключение к серверу"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <joinNode
            Id="41e1e788-b50b-470c-b016-d633aae380e2"
            name="Join1"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="b3528bb5-c6c9-4111-a606-48b6c0f6253f"
                isLeaf="false">
                <mergeNodeMoniker
                  Id="3decb3d5-5dd0-4687-bef4-52afb4e5a11f"
                  LastKnownName="Merge2"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </joinNode>
          <forkNode
            Id="626a8d3f-aac1-45b9-a931-ce4b61339e07"
            name="Fork1"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="5871150f-c26c-42c8-bbdf-2580d0a86cdf"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="e76dd836-e89f-4d00-baf0-9cec95a1dd22"
                  LastKnownName="Экран ожидания подключения"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
              <controlFlow
                Id="89168b24-0f6a-42b0-b410-d4719179eca5"
                isLeaf="false">
                <opaqueActionMoniker
                  Id="9324f4b5-785f-4d5e-851c-a850fe270cd4"
                  LastKnownName="Выбор сети"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </forkNode>
          <opaqueAction
            Id="e76dd836-e89f-4d00-baf0-9cec95a1dd22"
            name="Экран ожидания подключения"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="0d261212-81b2-41c5-8a04-00c5d75f7014"
                isLeaf="false">
                <joinNodeMoniker
                  Id="9355ede1-b3bf-4556-bc02-dd7c7692d089"
                  LastKnownName="Join3"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </opaqueAction>
          <mergeNode
            Id="3decb3d5-5dd0-4687-bef4-52afb4e5a11f"
            name="Merge2"
            isLeaf="false">
            <flowNodeTargets>
              <controlFlow
                Id="8af53e33-7a4e-48a4-88a8-33ff4eb2e501"
                isLeaf="false">
                <forkNodeMoniker
                  Id="626a8d3f-aac1-45b9-a931-ce4b61339e07"
                  LastKnownName="Fork1"
                  LastKnownLocation="Diagrams.uml" />
              </controlFlow>
            </flowNodeTargets>
          </mergeNode>
          <activityFinalNode
            Id="38516352-6c8d-4be5-8ecc-6211b6301eb5"
            name="ActivityFinal1"
            isLeaf="false" />
        </nodes>
      </activity>
    </packageHasNamedElement>
  </packagedElements>
  <primitiveType
    Id="220a3521-e091-4221-bae9-3ef9018e845c"
    name="Integer"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
    name="Boolean"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
    name="String"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="3ab42e7d-4969-445a-b209-471f5cb8209c"
    name="UnlimitedNatural"
    isAbstract="false"
    isLeaf="false" />
</modelStoreModel>