<?xml version="1.0" encoding="UTF-8"?>
<XMI xmlns:UML="http://schema.omg.org/spec/UML/1.3" verified="false" timestamp="2007-08-07T21:48:21" xmi.version="1.2" >
 <XMI.header>
  <XMI.documentation>
   <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
   <XMI.exporterVersion>1.5.7</XMI.exporterVersion>
   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
  </XMI.documentation>
  <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
 </XMI.header>
 <XMI.content>
  <UML:Model isSpecification="false" isLeaf="false" isRoot="false" xmi.id="m1" isAbstract="false" name="UML Model" >
   <UML:Namespace.ownedElement>
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="folder" isRoot="false" isAbstract="false" name="folder" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="datatype" isRoot="false" isAbstract="false" name="datatype" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="constructor" isRoot="false" isAbstract="false" name="constructor" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="typedef" isRoot="false" isAbstract="false" name="typedef" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="enum" isRoot="false" isAbstract="false" name="enum" />
    <UML:Model stereotype="folder" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="Logical View" isRoot="false" isAbstract="false" name="Logical View" >
     <UML:Namespace.ownedElement>
      <UML:Package stereotype="folder" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Datatypes" isRoot="false" isAbstract="false" name="Datatypes" >
       <UML:Namespace.ownedElement>
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="ItFeJIqwtsDb" isRoot="false" isAbstract="false" name="int" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="WbVaZGpmX56u" isRoot="false" isAbstract="false" name="char" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="RLl21qhIhuu0" isRoot="false" isAbstract="false" name="bool" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Dlv6b8f7hBiH" isRoot="false" isAbstract="false" name="float" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="PX1va5p2Oa2Q" isRoot="false" isAbstract="false" name="double" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Oig6cY6pJzus" isRoot="false" isAbstract="false" name="short" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="5Z0nig28B33m" isRoot="false" isAbstract="false" name="long" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="8qmWQoupWYv7" isRoot="false" isAbstract="false" name="unsigned int" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="5zuOxoF2MFp4" isRoot="false" isAbstract="false" name="unsigned short" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="vrA6sBqy1cTQ" isRoot="false" isAbstract="false" name="unsigned long" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="RLDvs62x5vJ2" isRoot="false" isAbstract="false" name="string" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Md6uLZTp3qup" isRoot="false" isAbstract="false" name="KisSharedPtr&lt; KisSharedData >" elementReference="BOkySpT55hSl" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="kF2KiSElIypz" isRoot="false" isAbstract="false" name="QVector&lt; KisSharedPtr &lt; T > >" elementReference="bvtffuADOkrX" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="KTNIUTYfBR9e" isRoot="false" isAbstract="false" name="KisSharedPtr&lt; T >" elementReference="BOkySpT55hSl" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="zjL4djwYz6m9" isRoot="false" isAbstract="false" name="KisLineIteratorPixelBase&lt; KisHLineConstIterator, const quint8 * >" elementReference="JJWo5qPVnzZr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="f80eDmloeDMv" isRoot="false" isAbstract="false" name="KisLineIteratorPixelBase&lt; KisHLineIterator, quint8 * >" elementReference="JJWo5qPVnzZr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="CXPqiljBuFC3" isRoot="false" isAbstract="false" name="KisLineIteratorPixelBase&lt; KisVLineConstIterator, const quint8 * >" elementReference="JJWo5qPVnzZr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="L64EKGHNIvBR" isRoot="false" isAbstract="false" name="KisLineIteratorPixelBase&lt; KisVLineIterator, quint8 * >" elementReference="JJWo5qPVnzZr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="uup1nGyuEy8U" isRoot="false" isAbstract="false" name="KisRectIteratorPixelBase&lt; KisRectConstIterator, const quint8 * >" elementReference="wcdQ3vYlpmri" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="GQ3SMAwwtiy7" isRoot="false" isAbstract="false" name="KisRectIteratorPixelBase&lt; KisRectIterator, quint8 * >" elementReference="wcdQ3vYlpmri" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="kBMoL9JmIOKQ" isRoot="false" isAbstract="false" name="KisRandomAccessorPixelBase&lt; KisRandomConstAccessor, const quint8 * >" elementReference="Tr8noau20wUM" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="RIKhec7mA5S3" isRoot="false" isAbstract="false" name="KisRandomAccessorPixelBase&lt; KisRandomAccessor, quint8 * >" elementReference="Tr8noau20wUM" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="bbj3G4dLu0LH" isRoot="false" isAbstract="false" name="const KisBaseNode&amp;" elementReference="n1Ogkmn3i6cJ" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="xciUhaOfBB6A" isRoot="false" isAbstract="false" name="const QString&amp;" elementReference="zbmT1UpYYDfP" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="WXoZh1gKZn4Y" isRoot="false" isAbstract="false" name="const KoDocumentSectionModel::PropertyList&amp;" elementReference="cX7m1EEzOHLo" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="DJDk7HG7XlV5" isRoot="false" isAbstract="false" name="KoProperties&amp;" elementReference="FTtOWJRuqIpq" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="YNNkZ2fkKrSP" isRoot="false" isAbstract="false" name="const KoProperties&amp;" elementReference="FTtOWJRuqIpq" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="FAm8oZbU0jSI" isRoot="false" isAbstract="false" name="KisNodeVisitor&amp;" elementReference="tQCTyDUYAhMP" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="tPo7gxHdByML" isRoot="false" isAbstract="false" name="const bool" elementReference="RLl21qhIhuu0" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="LYG39JPo7rZJ" isRoot="false" isAbstract="false" name="Private* const" elementReference="c7Oabxn29yO3" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="pKRPTYFmKqkc" isRoot="false" isAbstract="false" name="const KisNode&amp;" elementReference="OIAxnYXvlLBh" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="hNzgzRoeVpOX" isRoot="false" isAbstract="false" name="const QRect&amp;" elementReference="SCDMtPBFib3M" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="B6133t0IYyNK" isRoot="false" isAbstract="false" name="const QRegion&amp;" elementReference="0ysUlEzImDlD" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Hb6IT46qJ1hk" isRoot="false" isAbstract="false" name="KisNodeGraphListener*" elementReference="ejkmf8n0e33m" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="cyd2c3YzrBZA" isRoot="false" isAbstract="false" name="const KisNodeSP" elementReference="r9ZkDaaGIh1s" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="2sSwqrVuGL2F" isRoot="false" isAbstract="false" name="QList&lt; KisNodeSP >" elementReference="RnqpQkJxKg5O" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="ulX5yHkiE2uA" isRoot="false" isAbstract="false" name="KisNode*" elementReference="OIAxnYXvlLBh" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="RiWkbWh9K9He" isRoot="false" isAbstract="false" name="KisUndoAdapter*" elementReference="qyqXOuupGsqk" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="0Dibn6JWC3NC" isRoot="false" isAbstract="false" name="KoColorSpace*" elementReference="YJvJv6Dv3j7k" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="qjeRDR27aTh2" isRoot="false" isAbstract="false" name="const KisImage&amp;" elementReference="LvutrOR9qmPI" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="osao8GCokGSZ" isRoot="false" isAbstract="false" name="QPainter&amp;" elementReference="AXbbrSN0qCuy" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="wOsmbnkPdKBl" isRoot="false" isAbstract="false" name="KoColorProfile*" elementReference="qXwn7UTwSKTr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Qn9os2Nua0y8" isRoot="false" isAbstract="false" name="const double" elementReference="PX1va5p2Oa2Q" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="7mVBHOOHWant" isRoot="false" isAbstract="false" name="const KoColor&amp;" elementReference="QMy1VQ04jvNd" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="TFp5vE8i3IdX" isRoot="false" isAbstract="false" name="KisPerspectiveGrid*" elementReference="8BhoLQo9yiw3" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="uunNzql88jgP" isRoot="false" isAbstract="false" name="KisProgressDisplayInterface*" elementReference="EOeTEUDXHzYz" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="7LM3obNgVA4T" isRoot="false" isAbstract="false" name="KisFilterStrategy*" elementReference="Joo2i9diiCl0" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="b20x1snFRGmL" isRoot="false" isAbstract="false" name="const KoColorProfile*" elementReference="qXwn7UTwSKTr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="nTg6PUYeH79m" isRoot="false" isAbstract="false" name="KisActionRecorder*" elementReference="0aY3Kgowxcai" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="h7s3Wwp5xxy1" isRoot="false" isAbstract="false" name="const QPointF&amp;" elementReference="s1fGRqzJa1aq" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="wDZQd0dklEjc" isRoot="false" isAbstract="false" name="const QRectF&amp;" elementReference="zqYjSGDSNBuW" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="ErnD4MnEewWC" isRoot="false" isAbstract="false" name="const QPoint&amp;" elementReference="270SBmI2USTD" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="zrtRdkfbJPB2" isRoot="false" isAbstract="false" name="KisProjection*" elementReference="COzfiRUun8L1" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="61HpMiaX8VOD" isRoot="false" isAbstract="false" name="KisGroupLayer*" elementReference="zilx4jLxnAvg" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="0FKWFVXfC48X" isRoot="false" isAbstract="false" name="KisImage&amp;" elementReference="LvutrOR9qmPI" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="x242BtNGO1dI" isRoot="false" isAbstract="false" name="KisImagePrivate* const" elementReference="cUpDaLX4YX7u" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="PnUKZZZ2L4qu" isRoot="false" isAbstract="false" name="KisDataManager*" elementReference="TmUnbun7odxf" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="4Svzh9MKubrU" isRoot="false" isAbstract="false" name="const KisRectConstIterator&amp;" elementReference="nbf8kfk8vin6" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="oiWgA4DwEwxv" isRoot="false" isAbstract="false" name="KisRectConstIterator&amp;" elementReference="nbf8kfk8vin6" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="887N24GN8xfK" isRoot="false" isAbstract="false" name="const quint8*" elementReference="Y6DvUKZG26uB" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Tde1kwi1zJ4Y" isRoot="false" isAbstract="false" name="quint8*" elementReference="Y6DvUKZG26uB" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="gvmdEqByXlsR" isRoot="false" isAbstract="false" name="KisRectIterator&amp;" elementReference="D8wZtyvx5APh" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="sClQTFjCehtS" isRoot="false" isAbstract="false" name="const KisHLineConstIterator&amp;" elementReference="MJElEQaUzHoE" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="fHAqxAXnTOmp" isRoot="false" isAbstract="false" name="KisHLineConstIterator&amp;" elementReference="MJElEQaUzHoE" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="MytSIm2Q4HXI" isRoot="false" isAbstract="false" name="KisHLineIterator&amp;" elementReference="V02AviWYalAl" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="GEq1iCjKhaGV" isRoot="false" isAbstract="false" name="const KisVLineConstIterator&amp;" elementReference="Ec82YJUBPSnc" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Y5bbhr1Lu7zZ" isRoot="false" isAbstract="false" name="KisVLineConstIterator&amp;" elementReference="Ec82YJUBPSnc" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="AQ7EDKaonuJ6" isRoot="false" isAbstract="false" name="KisVLineIterator&amp;" elementReference="vejS6gHXINQJ" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="MzIroQrUMfTr" isRoot="false" isAbstract="false" name="_iTp*" elementReference="Sg0obfLstit3" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="0zuG608sRrVY" isRoot="false" isAbstract="false" name="const KisIteratorPixelTrait&amp;" elementReference="6rivXtmoJawx" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="x7eUIqpmdPxl" isRoot="false" isAbstract="false" name="KisIteratorPixelTrait&amp;" elementReference="6rivXtmoJawx" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="s8dfGdUsLK6L" isRoot="false" isAbstract="false" name="const _iTp*" elementReference="Sg0obfLstit3" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="7UoRdshkfUoR" isRoot="false" isAbstract="false" name="KisIteratorPixelTrait&lt; T, TSelect >" elementReference="6rivXtmoJawx" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="o9qspvG1A7hv" isRoot="false" isAbstract="false" name="const KisLineIteratorPixelBase&lt; T2, TSelect2 >&amp;" elementReference="JJWo5qPVnzZr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="aA2kIjd8ACyc" isRoot="false" isAbstract="false" name="KisLineIteratorPixelBase&lt; T, TSelect >&amp;" elementReference="JJWo5qPVnzZr" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="DZhYnOMuvkMN" isRoot="false" isAbstract="false" name="KisRectIteratorPixelBase&lt; T, TSelect >&amp;" elementReference="wcdQ3vYlpmri" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="InbDkpGtiLow" isRoot="false" isAbstract="false" name="const KisPaintDevice&amp;" elementReference="mBOHfWlxpOxE" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Kw3B3vcDxL4L" isRoot="false" isAbstract="false" name="QPaintEngine*" elementReference="W652rvrk8Rot" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="TmymcG3JKTqy" isRoot="false" isAbstract="false" name="KoStore*" elementReference="tZJ6DcpuqNLu" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="ncRvKSvhM9lJ" isRoot="false" isAbstract="false" name="qint32&amp;" elementReference="plCqVc8rRpV9" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Tp9Ixzrvqq23" isRoot="false" isAbstract="false" name="const QImage&amp;" elementReference="5nvWaPd7GI9B" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="9aq7yxkfGs0I" isRoot="false" isAbstract="false" name="QColor*" elementReference="nj7ycHW0rtGP" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="37vp9wPhZYQx" isRoot="false" isAbstract="false" name="KoColor*" elementReference="QMy1VQ04jvNd" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="aJ3krlw3vOto" isRoot="false" isAbstract="false" name="const QColor&amp;" elementReference="nj7ycHW0rtGP" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="wjBCatD5vdxY" isRoot="false" isAbstract="false" name="const KisSelectionSP" elementReference="W5laFfU1BjN4" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="W473OPzPGf5W" isRoot="false" isAbstract="false" name="KisPaintDevice&amp;" elementReference="mBOHfWlxpOxE" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="Q3LnpUoN0REZ" isRoot="false" isAbstract="false" name="const KisMask&amp;" elementReference="QlG0uWiMQ76j" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="YdTvOoXOc0X7" isRoot="false" isAbstract="false" name="KisMaskPrivate* const" elementReference="yJ3ADXyJQjaG" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="2Oh3engwHSMx" isRoot="false" isAbstract="false" name="const KisSelection&amp;" elementReference="N5Z8FSmHttaB" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="HWhTJxaVOj2V" isRoot="false" isAbstract="false" name="QImage*" elementReference="5nvWaPd7GI9B" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="LhyoM95yWEYf" isRoot="false" isAbstract="false" name="KisSelectionComponent*" elementReference="AseGHQAA0TFB" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="dBCL7pL4b5ht" isRoot="false" isAbstract="false" name="const KoXmlElement&amp;" elementReference="QFU7090pDHfs" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="NWQwZ5pBGfNi" isRoot="false" isAbstract="false" name="KoShapeLoadingContext&amp;" elementReference="LzTXH6PsHaBO" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="zxKTiUDa1mj7" isRoot="false" isAbstract="false" name="KoShapeSavingContext&amp;" elementReference="zGzGtMwxRUdj" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="tLss8ZxflXTs" isRoot="false" isAbstract="false" name="KisSelection*" elementReference="N5Z8FSmHttaB" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="oTu3Iq7h2VkQ" isRoot="false" isAbstract="false" name="const KoViewConverter&amp;" elementReference="pj2GbdLVQtlK" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="JUw8omEziyB7" isRoot="false" isAbstract="false" name="QTimer*" elementReference="d66BCxJv7x28" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="T7REOKlYRiDZ" isRoot="false" isAbstract="false" name="QObject*" elementReference="uh5NLRUavMwR" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="8MYtHG2Rlh3v" isRoot="false" isAbstract="false" name="KoShape*" elementReference="3oHiUfJ80Tv2" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="zgWy9P0GmW71" isRoot="false" isAbstract="false" name="const KoProperties*" elementReference="FTtOWJRuqIpq" />
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Datatypes" xmi.id="eT4Ukuo4tuZw" isRoot="false" isAbstract="false" name="KisPixelSelection*" elementReference="Aa7JHUMqlF0g" />
       </UML:Namespace.ownedElement>
      </UML:Package>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="dIENgfCLZiTb" isRoot="false" isAbstract="false" name="QAtomic" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="BOkySpT55hSl" isRoot="false" isAbstract="false" name="KisSharedPtr" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ZUaeB0PVbTPw" isRoot="false" isAbstract="false" name="KisSharedPtrVector" >
       <UML:ModelElement.templateParameter>
        <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="ZUaeB0PVbTPw" xmi.id="3sl6hetctvso" isRoot="false" isAbstract="false" name="T" />
       </UML:ModelElement.templateParameter>
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="cjaVcSHDNAs1" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Kp4dlrcBrMro" isRoot="false" isAbstract="false" isQuery="false" name="KisSharedPtrVector" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="uVO9lQ0Sk2UB" isRoot="false" isAbstract="false" isQuery="false" name="pop_back" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="vXeooVP6IUj3" isRoot="false" isAbstract="false" isQuery="false" name="erase" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="EkObLFYtjl6B" type="ijUjDfckHQWm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pc5JK8ddLlJP" value="" type="ijUjDfckHQWm" name="it" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="kuw5cDpIwJz9" isRoot="false" isAbstract="false" isQuery="false" name="erase" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="cIiX5r70Qg6T" type="ijUjDfckHQWm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="wbrD1Nzpy26I" value="" type="ijUjDfckHQWm" name="first" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BjvWVFtD7pHh" value="" type="ijUjDfckHQWm" name="last" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="36zxPx7JYyUY" isRoot="false" isAbstract="false" isQuery="false" name="contains" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="mM1CWXRkHpJc" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="e2rlp8QqEOob" value="" type="KTNIUTYfBR9e" name="ptr" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="ZUaeB0PVbTPw" xmi.id="iK44Su3VvHtd" isRoot="false" isAbstract="false" name="super" elementReference="kF2KiSElIypz" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="bvtffuADOkrX" isRoot="false" isAbstract="false" name="QVector" />
      <UML:Generalization isSpecification="false" child="ZUaeB0PVbTPw" visibility="public" namespace="Logical View" xmi.id="cjaVcSHDNAs1" parent="kF2KiSElIypz" discriminator="" name="" />
      <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="LEAg4zaZLiJl" isRoot="false" isAbstract="false" name="typename super" >
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="LEAg4zaZLiJl" xmi.id="ijUjDfckHQWm" isRoot="false" isAbstract="false" name="iterator" />
       </UML:Namespace.ownedElement>
      </UML:Package>
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ExxPP6316unv" isRoot="false" isAbstract="false" name="KisImageSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="1DkFbYpuRhoG" isRoot="false" isAbstract="false" name="KisImageWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="b6lNKacSVLfI" isRoot="false" isAbstract="false" name="KisPaintDeviceSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="kXWexaljj7yN" isRoot="false" isAbstract="false" name="KisPaintDeviceWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="djKT8HfjLQ4f" isRoot="false" isAbstract="false" name="vKisPaintDeviceSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="yh6R0lkiGEMD" isRoot="false" isAbstract="false" name="vKisPaintDeviceSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="m5uWDstocBFi" isRoot="false" isAbstract="false" name="vKisPaintDeviceSP_cit" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="SuRmJTRHAVjA" isRoot="false" isAbstract="false" name="KisPainterlyOverlay" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ERtUdDfQHZuU" isRoot="false" isAbstract="false" name="KisPainterlyOverlaySP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="aWzj1grG7kii" isRoot="false" isAbstract="false" name="KisMaskSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="wO8Dv0fLjvJd" isRoot="false" isAbstract="false" name="KisMaskWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Pzyo64VfaUOa" isRoot="false" isAbstract="false" name="vKisMaskSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="AFqFyYysu43q" isRoot="false" isAbstract="false" name="vKisMaskSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="3i9mbTOzSKnX" isRoot="false" isAbstract="false" name="vKisMaskSP_cit" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="r9ZkDaaGIh1s" isRoot="false" isAbstract="false" name="KisNodeSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="8PrZjc65uE0h" isRoot="false" isAbstract="false" name="KisNodeWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="mVbVomBeviO6" isRoot="false" isAbstract="false" name="vKisNodeSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="JwLZdKRmjGLQ" isRoot="false" isAbstract="false" name="vKisNodeSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="sPTldSSNx3qk" isRoot="false" isAbstract="false" name="vKisNodeSP_cit" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Q257GOV7nwsQ" isRoot="false" isAbstract="false" name="KisBaseNodeSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="OIlKKc47dSoN" isRoot="false" isAbstract="false" name="KisBaseNodeWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="CZOsf1B31HAH" isRoot="false" isAbstract="false" name="vKisBaseNodeSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ffORbGryZbIt" isRoot="false" isAbstract="false" name="vKisBaseNodeSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="DKyqmmCwLaoy" isRoot="false" isAbstract="false" name="vKisBaseNodeSP_cit" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Zz1YEBqsoCJO" isRoot="false" isAbstract="false" name="KisEffectMask" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="R8Myjcpwwnlg" isRoot="false" isAbstract="false" name="KisEffectMaskSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="axatVOs3Lrba" isRoot="false" isAbstract="false" name="KisEffectMaskWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="3PSpclD1tXzb" isRoot="false" isAbstract="false" name="vKisEffectMaskSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="7oX1ZGh7DFzh" isRoot="false" isAbstract="false" name="vKisEffectMaskSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="drkxiJXjjxZJ" isRoot="false" isAbstract="false" name="vKisEffectMaskSP_cit" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="gkKXGJ8N5ePc" isRoot="false" isAbstract="false" name="KisFilterMask" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="u4k6KjnvYVsE" isRoot="false" isAbstract="false" name="KisFilterMaskSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="oNwXIVqyD8WT" isRoot="false" isAbstract="false" name="KisFilterMaskWSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="PcrSGE5BIpHa" isRoot="false" isAbstract="false" name="KisTransparencyMask" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="W2W2VMGJiCp0" isRoot="false" isAbstract="false" name="KisTransparencyMaskSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="fdztmTK959cM" isRoot="false" isAbstract="false" name="KisTransparencyMaskWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="NhVeUkC0mi0H" isRoot="false" isAbstract="false" name="vKisTransparencyMaskSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="3GYlRLl6xkxh" isRoot="false" isAbstract="false" name="vKisTransparencyMaskSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="BGqHPSbl96Nb" isRoot="false" isAbstract="false" name="vKisTransparencyMaskSP_cit" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="qZZaGZpJoL4F" isRoot="false" isAbstract="false" name="KisLayer" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="hnLeWHLhX9yu" isRoot="false" isAbstract="false" name="KisLayerSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="cZdjd0LTYs1o" isRoot="false" isAbstract="false" name="KisLayerWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Sq7GC9TrwoTS" isRoot="false" isAbstract="false" name="vKisLayerSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="3oAYx6RXe4HH" isRoot="false" isAbstract="false" name="vKisLayerSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="3albQkPsbU6l" isRoot="false" isAbstract="false" name="vKisLayerSP_cit" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="bZaVM3yNr6wm" isRoot="false" isAbstract="false" name="KisShapeLayer" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ANIoPZ6S7p3X" isRoot="false" isAbstract="false" name="KisShapeLayerSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ZQO8uSrT0RzM" isRoot="false" isAbstract="false" name="KisPaintLayer" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="UxjJ1d4ByM0O" isRoot="false" isAbstract="false" name="KisPaintLayerSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="v6q0tuVSItZD" isRoot="false" isAbstract="false" name="KisAdjustmentLayer" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="KQgKsfeKaLeZ" isRoot="false" isAbstract="false" name="KisAdjustmentLayerSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="zilx4jLxnAvg" isRoot="false" isAbstract="false" name="KisGroupLayer" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="2Q6KIfVc4Auw" isRoot="false" isAbstract="false" name="KisGroupLayerSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="nYGMtsvqaemc" isRoot="false" isAbstract="false" name="KisGroupLayerWSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="W5laFfU1BjN4" isRoot="false" isAbstract="false" name="KisSelectionSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="bItAvfkGkIP0" isRoot="false" isAbstract="false" name="KisSelectionMask" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="fQjiw0BFwxzd" />
        <UML:Generalization xmi.idref="vPNWFxomBPWF" />
       </UML:GeneralizableElement.generalization>
      </UML:Class>
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="k9Fd2pmXtV58" isRoot="false" isAbstract="false" name="KisSelectionMaskSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Aa7JHUMqlF0g" isRoot="false" isAbstract="false" name="KisPixelSelection" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="K6Wg14KX8qQq" />
        <UML:Generalization xmi.idref="sztKv2zaX3N7" />
       </UML:GeneralizableElement.generalization>
      </UML:Class>
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ujwc1JclTqNT" isRoot="false" isAbstract="false" name="KisPixelSelectionSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="f70Yd6flem5v" isRoot="false" isAbstract="false" name="KisHistogram" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="FRl0gkgYTcAS" isRoot="false" isAbstract="false" name="KisHistogramSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ulBNbYqEgrlH" isRoot="false" isAbstract="false" name="KisPaintOpFactory" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="vO2X85QNWBNA" isRoot="false" isAbstract="false" name="KisPaintOpFactorySP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="t1gKcrmWayt9" isRoot="false" isAbstract="false" name="vKisSegments" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="UjN8Y6PRUQyd" isRoot="false" isAbstract="false" name="KisQImagemask" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="VOy2YKAPLrix" isRoot="false" isAbstract="false" name="KisQImagemaskSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="gUTGQMNt4k1c" isRoot="false" isAbstract="false" name="KisFilter" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="pP2Jp0uKNtKt" isRoot="false" isAbstract="false" name="KisFilterSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="4DQuynCCl7Z8" isRoot="false" isAbstract="false" name="KisAnnotation" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Bc9FUuAT6shf" isRoot="false" isAbstract="false" name="KisAnnotationSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="QWarDM8HXW9T" isRoot="false" isAbstract="false" name="vKisAnnotationSP" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="JJf2OC8ZmGoF" isRoot="false" isAbstract="false" name="vKisAnnotationSP_it" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="8xiEpPsEvS57" isRoot="false" isAbstract="false" name="vKisAnnotationSP_cit" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="btRZHIpbb1Mo" isRoot="false" isAbstract="false" name="KisHLineConstIteratorPixel" elementReference="zjL4djwYz6m9" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="T9W3Bqrcm9zy" isRoot="false" isAbstract="false" name="KisHLineIteratorPixel" elementReference="f80eDmloeDMv" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="53gqBdoNDuQj" isRoot="false" isAbstract="false" name="KisVLineConstIteratorPixel" elementReference="CXPqiljBuFC3" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="YxolsEU36MeQ" isRoot="false" isAbstract="false" name="KisVLineIteratorPixel" elementReference="L64EKGHNIvBR" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="bjo2GGu2qZ8Y" isRoot="false" isAbstract="false" name="KisRectConstIteratorPixel" elementReference="uup1nGyuEy8U" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ys9mQHLb81hh" isRoot="false" isAbstract="false" name="KisRectIteratorPixel" elementReference="GQ3SMAwwtiy7" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Tr8noau20wUM" isRoot="false" isAbstract="false" name="KisRandomAccessorPixelBase" >
       <UML:ModelElement.templateParameter>
        <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="Tr8noau20wUM" xmi.id="4OIv4F235CnV" isRoot="false" isAbstract="false" name="T" />
        <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="Tr8noau20wUM" xmi.id="R86Z8lEZaMNP" isRoot="false" isAbstract="false" name="TSelect" />
       </UML:ModelElement.templateParameter>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="wFRuBuFDGV8L" isRoot="false" isAbstract="false" name="KisRandomConstAccessor" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="7YzivK5pYUkj" isRoot="false" isAbstract="false" name="KisRandomConstAccessorPixel" elementReference="kBMoL9JmIOKQ" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="OzvdU3yDEK1Z" isRoot="false" isAbstract="false" name="KisRandomAccessor" />
      <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="NXtv1bdOaY12" isRoot="false" isAbstract="false" name="KisRandomAccessorPixel" elementReference="RIKhec7mA5S3" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="bzDoHELgVfO7" isRoot="false" isAbstract="false" name="vQPointF" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="FTtOWJRuqIpq" isRoot="false" isAbstract="false" name="KoProperties" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="tQCTyDUYAhMP" isRoot="false" isAbstract="false" name="KisNodeVisitor" />
      <UML:Generalization isSpecification="false" child="n1Ogkmn3i6cJ" visibility="public" namespace="Logical View" xmi.id="fOLUg9IYXUzW" parent="uh5NLRUavMwR" discriminator="" name="" />
      <UML:Generalization isSpecification="false" child="n1Ogkmn3i6cJ" visibility="public" namespace="Logical View" xmi.id="UgS18RXptZe2" parent="dJN5jYFhlQTp" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="zbmT1UpYYDfP" isRoot="false" isAbstract="false" name="QString" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="8XzKi6SK09T7" isRoot="false" isAbstract="false" name="QIcon" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Bsnj15sX3AD9" isRoot="false" isAbstract="false" name="KoDocumentSectionModel" >
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Bsnj15sX3AD9" xmi.id="cX7m1EEzOHLo" isRoot="false" isAbstract="false" name="PropertyList" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="plCqVc8rRpV9" isRoot="false" isAbstract="false" name="qint32" />
      <UML:Class comment="A KisBaseNode is the base class for all components of an image:
nodes, layers masks, selections. A node has a number of properties,
can be represented as a thumbnail and knows what to do when it gets
a certain paint device to process. A KisBaseNode does not know
anything about its peers. You should not directly inherit from a
KisBaseNode; inherit from KisNode instead." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="n1Ogkmn3i6cJ" isRoot="false" isAbstract="false" name="KisBaseNode" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="fOLUg9IYXUzW" />
        <UML:Generalization xmi.idref="UgS18RXptZe2" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="SVmXn1IP8hyk" type="LYG39JPo7rZJ" name="m_d" />
        <UML:Operation stereotype="constructor" comment="Create a new, empty base node. The node is unnamed, unlocked
visible and unlinked." isSpecification="false" isLeaf="false" visibility="public" xmi.id="7qN0P10Lp5Iu" isRoot="false" isAbstract="false" isQuery="false" name="KisBaseNode" />
        <UML:Operation stereotype="constructor" comment="Create a copy of this node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="Wdjpu9N2bpNQ" isRoot="false" isAbstract="false" isQuery="false" name="KisBaseNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="zLaoOsjsWQiO" value="" type="bbj3G4dLu0LH" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Delete this node" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Z3O9tjZUKJWb" isRoot="false" isAbstract="false" isQuery="false" name="~ KisBaseNode" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="N9uF8GW7Z7uw" isRoot="false" isAbstract="false" isQuery="false" name="name" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="3pWkbcvDsbkv" type="zbmT1UpYYDfP" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="vFrFYNotVj6d" isRoot="false" isAbstract="false" isQuery="false" name="setName" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="dwh97MY2bOG7" value="" type="xciUhaOfBB6A" name="name" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="l4yEl2rgdY9K" isRoot="false" isAbstract="false" isQuery="false" name="icon" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="QpvrVzIGLJQp" type="8XzKi6SK09T7" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return a the properties of this base node (locked, visible etc,
with the right icons for their representation and their state.

Subclasses can extent this list with new properties, like
opacity for layers or visualized for masks." isSpecification="false" isLeaf="false" visibility="public" xmi.id="U0A3OQB7S7MC" isRoot="false" isAbstract="false" isQuery="false" name="sectionModelProperties" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="qrY5erfhf9PG" type="cX7m1EEzOHLo" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Change the section model properties." isSpecification="false" isLeaf="false" visibility="public" xmi.id="QSFYmRgyHRhJ" isRoot="false" isAbstract="false" isQuery="false" name="setSectionModelProperties" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2IVOZqB0IQW3" value="" type="WXoZh1gKZn4Y" name="properties" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return all the properties of this layer as a KoProperties-based
serializable key-value list." isSpecification="false" isLeaf="false" visibility="public" xmi.id="rA16bgP7EBfv" isRoot="false" isAbstract="false" isQuery="false" name="nodeProperties" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="lKRbuAXKzQBT" type="DJDk7HG7XlV5" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Merge the specified properties with the properties of this
layer. Whereever these properties overlap, the value of the
node properties is changed. No properties on the node are
deleted. If there are new properties in this list, they will be
added on the node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="Ze3p4Zstjr0I" isRoot="false" isAbstract="false" isQuery="false" name="mergeNodeProperties" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8iWgRzj0empg" value="" type="YNNkZ2fkKrSP" name="properties" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Compare the given properties list with the properties of this
node.

@return false only if the same property exists in both lists
but with a different value. Properties that are not in both
lists are disregarded." isSpecification="false" isLeaf="false" visibility="public" xmi.id="Lga2XYI5vfnS" isRoot="false" isAbstract="false" isQuery="false" name="check" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="QTjlk9ZYy7dc" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="gRA0IcPQKt4j" value="" type="YNNkZ2fkKrSP" name="properties" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="qnjUXX9sDhsi" isRoot="false" isAbstract="false" isQuery="false" name="accept" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="yJIbShrC0Jlu" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="MrheijOYV512" value="" type="FAm8oZbU0jSI" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return a thumbnail in requested size. The thumbnail is a rgba
QImage and may have transparent parts. Returns a fully
transparent QImage of the requested size if the current node
type cannot generate a thumbnail. If the requested size is too
big, return a null QImage." isSpecification="false" isLeaf="false" visibility="public" xmi.id="cAvnrlU4uGCi" isRoot="false" isAbstract="false" isQuery="false" name="createThumbnail" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="TIEQhQt7raqa" type="5nvWaPd7GI9B" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Xrf2xg4XoxJd" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="jnhb3sJsbTg6" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="xEhlB0Nsl2To" isRoot="false" isAbstract="false" isQuery="false" name="updateSettings" />
        <UML:Operation comment="@return true if this node is visible (i.e, active) in the graph" isSpecification="false" isLeaf="false" visibility="public" xmi.id="umeWDJaI6Umg" isRoot="false" isAbstract="false" isQuery="false" name="visible" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="hP8fWkIT3a4T" type="tPo7gxHdByML" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the visible status of this node. Visible nodes are active
in the graph, that is to say, they are taken into account when
merging. Invisible nodes play no role in the final image, but
will be modified when modifying all layers, for instance when
cropping.

Toggling the visibility of a node will not automatically lead
to recomposition." isSpecification="false" isLeaf="false" visibility="public" xmi.id="wjDhmfTeP7Ad" isRoot="false" isAbstract="false" isQuery="false" name="setVisible" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QjtUDgB45zBl" value="" type="RLl21qhIhuu0" name="v" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the locked status of this node. Locked nodes cannot be
edited." isSpecification="false" isLeaf="false" visibility="public" xmi.id="uQM4OjPISazC" isRoot="false" isAbstract="false" isQuery="false" name="locked" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="FudFDP9efO2M" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the locked status of this node. Locked nodes cannot be
edited." isSpecification="false" isLeaf="false" visibility="public" xmi.id="FSrdYzGwi9Rt" isRoot="false" isAbstract="false" isQuery="false" name="setLocked" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pcxtZ7cTXzVu" value="" type="RLl21qhIhuu0" name="l" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="guC6TCJgc8JA" isRoot="false" isAbstract="false" isQuery="false" name="x" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="mwRbWIBEhIrC" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="7X7ohYhU8dNf" isRoot="false" isAbstract="false" isQuery="false" name="setX" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ky6Fvc7bWKhx" value="" type="plCqVc8rRpV9" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="Uye66vFCTMy8" isRoot="false" isAbstract="false" isQuery="false" name="y" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="29f3hhUxb6Am" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="sdcyGydywjEr" isRoot="false" isAbstract="false" isQuery="false" name="setY" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="LLQqd7n76PCC" value="" type="plCqVc8rRpV9" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="JRMmlKudyUZE" isRoot="false" isAbstract="false" isQuery="false" name="extent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="VKO8gRTQLuzp" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="hoRnEdxV4IFn" isRoot="false" isAbstract="false" isQuery="false" name="exactBounds" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="AB3sRt4R2hUi" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="n1Ogkmn3i6cJ" xmi.id="c7Oabxn29yO3" isRoot="false" isAbstract="false" name="Private" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="OIAxnYXvlLBh" visibility="public" namespace="Logical View" xmi.id="KRaPIAhkfTFS" parent="n1Ogkmn3i6cJ" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="0ysUlEzImDlD" isRoot="false" isAbstract="false" name="QRegion" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="beE4KurBLFpU" isRoot="false" isAbstract="false" name="quint32" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="grbX1AfpOdvW" isRoot="false" isAbstract="false" name="QStringList" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="RnqpQkJxKg5O" isRoot="false" isAbstract="false" name="QList" />
      <UML:Dependency isSpecification="false" visibility="public" namespace="Logical View" xmi.id="WjsX20WUnNHB" client="OIAxnYXvlLBh" name="" supplier="r9ZkDaaGIh1s" />
      <UML:Enumeration stereotype="enum" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="DVSt0sHVf4Oc" isRoot="false" isAbstract="false" name="enumCursorStyle" >
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="DVSt0sHVf4Oc" xmi.id="lWTOjpLIkExp" isRoot="false" isAbstract="false" name="CURSOR_STYLE_TOOLICON" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="DVSt0sHVf4Oc" xmi.id="qUZd9dOM8rD6" isRoot="false" isAbstract="false" name="CURSOR_STYLE_CROSSHAIR" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="DVSt0sHVf4Oc" xmi.id="hScKWyuGVLeE" isRoot="false" isAbstract="false" name="CURSOR_STYLE_POINTER" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="DVSt0sHVf4Oc" xmi.id="AxXu9UkxwJa5" isRoot="false" isAbstract="false" name="CURSOR_STYLE_OUTLINE" />
      </UML:Enumeration>
      <UML:Enumeration stereotype="enum" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="uzQ2ob6T4ina" isRoot="false" isAbstract="false" name="enumResourceTypes" >
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="uzQ2ob6T4ina" xmi.id="fhqA0SMBNt3W" isRoot="false" isAbstract="false" name="RESOURCE_PAINTOP" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="uzQ2ob6T4ina" xmi.id="LlUF22Jwzjwl" isRoot="false" isAbstract="false" name="RESOURCE_FILTER" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="uzQ2ob6T4ina" xmi.id="K3EMjzxOelWf" isRoot="false" isAbstract="false" name="RESOURCE_TOOL" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="uzQ2ob6T4ina" xmi.id="CtqXmr48dWLf" isRoot="false" isAbstract="false" name="RESOURCE_COLORSPACE" />
      </UML:Enumeration>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="vartNRqzncBv" isRoot="false" isAbstract="false" name="KoXmlWriter" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="2xYEhuB52USm" isRoot="false" isAbstract="false" name="QDomElement" />
      <UML:Class comment="// 1 inch ^= 72 pt// 1 inch ^= 25.399956 mm (-pedantic ;p)// 1 pt = 1/12 pi// 1 pt ^= 0.0077880997 cc// 1 cc = 12 dd// Note: I don't use division but multiplication with the inverse value// because it's faster ;p (Werner)/**
%KOffice stores everything in pt (using &quot;double&quot;) internally.
When displaying a value to the user, the value is converted to the user's unit
of choice, and rounded to a reasonable precision to avoid 0.999999" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="OS1wi2Kbb9Sy" isRoot="false" isAbstract="false" name="KoUnit" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="YJvJv6Dv3j7k" isRoot="false" isAbstract="false" name="KoColorSpace" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="eJoelGQAjQ4P" isRoot="false" isAbstract="false" name="KoCompositeOp" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="QMy1VQ04jvNd" isRoot="false" isAbstract="false" name="KoColor" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="0aY3Kgowxcai" isRoot="false" isAbstract="false" name="KisActionRecorder" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="qyqXOuupGsqk" isRoot="false" isAbstract="false" name="KisUndoAdapter" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Joo2i9diiCl0" isRoot="false" isAbstract="false" name="KisFilterStrategy" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="qXwn7UTwSKTr" isRoot="false" isAbstract="false" name="KoColorProfile" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="EOeTEUDXHzYz" isRoot="false" isAbstract="false" name="KisProgressDisplayInterface" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="8BhoLQo9yiw3" isRoot="false" isAbstract="false" name="KisPerspectiveGrid" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="COzfiRUun8L1" isRoot="false" isAbstract="false" name="KisProjection" />
      <UML:Generalization isSpecification="false" child="LvutrOR9qmPI" visibility="public" namespace="Logical View" xmi.id="aWZrV5qcGVOa" parent="uh5NLRUavMwR" discriminator="" name="" />
      <UML:Class comment=" Copyright (c) 2007 Boudewijn Rempt &lt;boud@valdyas.org>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//**

KisNodeFacade is the public interface to adding and removing nodes.

XXX: also make this the public interface for setting node
properties so we don't need notifyPropertyChanged all over the
place?
" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="WecUNYFgbS0L" isRoot="false" isAbstract="false" name="KisNodeFacade" >
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="anVDfrHRBDkf" type="LYG39JPo7rZJ" name="m_d" />
        <UML:Operation stereotype="constructor" comment="Create a new, empty KisNodeFacade" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Rvh6hEjr7XOr" isRoot="false" isAbstract="false" isQuery="false" name="KisNodeFacade" />
        <UML:Operation stereotype="constructor" comment="Create a new kisnodefacade for the given root." isSpecification="false" isLeaf="false" visibility="public" xmi.id="OQz1uJhRxJvJ" isRoot="false" isAbstract="false" isQuery="false" name="KisNodeFacade" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="p8zPazi2vP6a" value="" type="r9ZkDaaGIh1s" name="root" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="dpPiMlaiCXk4" isRoot="false" isAbstract="false" isQuery="false" name="~ KisNodeFacade" />
        <UML:Operation comment="Set the rootnode for this facade" isSpecification="false" isLeaf="false" visibility="public" xmi.id="qRVoiO7VX4u5" isRoot="false" isAbstract="false" isQuery="false" name="setRoot" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="1c5u2BSdypKI" value="" type="r9ZkDaaGIh1s" name="root" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the root node for the graph this facade managed" isSpecification="false" isLeaf="false" visibility="public" xmi.id="buznPjrG8L2o" isRoot="false" isAbstract="false" isQuery="false" name="root" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Mwdy2nkV77cl" type="cyd2c3YzrBZA" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Move the given node to specified position. If the node already
has a parent, it is removed from the parent's node list." isSpecification="false" isLeaf="false" visibility="public" xmi.id="h7JCBEIAqN3q" isRoot="false" isAbstract="false" isQuery="false" name="moveNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Y5BtxBi8Kk0j" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="XVSTJmkugjf5" value="" type="r9ZkDaaGIh1s" name="node" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="SUJYpLMXSfjb" value="" type="r9ZkDaaGIh1s" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="rzkgNlWsEwLX" value="" type="r9ZkDaaGIh1s" name="aboveThis" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add an already existing node to the image. The node is put on top
of the nodes in the specified nodegroup. If parent is 0, then
the root is used as parent.

@param node the node to be added
@param parent the parent node" isSpecification="false" isLeaf="false" visibility="public" xmi.id="i5RMm6QCbjkO" isRoot="false" isAbstract="false" isQuery="false" name="addNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="d2AdhcJ3Ywzb" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="34vTid3ZalFx" value="" type="r9ZkDaaGIh1s" name="node" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Wkpkg9INCjjz" value="" type="r9ZkDaaGIh1s" name="parent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add already existing node to the graph.

@param node the node to be added
@param parent the parent node
@param aboveThis in the list with child nodes of the specified
                 parent, add this node above the specified sibling.
                 if 0, the node is put in the lowermost position in
                 its group.
returns false if adding the node didn't work, true if the node got added" isSpecification="false" isLeaf="false" visibility="public" xmi.id="o9BPrunuyhNg" isRoot="false" isAbstract="false" isQuery="false" name="addNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="kk4rpgbNlkEh" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="IOEs9RofBbQq" value="" type="r9ZkDaaGIh1s" name="node" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="kiBxPuuD23at" value="" type="r9ZkDaaGIh1s" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vMns38YJXkBg" value="" type="r9ZkDaaGIh1s" name="aboveThis" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Adds the node as a child of the given parent at the specified
index.

childCount() is a valid index and appends to the end. Fails and
returns false if the node is already in this group or any
other (remove it first.)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="CxKLZkBJQMEn" isRoot="false" isAbstract="false" isQuery="false" name="addNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="vupDcnwDn4pU" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="F6zHAZ83vtvw" value="" type="r9ZkDaaGIh1s" name="node" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="zUFWEPBOMTkv" value="" type="r9ZkDaaGIh1s" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="DvFbGROTYNkg" value="" type="beE4KurBLFpU" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Remove the specified node.

@return false if removing the node failed" isSpecification="false" isLeaf="false" visibility="public" xmi.id="vqjojfli70DJ" isRoot="false" isAbstract="false" isQuery="false" name="removeNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="g8VF5VopDse2" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="PMimpSh0LubZ" value="" type="r9ZkDaaGIh1s" name="node" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Move node up one slot, i.e., nextSibling becomes prevSibling" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Kx2sJkWEaF2H" isRoot="false" isAbstract="false" isQuery="false" name="raiseNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="XFNI0bztTm56" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="sn0zmBJ9XzvM" value="" type="r9ZkDaaGIh1s" name="node" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Move node down one slot -- i.e, prevSibling becomes
nextSibling.

@return false if moving the node failed" isSpecification="false" isLeaf="false" visibility="public" xmi.id="RbKkTvKlsMb9" isRoot="false" isAbstract="false" isQuery="false" name="lowerNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Z1HM66omFKzK" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="57LdLOvD9vDt" value="" type="r9ZkDaaGIh1s" name="node" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Move the given node to the top-most position among its
siblings.

@return false if moving the node failed." isSpecification="false" isLeaf="false" visibility="public" xmi.id="4U3bTwvsVFcx" isRoot="false" isAbstract="false" isQuery="false" name="toTop" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="nl70el0BzNRx" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8wiyHK8MRTzm" value="" type="r9ZkDaaGIh1s" name="node" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Move the given node to bottom-most position among its siblings.

@return false if moving the node failed." isSpecification="false" isLeaf="false" visibility="public" xmi.id="psyxlBqpdtO6" isRoot="false" isAbstract="false" isQuery="false" name="toBottom" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="yPqP9vVjvn3z" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="oJyJWYGeVxdk" value="" type="r9ZkDaaGIh1s" name="node" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="WecUNYFgbS0L" xmi.id="Hj4iA1T0uRxf" isRoot="false" isAbstract="false" name="Private" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="LvutrOR9qmPI" visibility="public" namespace="Logical View" xmi.id="kbWz7uZ15Gr1" parent="WecUNYFgbS0L" discriminator="" name="" />
      <UML:Class comment=" Copyright (c) 2007 Boudewijn Rempt &lt;boud@valdyas.org>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//**
Implementations of this class are called by nodes whenever the node
graph changes. These implementations can then emit the right
signals so Qt interview models can be updated before and after
changes.

The reason for this go-between is that we don't want our nodes to
be QObjects, nor to have sig-slot connections between every node
and every mode." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ejkmf8n0e33m" isRoot="false" isAbstract="false" name="KisNodeGraphListener" >
       <UML:Classifier.feature>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="lzKEwvyDc0tm" isRoot="false" isAbstract="false" isQuery="false" name="~ KisNodeGraphListener" />
        <UML:Operation comment="Inform the model that we're going to add a node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="2KmwlhZJT2U6" isRoot="false" isAbstract="true" isQuery="false" name="aboutToAddANode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vtLXtDItX4pH" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="kPYDP3JJoqMl" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're done adding a node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="57RK7LS3CmY4" isRoot="false" isAbstract="true" isQuery="false" name="nodeHasBeenAdded" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="xqxStljd8GoX" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="J5r5tDoyIFGO" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're going to remove a node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="ZhRlRxnOolqh" isRoot="false" isAbstract="true" isQuery="false" name="aboutToRemoveANode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="UYIco675ByA4" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Az0QCFoluDVL" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're done removing a node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="BIjz1XeV5w5r" isRoot="false" isAbstract="true" isQuery="false" name="nodeHasBeenRemoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="0DwBB7DJ4BkG" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QY0KmTfxlMul" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're about to start moving a node (which
includes removing and adding the same node)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="uYGxSMpSXjdg" isRoot="false" isAbstract="true" isQuery="false" name="aboutToMoveNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="oo0szk7OG5i0" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YMvHgp2YLHWn" value="" type="ItFeJIqwtsDb" name="oldIndex" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="bJF80qopcmfa" value="" type="ItFeJIqwtsDb" name="newIndex" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're done moving the node: it has been
removed and added succesfully" isSpecification="false" isLeaf="false" visibility="public" xmi.id="WkylpelL0fdf" isRoot="false" isAbstract="true" isQuery="false" name="nodeHasBeenMoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="UdDoshZTynZz" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="bMmE8RofCkOz" value="" type="ItFeJIqwtsDb" name="oldIndex" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="O7LNmw2FXF1Q" value="" type="ItFeJIqwtsDb" name="newIndex" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="LvutrOR9qmPI" visibility="public" namespace="Logical View" xmi.id="qzitFZu8Jz2x" parent="ejkmf8n0e33m" discriminator="" name="" />
      <UML:Generalization isSpecification="false" child="LvutrOR9qmPI" visibility="public" namespace="Logical View" xmi.id="2HyMFyH0Z7pL" parent="dJN5jYFhlQTp" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="AXbbrSN0qCuy" isRoot="false" isAbstract="false" name="QPainter" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="ux9yXIjbILRZ" isRoot="false" isAbstract="false" name="KoColorConversionTransformation" >
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="ux9yXIjbILRZ" xmi.id="TLELTcH1yUBn" isRoot="false" isAbstract="false" name="Intent" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="s1fGRqzJa1aq" isRoot="false" isAbstract="false" name="QPointF" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="zqYjSGDSNBuW" isRoot="false" isAbstract="false" name="QRectF" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="T0A1FCZoyNzh" isRoot="false" isAbstract="false" name="QSize" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Unb0KgvIizIs" isRoot="false" isAbstract="false" name="KisTiledRectIterator" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="qf6EfjXsKyck" isRoot="false" isAbstract="false" name="KisTiledRectIteratorSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="SwoO53uXqVYB" isRoot="false" isAbstract="false" name="KisTiledVLineIterator" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="9RRsOjiDMoPz" isRoot="false" isAbstract="false" name="KisTiledVLineIteratorSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="YusqtSaJPMhS" isRoot="false" isAbstract="false" name="KisTiledHLineIterator" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Pb0E5WNEvm4H" isRoot="false" isAbstract="false" name="KisTiledHLineIteratorSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Y6DvUKZG26uB" isRoot="false" isAbstract="false" name="quint8" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="D8wZtyvx5APh" isRoot="false" isAbstract="false" name="KisRectIterator" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="DDqNn5dOF7Ar" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="lglylup3V7HD" isRoot="false" isAbstract="false" isQuery="false" name="KisRectIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9R6KWYRZvQhQ" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pW8QABnvpXta" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Ribwnq7uHDFo" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="jeNc432tZ8Ih" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="H3c4aTe19Dyu" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="35pJH450iQbm" isRoot="false" isAbstract="false" isQuery="false" name="rawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="rsl6AjOvUVv6" type="Tde1kwi1zJ4Y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="miZuuXoxbdEs" isRoot="false" isAbstract="false" isQuery="false" name="operator +=" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="FvFEIf9E2zdB" type="gvmdEqByXlsR" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="fJqNkR8D3mCn" value="" type="ItFeJIqwtsDb" name="n" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="GfMrGbhwsYHc" isRoot="false" isAbstract="false" isQuery="false" name="operator ++" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="t7umswljmUow" type="gvmdEqByXlsR" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class comment="The KisRectIterator iterators over a rectangular area in the most efficient order. That is,
there is no guarantee that the iterator will work scanline by scanline." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="nbf8kfk8vin6" isRoot="false" isAbstract="false" name="KisRectConstIterator" >
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="b9WoeBTR06ow" type="qf6EfjXsKyck" name="m_iter" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="5VySrdvEDvSI" isRoot="false" isAbstract="false" isQuery="false" name="KisRectConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="wd1kEwOJRKmG" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="yhVBavRxjtFI" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="SoJms9gmkgXy" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ctF2D1I9glIE" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="hjBOdOe3Dxp3" value="" type="plCqVc8rRpV9" name="h" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="4UqmALkmE0oR" value="" type="RLl21qhIhuu0" name="writable" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="z5ZeqrsVZ2rA" isRoot="false" isAbstract="false" isQuery="false" name="KisRectConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QWDdR1fUVVGd" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="q1N2zCTwF2a3" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="sRZRTObrumTK" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="n8oGd2tR1HT0" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="RuvevVhnwGEP" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="dnFXZipNqbbT" isRoot="false" isAbstract="false" isQuery="false" name="~ KisRectConstIterator" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="eTsfiLe9FZnA" isRoot="false" isAbstract="false" isQuery="false" name="KisRectConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Jfp9GQasrSYZ" value="" type="4Svzh9MKubrU" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="nAi1jTBlw7kd" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="DCpggkmvd07t" type="oiWgA4DwEwxv" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="E7v9ikb0PQ9e" value="" type="4Svzh9MKubrU" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="N6hHBPsOWnVD" isRoot="false" isAbstract="false" isQuery="false" name="rawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="fG5hDgs4nlqd" type="887N24GN8xfK" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns a pointer to the pixel data as it was at the moment of the last memento creation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="NVirHD2nHDil" isRoot="false" isAbstract="false" isQuery="false" name="oldRawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="hbLT49NFJCvz" type="887N24GN8xfK" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns the number of consecutive pixels that we point at/// This is useful for optimizing" isSpecification="false" isLeaf="false" visibility="public" xmi.id="YIzYOujW2or4" isRoot="false" isAbstract="false" isQuery="false" name="nConseqPixels" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ugsVgxOJBRyP" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Advances a number of pixels until it reaches the end of the rect" isSpecification="false" isLeaf="false" visibility="public" xmi.id="q6Rz34JOYzEp" isRoot="false" isAbstract="false" isQuery="false" name="operator +=" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="7oRtXIWErrft" type="oiWgA4DwEwxv" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="AGcRSKA0a9Wy" value="" type="ItFeJIqwtsDb" name="n" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Advances one pixel going to the beginning of the next line when it reaches the end of a line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3ET32I5tOVqQ" isRoot="false" isAbstract="false" isQuery="false" name="operator ++" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="y09IA4F4i8ZM" type="oiWgA4DwEwxv" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// returns true when iterators has reached the end" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Z9m560uGFUhh" isRoot="false" isAbstract="false" isQuery="false" name="isDone" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="3vfFKbcSO3Lv" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="// current x position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ppfNy9M0Ln3O" isRoot="false" isAbstract="false" isQuery="false" name="x" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Jp89hl2fmBvw" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="// current y position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="39FSc5qBCcHG" isRoot="false" isAbstract="false" isQuery="false" name="y" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="EBzwJWJMQwZk" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="D8wZtyvx5APh" visibility="public" namespace="Logical View" xmi.id="DDqNn5dOF7Ar" parent="nbf8kfk8vin6" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="V02AviWYalAl" isRoot="false" isAbstract="false" name="KisHLineIterator" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="xJgN7lXaAuQH" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="CBVN3teBf744" isRoot="false" isAbstract="false" isQuery="false" name="KisHLineIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3rzxe2nAdAEy" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="h3FVUsRg1u32" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ofDRmFVn6Slj" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="UYt6i54P8Jva" value="" type="plCqVc8rRpV9" name="w" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="AKG9EIC2vNTg" isRoot="false" isAbstract="false" isQuery="false" name="rawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="YBCuFVpYLxf2" type="Tde1kwi1zJ4Y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="dxThNEQqnHwT" isRoot="false" isAbstract="false" isQuery="false" name="operator ++" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="hifTtbN7mM23" type="MytSIm2Q4HXI" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="XhJS5k8gfaL3" isRoot="false" isAbstract="false" isQuery="false" name="operator +=" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="tLNHHx1n8EhL" type="fHAqxAXnTOmp" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="omrb1n5Mlwo1" value="" type="ItFeJIqwtsDb" name="n" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="gpRk4x0beJ1h" isRoot="false" isAbstract="false" isQuery="false" name="operator --" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="jXs2SX47Fia7" type="fHAqxAXnTOmp" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="MJElEQaUzHoE" isRoot="false" isAbstract="false" name="KisHLineConstIterator" >
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="TRMs6GLElgTw" type="Pb0E5WNEvm4H" name="m_iter" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="xPo090lnvYP7" isRoot="false" isAbstract="false" isQuery="false" name="KisHLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Ma6rJwGYbdNs" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="C5m4b3fYRTXa" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="TIONolUBLY0d" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="VH94sWu4bg6A" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ilj9EGjiW55L" value="" type="RLl21qhIhuu0" name="writable" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="qXUA6UlZludd" isRoot="false" isAbstract="false" isQuery="false" name="KisHLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QWf0CmAsVr1k" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5lQcoTxd0Rn4" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vWdfQFGolumv" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="exo9mptsYHUL" value="" type="plCqVc8rRpV9" name="w" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="kRyjqjnjFPOd" isRoot="false" isAbstract="false" isQuery="false" name="~ KisHLineConstIterator" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="edRNXEIB94Kt" isRoot="false" isAbstract="false" isQuery="false" name="KisHLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="OeCd3YGfBg2i" value="" type="sClQTFjCehtS" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="sJrzNCsFMeen" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="JwC3IE69ZRQp" type="fHAqxAXnTOmp" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="rNzU3qwRV63W" value="" type="sClQTFjCehtS" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Yf2uHgi62fa5" isRoot="false" isAbstract="false" isQuery="false" name="rawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="OQcVeIqLniOD" type="887N24GN8xfK" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns a pointer to the pixel data as it was at the moment of the last memento creation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="WVUzbXTEpd3k" isRoot="false" isAbstract="false" isQuery="false" name="oldRawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="GQLV6taPpnQ6" type="887N24GN8xfK" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Advances one pixel until it reaches the end of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="oaYHwI4Tv7LC" isRoot="false" isAbstract="false" isQuery="false" name="operator ++" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="1UFZweMK4wng" type="fHAqxAXnTOmp" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns the number of consecutive horizontal pixels that we point at/// This is useful for optimizing" isSpecification="false" isLeaf="false" visibility="public" xmi.id="l3JlhroBKJAu" isRoot="false" isAbstract="false" isQuery="false" name="nConseqHPixels" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Eez1MLFamY4s" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Advances a number of pixels until it reaches the end of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="od8dHBM3juIe" isRoot="false" isAbstract="false" isQuery="false" name="operator +=" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ReGHReNR9ay5" type="fHAqxAXnTOmp" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="AN76SSIDUZzB" value="" type="ItFeJIqwtsDb" name="n" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Goes back one pixel until it reaches the beginning of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="PnMj4Ubt5kUM" isRoot="false" isAbstract="false" isQuery="false" name="operator --" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="EKNGGBuTnuU7" type="fHAqxAXnTOmp" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// returns true when iterators has reached the end" isSpecification="false" isLeaf="false" visibility="public" xmi.id="tqNbigFt3KzV" isRoot="false" isAbstract="false" isQuery="false" name="isDone" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="FhizFmqhQ4wq" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// current x position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="kFgCnfLCRftT" isRoot="false" isAbstract="false" isQuery="false" name="x" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="iJFrrDu4VGKj" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// current y position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="9VMFDrZ6fxfO" isRoot="false" isAbstract="false" isQuery="false" name="y" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="PFCC7hJKM1Ic" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// increment to the next row and rewind to the beginning" isSpecification="false" isLeaf="false" visibility="public" xmi.id="duFeCC9vPp7C" isRoot="false" isAbstract="false" isQuery="false" name="nextRow" />
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="V02AviWYalAl" visibility="public" namespace="Logical View" xmi.id="xJgN7lXaAuQH" parent="MJElEQaUzHoE" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="vejS6gHXINQJ" isRoot="false" isAbstract="false" name="KisVLineIterator" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="8atWJE1UA5yv" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="k5auAWn7GPVf" isRoot="false" isAbstract="false" isQuery="false" name="KisVLineIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="wFz8fmPkoC7F" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="PlnCHpGzupt3" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Le8Z2dEyqE6U" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="0UEpgM255nFM" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="cTLVICYergDr" isRoot="false" isAbstract="false" isQuery="false" name="rawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="n8HCCD2sUHiL" type="Tde1kwi1zJ4Y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="JSp8euccOoP2" isRoot="false" isAbstract="false" isQuery="false" name="operator ++" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ScPxqigFvtR2" type="AQ7EDKaonuJ6" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Ec82YJUBPSnc" isRoot="false" isAbstract="false" name="KisVLineConstIterator" >
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="Ax3UlrliUjxL" type="9RRsOjiDMoPz" name="m_iter" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="48NhijiWTZ6U" isRoot="false" isAbstract="false" isQuery="false" name="KisVLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="M9q65d5jSVRW" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="SR56j6olC9Su" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="sBPLkVo5ec9h" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="FEOfjp9BEEGx" value="" type="plCqVc8rRpV9" name="h" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="J2iVBBO2MnN4" value="" type="RLl21qhIhuu0" name="writable" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="G99smIX1XvfE" isRoot="false" isAbstract="false" isQuery="false" name="KisVLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ioOw3cuKeann" value="" type="PnUKZZZ2L4qu" name="dm" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="lBp5wBAAIJ24" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="aX45SjJAXf5Y" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="HxqtXehJnUOi" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="dWqwot0OO2Tr" isRoot="false" isAbstract="false" isQuery="false" name="~ KisVLineConstIterator" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="lkzHQ4nf1eZX" isRoot="false" isAbstract="false" isQuery="false" name="KisVLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="REtpHKe02eHS" value="" type="GEq1iCjKhaGV" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="g36gffDvr1wX" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="YlKukcWYkniu" type="Y5bbhr1Lu7zZ" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BersC7NdMEQb" value="" type="GEq1iCjKhaGV" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// returns a pointer to the pixel data. Do NOT interpret the data - leave that to a colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="kASZ9M7LywBA" isRoot="false" isAbstract="false" isQuery="false" name="rawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="yklSzTmR3BOu" type="887N24GN8xfK" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns a pointer to the pixel data as it was at the moment of the last memento creation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="2ZlOnAxKDYts" isRoot="false" isAbstract="false" isQuery="false" name="oldRawData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="r29mvbmTK7M2" type="887N24GN8xfK" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Advances one pixel until it reaches the end of the line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="PsBHyBogJEGT" isRoot="false" isAbstract="false" isQuery="false" name="operator ++" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="jsYSeGKa053z" type="Y5bbhr1Lu7zZ" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// returns true when iterators has reached the end" isSpecification="false" isLeaf="false" visibility="public" xmi.id="bLmXHxgJWRfI" isRoot="false" isAbstract="false" isQuery="false" name="isDone" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="WnOawmSopbai" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// current x position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ZcamBTcYJoqH" isRoot="false" isAbstract="false" isQuery="false" name="x" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ALASSWV9M3Z0" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// current y position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="xcyGrEhQZTxo" isRoot="false" isAbstract="false" isQuery="false" name="y" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="KubIxcGSNe2J" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// increment to the next column and rewind to the beginning" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Rd8v3nBaOjLX" isRoot="false" isAbstract="false" isQuery="false" name="nextCol" />
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="vejS6gHXINQJ" visibility="public" namespace="Logical View" xmi.id="8atWJE1UA5yv" parent="Ec82YJUBPSnc" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="6rivXtmoJawx" isRoot="false" isAbstract="false" name="KisIteratorPixelTrait" >
       <UML:ModelElement.templateParameter>
        <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="6rivXtmoJawx" xmi.id="UWYqLxsTNxfZ" isRoot="false" isAbstract="false" name="_iTp" />
        <UML:TemplateParameter isSpecification="false" isLeaf="false" visibility="public" namespace="6rivXtmoJawx" xmi.id="HGN2Ag6GVoA2" isRoot="false" isAbstract="false" name="TSelect" />
       </UML:ModelElement.templateParameter>
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="protected" xmi.id="Uu3l950lfdAV" type="MzIroQrUMfTr" name="m_underlyingIterator" />
        <UML:Attribute isSpecification="false" visibility="protected" xmi.id="J5rAxxkYzzwY" type="MzIroQrUMfTr" name="m_selectionIterator" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="iwo1WjxyFVoY" isRoot="false" isAbstract="false" isQuery="false" name="KisIteratorPixelTrait" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="OQpctcAKG88s" value="" type="MzIroQrUMfTr" name="underlyingIterator" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="mTif9bhVbxKN" isRoot="false" isAbstract="false" isQuery="false" name="~ KisIteratorPixelTrait" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="NBrjqIYFhOpa" isRoot="false" isAbstract="false" isQuery="false" name="KisIteratorPixelTrait" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QC319LOWWDEN" value="" type="0zuG608sRrVY" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="UmaBAPj8McNQ" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="RU7E3iwE34gT" type="x7eUIqpmdPxl" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="cVI2Koalyck8" value="" type="0zuG608sRrVY" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="mfu8HHZtkpt3" isRoot="false" isAbstract="false" isQuery="false" name="operator [ ]" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="a9axDAvX2Upx" type="Y6DvUKZG26uB" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="bUma6Wi1bKVu" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="9IgmfcVRHNYY" isRoot="false" isAbstract="false" isQuery="false" name="isSelected" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="45PRkPl9rsLt" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="e5PNsJOUnA2r" isRoot="false" isAbstract="false" isQuery="false" name="selectedness" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="YH7ZKl0uvbr8" type="Y6DvUKZG26uB" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="eisE0M89eovI" isRoot="false" isAbstract="false" isQuery="false" name="selectionMask" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="OPhfmFBPIbm9" isRoot="false" isAbstract="false" isQuery="false" name="selectionIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="jndlHQgMU6lC" type="s8dfGdUsLK6L" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="gEVJ1ObNnI3Y" isRoot="false" isAbstract="false" isQuery="false" name="advance" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="WCxmljvdpWI5" value="" type="ItFeJIqwtsDb" name="n" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="9kxS54ojGH2H" isRoot="false" isAbstract="false" isQuery="false" name="retreat" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="dbfPsgxMqu8c" isRoot="false" isAbstract="false" isQuery="false" name="setSelectionIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="b2FQYWVgGQ8L" value="" type="MzIroQrUMfTr" name="si" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Sg0obfLstit3" isRoot="false" isAbstract="false" name="_iTp" />
      <UML:Generalization isSpecification="false" child="JJWo5qPVnzZr" visibility="public" namespace="Logical View" xmi.id="C17pfHKwK94H" parent="VPEmpK5IF83O" discriminator="" name="" />
      <UML:Generalization isSpecification="false" child="JJWo5qPVnzZr" visibility="public" namespace="Logical View" xmi.id="CQiGEkCMpOk0" parent="7UoRdshkfUoR" discriminator="" name="" />
      <UML:Dependency isSpecification="false" visibility="public" namespace="Logical View" xmi.id="4ta80y3tj8O0" client="JJWo5qPVnzZr" name="" supplier="VPEmpK5IF83O" />
      <UML:Dependency isSpecification="false" visibility="public" namespace="Logical View" xmi.id="jN94uIQNUdYl" client="JJWo5qPVnzZr" name="" supplier="VPEmpK5IF83O" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="VPEmpK5IF83O" isRoot="false" isAbstract="false" name="T" />
      <UML:Generalization isSpecification="false" child="wcdQ3vYlpmri" visibility="public" namespace="Logical View" xmi.id="Ht66XSkZuvV0" parent="VPEmpK5IF83O" discriminator="" name="" />
      <UML:Generalization isSpecification="false" child="wcdQ3vYlpmri" visibility="public" namespace="Logical View" xmi.id="N4gFxCFgZzp7" parent="7UoRdshkfUoR" discriminator="" name="" />
      <UML:Dependency isSpecification="false" visibility="public" namespace="Logical View" xmi.id="sIMAcRCnuChw" client="wcdQ3vYlpmri" name="" supplier="VPEmpK5IF83O" />
      <UML:Dependency isSpecification="false" visibility="public" namespace="Logical View" xmi.id="AG7zxvP6uZ54" client="wcdQ3vYlpmri" name="" supplier="VPEmpK5IF83O" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="SCDMtPBFib3M" isRoot="false" isAbstract="false" name="QRect" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="5nvWaPd7GI9B" isRoot="false" isAbstract="false" name="QImage" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="270SBmI2USTD" isRoot="false" isAbstract="false" name="QPoint" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="W652rvrk8Rot" isRoot="false" isAbstract="false" name="QPaintEngine" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="tZJ6DcpuqNLu" isRoot="false" isAbstract="false" name="KoStore" />
      <UML:Class comment="This is the image class, it contains a tree of KisLayer stack and meta information about the image. And it also provides some functions
to manipulate the whole image." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="LvutrOR9qmPI" isRoot="false" isAbstract="false" name="KisImage" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="aWZrV5qcGVOa" />
        <UML:Generalization xmi.idref="kbWz7uZ15Gr1" />
        <UML:Generalization xmi.idref="qzitFZu8Jz2x" />
        <UML:Generalization xmi.idref="2HyMFyH0Z7pL" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="DcTmSVK4y9HY" type="x242BtNGO1dI" name="m_d" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="rzKQ69k58u1a" isRoot="false" isAbstract="false" isQuery="false" name="KisImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="wE008gKxdcOh" value="" type="RiWkbWh9K9He" name="adapter" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="j6kr0mPSUtA5" value="" type="plCqVc8rRpV9" name="width" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QrCkySMugKvm" value="" type="plCqVc8rRpV9" name="height" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="nncGgnJ4cWnb" value="" type="0Dibn6JWC3NC" name="colorSpace" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="w9TaUMKSX24K" value="" type="xciUhaOfBB6A" name="name" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="6LqGMCRAx3Qb" isRoot="false" isAbstract="false" isQuery="false" name="KisImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="o0VL2Xg9sUPE" value="" type="qjeRDR27aTh2" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="eqMbsmBgUp7f" isRoot="false" isAbstract="false" isQuery="false" name="~ KisImage" />
        <UML:Operation comment="// KisNodeGraphListener implementation" isSpecification="false" isLeaf="false" visibility="public" xmi.id="G7nobSrPSKiV" isRoot="false" isAbstract="false" isQuery="false" name="aboutToAddANode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="rOchrzvVqG7g" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2GMU5UALbv7A" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="NwXoGGJ5ctmT" isRoot="false" isAbstract="false" isQuery="false" name="nodeHasBeenAdded" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="sgzgw4MwKjRN" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BZgmUnvpkSd0" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="gu4JnokeShKM" isRoot="false" isAbstract="false" isQuery="false" name="aboutToRemoveANode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="jfJ1OiOXH4Jj" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="sCYcdCaJ6ccs" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="RNWt2qEmTXnr" isRoot="false" isAbstract="false" isQuery="false" name="nodeHasBeenRemoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="DCMSGgB6qhgT" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="rHnwrNoIiIAl" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="8OXctKR6WoYl" isRoot="false" isAbstract="false" isQuery="false" name="aboutToMoveNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ShrGMYkEnX8e" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="swvbE5MKRtuK" value="" type="ItFeJIqwtsDb" name="oldIndex" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BKOg6wPWbEmv" value="" type="ItFeJIqwtsDb" name="newIndex" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="kU9XzHAsB3TN" isRoot="false" isAbstract="false" isQuery="false" name="nodeHasBeenMoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8niXearpsFTy" value="" type="ulX5yHkiE2uA" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9sSi7FdrjlNj" value="" type="ItFeJIqwtsDb" name="oldIndex" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="0XZCa2XgpDBT" value="" type="ItFeJIqwtsDb" name="newIndex" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Paint the specified rect onto the painter, adjusting the colors
using the given profile. The exposure setting is used if the image
has a high dynamic range." isSpecification="false" isLeaf="false" visibility="public" xmi.id="o0GgFkdMc52j" isRoot="false" isAbstract="false" isQuery="false" name="renderToPainter" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="IfZ0OwhPRGZz" value="" type="plCqVc8rRpV9" name="srcX" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="G6f3KoW8okm1" value="" type="plCqVc8rRpV9" name="srcY" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="UNN7RNoh0NhP" value="" type="plCqVc8rRpV9" name="dstX" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="JMoicLhqRKtl" value="" type="plCqVc8rRpV9" name="dstY" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8Prw8cxczIhQ" value="" type="plCqVc8rRpV9" name="width" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="fU6gpn37Appk" value="" type="plCqVc8rRpV9" name="height" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="4VgCKWuU3T3s" value="" type="osao8GCokGSZ" name="painter" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YMXIcxseSWqk" value="" type="wOsmbnkPdKBl" name="profile" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="0lC3CGu8emuD" value="" type="Dlv6b8f7hBiH" name="exposure" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Render the projection onto a QImage." isSpecification="false" isLeaf="false" visibility="public" xmi.id="XedAxouV8Rml" isRoot="false" isAbstract="false" isQuery="false" name="convertToQImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="TWLJNgCvvJTF" type="5nvWaPd7GI9B" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="NcPn8EY9xiA9" value="" type="plCqVc8rRpV9" name="x1" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="w4IZpCmMpPVk" value="" type="plCqVc8rRpV9" name="y1" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="CPFIo139bRxk" value="" type="plCqVc8rRpV9" name="width" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="dTraBzh82zfr" value="" type="plCqVc8rRpV9" name="height" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ARBxpehz3uHq" value="" type="wOsmbnkPdKBl" name="profile" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="uJzVkuFLN4tZ" value="" type="Dlv6b8f7hBiH" name="exposure" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Render the projection scaled onto a QImage. Use this when
zoom &lt; 100% to avoid color-adjusting pixels that will be
filtered away anyway. It uses nearest-neighbour sampling, so
the result is inaccurate and ugly. Set the option &quot;fast_zoom&quot;
to true to make Krita use this.

@param r the source rectangle in pixels that needs to be drawn
@param xScale the X axis scale in percent
@param yScale the Y axis scale in percent
@param projection the display profile
@param exposure the exposure (for hdr images)

@return a qimage containing the sampled image pixels" isSpecification="false" isLeaf="false" visibility="public" xmi.id="4af4YKvgj4dY" isRoot="false" isAbstract="false" isQuery="false" name="convertToQImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="2T8v2x1lkeU0" type="5nvWaPd7GI9B" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="jIXkCnY66Wao" value="" type="hNzgzRoeVpOX" name="r" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Iro1vPYch3Ns" value="" type="Qn9os2Nua0y8" name="xScale" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="qvwwRWksKreA" value="" type="Qn9os2Nua0y8" name="yScale" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="r14Sz0aHrNGk" value="" type="wOsmbnkPdKBl" name="profile" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="mmNSqkKedEZ3" value="" type="Dlv6b8f7hBiH" name="exposure" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Lock the image to make sure no recompositing-causing signals get emitted
while you're messing with the layers. Don't forget to unlock again." isSpecification="false" isLeaf="false" visibility="public" xmi.id="lJv59ZF0YHSV" isRoot="false" isAbstract="false" isQuery="false" name="lock" />
        <UML:Operation comment="Unlock the image to make sure the rest of Krita learns about changes in the image
again." isSpecification="false" isLeaf="false" visibility="public" xmi.id="H1m6O0q8nDab" isRoot="false" isAbstract="false" isQuery="false" name="unlock" />
        <UML:Operation comment="Returns true if the image is locked." isSpecification="false" isLeaf="false" visibility="public" xmi.id="vsFZ7oas6VvD" isRoot="false" isAbstract="false" isQuery="false" name="locked" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="3BKXF3jia2zx" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="28DYPe3efnk1" isRoot="false" isAbstract="false" isQuery="false" name="backgroundColor" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="gBqZSHnVjtQl" type="QMy1VQ04jvNd" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="la9Wmi7faLCf" isRoot="false" isAbstract="false" isQuery="false" name="setBackgroundColor" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="EqXrbHsNqztc" value="" type="7mVBHOOHWant" name="color" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return the global selection object or 0 if there is none. The
global selection is always read-write." isSpecification="false" isLeaf="false" visibility="public" xmi.id="hzHGIUvPGPbW" isRoot="false" isAbstract="false" isQuery="false" name="globalSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="qQXZ4zZ5ArcN" type="W5laFfU1BjN4" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Replaces the current global selection with globalSelection. If
globalSelection is empty, a new selection object will be
created that is by default completely deselected." isSpecification="false" isLeaf="false" visibility="public" xmi.id="nxlKXXDlLjax" isRoot="false" isAbstract="false" isQuery="false" name="setGlobalSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="0SIoS9O78gNQ" value="" type="W5laFfU1BjN4" name="globalSelection" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Removes the global selection." isSpecification="false" isLeaf="false" visibility="public" xmi.id="8HoMgPqTMals" isRoot="false" isAbstract="false" isQuery="false" name="removeGlobalSelection" />
        <UML:Operation comment="Retrieve the next automatic layername." isSpecification="false" isLeaf="false" visibility="public" xmi.id="7xbSgCPecfR2" isRoot="false" isAbstract="false" isQuery="false" name="nextLayerName" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="uJ6SJ3NxFCXh" type="zbmT1UpYYDfP" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the automatic layer name counter one back." isSpecification="false" isLeaf="false" visibility="public" xmi.id="ppAvTVKbm8wQ" isRoot="false" isAbstract="false" isQuery="false" name="rollBackLayerName" />
        <UML:Operation comment="@return the perspective grid associated to this image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="VkspKbhRYJsC" isRoot="false" isAbstract="false" isQuery="false" name="perspectiveGrid" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="TIACBZw1zRa1" type="TFp5vE8i3IdX" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Resize the image to the specified width and height. The resize
method handles the creating on an undo step itself.

@param w the new width of the image
@param h the new height of the image
@param x the x position of the crop on all layer if cropLayers is true
@param y the y position of the crop on all layer if cropLayers is true
@param cropLayers if true, all layers are cropped to the new size." isSpecification="false" isLeaf="false" visibility="public" xmi.id="nx6Y32wWlmM5" isRoot="false" isAbstract="false" isQuery="false" name="resize" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="O1VuIN5lcsrX" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="6zF9Fre0mlWq" value="" type="plCqVc8rRpV9" name="h" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="lTMWFgcbg7Uy" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="UZi4RXcXWpej" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="gJjR4GHphbKu" value="" type="RLl21qhIhuu0" name="cropLayers" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Resize the image to the specified width and height. The resize
method handles the creating on an undo step itself.

@param rc the rect describing the new width and height of the image
@param cropLayers if true, all layers are cropped to the new rect" isSpecification="false" isLeaf="false" visibility="public" xmi.id="GwUw1ysTXYXw" isRoot="false" isAbstract="false" isQuery="false" name="resize" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="57TZv5IZO00Q" value="" type="hNzgzRoeVpOX" name="rc" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="EFEtrYl5SF1T" value="" type="RLl21qhIhuu0" name="cropLayers" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Execute a scale transform on all layers in this image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="DruiQPeTV53Q" isRoot="false" isAbstract="false" isQuery="false" name="scale" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BJxXJyyVDCO2" value="" type="PX1va5p2Oa2Q" name="sx" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="kA7CN6dZwVHM" value="" type="PX1va5p2Oa2Q" name="sy" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="hevsqHvYP2in" value="" type="uunNzql88jgP" name="m_progress" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="zpb7WHWBtP4h" value="" type="7LM3obNgVA4T" name="filterStrategy" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Execute a rotate transform on all layers in this image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="hxD4xvp4E972" isRoot="false" isAbstract="false" isQuery="false" name="rotate" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="lSjGdljcYJj5" value="" type="PX1va5p2Oa2Q" name="radians" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YDESdI7IDLMB" value="" type="uunNzql88jgP" name="m_progress" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Execute a shear transform on all layers in this image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="GADVJLV4nCJO" isRoot="false" isAbstract="false" isQuery="false" name="shear" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="x00UJhZstlIW" value="" type="PX1va5p2Oa2Q" name="angleX" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="4PmFk6QzGeSa" value="" type="PX1va5p2Oa2Q" name="angleY" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="xxciAt75u5ZB" value="" type="uunNzql88jgP" name="m_progress" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convert the image and all its layers to the dstColorSpace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="l61esH8uhs9P" isRoot="false" isAbstract="false" isQuery="false" name="convertTo" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="yYMDAol7mNnu" value="" type="0Dibn6JWC3NC" name="dstColorSpace" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="FGXb3PqwMzsr" value="" type="TLELTcH1yUBn" name="renderingIntent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="// Get the profile associated with this image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="FbTXuu7LEJeh" isRoot="false" isAbstract="false" isQuery="false" name="profile" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Q77bwhwp10HI" type="wOsmbnkPdKBl" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the profile of the image to the new profile and do the same for
all layers that have the same colorspace and profile as the image.
It doesn't do any pixel conversion.

This is essential if you have loaded an image that didn't
have an embedded profile to which you want to attach the right profile." isSpecification="false" isLeaf="false" visibility="public" xmi.id="vvguOphd5CE6" isRoot="false" isAbstract="false" isQuery="false" name="setProfile" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8rgMBK16Ef0c" value="" type="b20x1snFRGmL" name="profile" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Replace the current undo adapter with the specified undo adapter.
The current undo adapter will _not_ be deleted." isSpecification="false" isLeaf="false" visibility="public" xmi.id="UfFXpSeQUeMU" isRoot="false" isAbstract="false" isQuery="false" name="setUndoAdapter" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="V9hwNTITJwoU" value="" type="RiWkbWh9K9He" name="undoAdapter" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the current undo adapter. You can add new commands to the
undo stack using the adapter" isSpecification="false" isLeaf="false" visibility="public" xmi.id="HpYVVX7zAKV0" isRoot="false" isAbstract="false" isQuery="false" name="undoAdapter" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="4dGJpl0I3BTC" type="RiWkbWh9K9He" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return the action recorder associated with this image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="k9ODlkfGrMDC" isRoot="false" isAbstract="false" isQuery="false" name="actionRecorder" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="iPBhqmiGrppm" type="nTg6PUYeH79m" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns true if this image wants undo information, false otherwise" isSpecification="false" isLeaf="false" visibility="public" xmi.id="eEkoXFmFMBS5" isRoot="false" isAbstract="false" isQuery="false" name="undo" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="VmbWmqmqT29I" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Tell the image it's modified; this emits the sigImageModified signal. This happens
 when the image needs to be saved" isSpecification="false" isLeaf="false" visibility="public" xmi.id="t5MjPXvD0ZJN" isRoot="false" isAbstract="false" isQuery="false" name="setModified" />
        <UML:Operation comment="The default colorspace of this image: new layers will have this colorspace
and the projection will have this colorspace." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1s2Jx93ZMlNt" isRoot="false" isAbstract="false" isQuery="false" name="colorSpace" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="l8ZmH2yzRAeH" type="0Dibn6JWC3NC" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="X resolution in pixels per pt" isSpecification="false" isLeaf="false" visibility="public" xmi.id="y86KJXOAcit2" isRoot="false" isAbstract="false" isQuery="false" name="xRes" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="uMVjALVf769r" type="PX1va5p2Oa2Q" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Y resolution in pixels per pt" isSpecification="false" isLeaf="false" visibility="public" xmi.id="FnFDKWYMMadJ" isRoot="false" isAbstract="false" isQuery="false" name="yRes" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="vviMwpfhvCUC" type="PX1va5p2Oa2Q" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the resolution in pixels per pt." isSpecification="false" isLeaf="false" visibility="public" xmi.id="kgs6SExOK3hb" isRoot="false" isAbstract="false" isQuery="false" name="setResolution" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="a5lDndD0QQBi" value="" type="PX1va5p2Oa2Q" name="xres" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="uj4HIhY2MP6m" value="" type="PX1va5p2Oa2Q" name="yres" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convert a document coordinate to a pixel coordinate.

@param documentCoord PostScript Pt coordinate to convert." isSpecification="false" isLeaf="false" visibility="public" xmi.id="b1Av4rWduFqh" isRoot="false" isAbstract="false" isQuery="false" name="documentToPixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="EQ9dYnsS8NAI" type="s1fGRqzJa1aq" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pSejhSPYR4mq" value="" type="h7s3Wwp5xxy1" name="documentCoord" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convert a document coordinate to an integer pixel coordinate.

@param documentCoord PostScript Pt coordinate to convert." isSpecification="false" isLeaf="false" visibility="public" xmi.id="tjARliHQp9TJ" isRoot="false" isAbstract="false" isQuery="false" name="documentToIntPixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ifxnk4ffzL1t" type="270SBmI2USTD" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3GO0DMz0mckU" value="" type="h7s3Wwp5xxy1" name="documentCoord" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convert a document rectangle to a pixel rectangle.

@param documentRect PostScript Pt rectangle to convert." isSpecification="false" isLeaf="false" visibility="public" xmi.id="9kdyr4GuKesX" isRoot="false" isAbstract="false" isQuery="false" name="documentToPixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Aeb4o3E0ROd0" type="zqYjSGDSNBuW" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="IzVcbL7YBfIb" value="" type="wDZQd0dklEjc" name="documentRect" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convert a document rectangle to an integer pixel rectangle.

@param documentRect PostScript Pt rectangle to convert." isSpecification="false" isLeaf="false" visibility="public" xmi.id="tT4EfwlZ7Izj" isRoot="false" isAbstract="false" isQuery="false" name="documentToIntPixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="9TQHrYXXESJy" type="SCDMtPBFib3M" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="IaT3oCe697gj" value="" type="wDZQd0dklEjc" name="documentRect" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convert a pixel coordinate to a document coordinate.

@param pixelCoord pixel coordinate to convert." isSpecification="false" isLeaf="false" visibility="public" xmi.id="SnFcRVDKzFZc" isRoot="false" isAbstract="false" isQuery="false" name="pixelToDocument" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="WybUHaNPDwT1" type="s1fGRqzJa1aq" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="CKBHa80siUuU" value="" type="h7s3Wwp5xxy1" name="pixelCoord" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convert an integer pixel coordinate to a document coordinate.
The document coordinate is at the centre of the pixel.

@param pixelCoord pixel coordinate to convert." isSpecification="false" isLeaf="false" visibility="public" xmi.id="eWaobEV31kdS" isRoot="false" isAbstract="false" isQuery="false" name="pixelToDocument" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="xi2P4dND7lTy" type="s1fGRqzJa1aq" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="4W2k0wEdQoP1" value="" type="ErnD4MnEewWC" name="pixelCoord" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the width of the image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="2u31cgUqXF1a" isRoot="false" isAbstract="false" isQuery="false" name="width" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="K0TWTmSzi3Tz" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the height of the image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="booDiKPmrRWp" isRoot="false" isAbstract="false" isQuery="false" name="height" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="dpPqlsqjYs6c" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="MkSkWrmWjpYM" isRoot="false" isAbstract="false" isQuery="false" name="size" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="VRqcAJYSH2yk" type="T0A1FCZoyNzh" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="//     /**//      * @return a region built from the extents of all layers in this image.//      *///     QRegion extent() const;//     /**//      * @return a region built from all the dirty rects in all layers in this image//      *///     QRegion KDE_DEPRECATED dirtyRegion() const;/**
 returns a paintdevice that contains the merged layers of this image, within
the bounds of this image (with the colorspace and profile of this image)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="iMTZnyM7ipsD" isRoot="false" isAbstract="false" isQuery="false" name="mergedImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="oQiXR9W3ytti" type="b6lNKacSVLfI" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the color of the merged image at pixel (x, y)." isSpecification="false" isLeaf="false" visibility="public" xmi.id="ecjOPFksDurS" isRoot="false" isAbstract="false" isQuery="false" name="mergedPixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="khPIZTt5ujf2" type="QMy1VQ04jvNd" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="4QE3oDiWZ93L" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="7NSoCIzpugDJ" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="//     // This was only used from the performance tests?//     KisLayerSP KDE_DEPRECATED newLayer(const QString&amp; name, quint8 opacity, const QString &amp; compositeOp, KoColorSpace * colorspace);" isSpecification="false" isLeaf="false" visibility="public" xmi.id="wvC7n1asSotG" isRoot="false" isAbstract="false" isQuery="false" name="rootLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="0EVFGR02qgXH" type="2Q6KIfVc4Auw" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Return the projection; that is, the complete, composited representation/// of this image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="0ZkZinuoALcL" isRoot="false" isAbstract="false" isQuery="false" name="projection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="p4KmvCUdttwT" type="b6lNKacSVLfI" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="dbAWFLn9GxH3" isRoot="false" isAbstract="false" isQuery="false" name="projectionManager" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="MnWEU9EUNhhb" type="zrtRdkfbJPB2" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Move layer to specified position" isSpecification="false" isLeaf="false" visibility="public" xmi.id="C3qKOQd0znUE" isRoot="false" isAbstract="false" isQuery="false" name="moveLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="9hczN9GBBZx7" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8HMMDdQCSHb3" value="" type="hnLeWHLhX9yu" name="layer" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2GfLfqLpr99E" value="" type="2Q6KIfVc4Auw" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="XnCWYgjfv5z8" value="" type="hnLeWHLhX9yu" name="aboveThis" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add an already existing layer to the image. The layer is put on top
of the layers in the specified layergroup
@param layer the layer to be added
@param parent the parent layer" isSpecification="false" isLeaf="false" visibility="public" xmi.id="gPI8ftBh9q2o" isRoot="false" isAbstract="false" isQuery="false" name="addLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="lRieIc5cPZot" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="eMdUVli3WuX4" value="" type="hnLeWHLhX9yu" name="layer" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YEhTHhcx4u5j" value="" type="2Q6KIfVc4Auw" name="parent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add already existing layer to image.

@param layer the layer to be added
@param parent the parent layer
@param aboveThis in the list with child layers of the specified
                 parent, add this layer above the specified sibling.
                 if 0, the layer is put in the lowermost position in
                 its group.
returns false if adding the layer didn't work, true if the layer got added" isSpecification="false" isLeaf="false" visibility="public" xmi.id="mFQv5RkinLCG" isRoot="false" isAbstract="false" isQuery="false" name="addLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="j2L4k3eriEo6" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="6uJcmrfK5MnL" value="" type="hnLeWHLhX9yu" name="layer" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="1NI4GMn2bCxe" value="" type="2Q6KIfVc4Auw" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="bfMM1Yc7QwiC" value="" type="hnLeWHLhX9yu" name="aboveThis" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Adds the layer to this group at the specified index.
childCount() is a valid index and appends to the end. Fails and
returns false if the layer is already in this group or any
other (remove it first.)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="lNWohI9jfSlt" isRoot="false" isAbstract="false" isQuery="false" name="addLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="N2FXbCeMbKzt" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="oYvNir1HWOdV" value="" type="hnLeWHLhX9yu" name="layer" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="uEbLAJVtg0hL" value="" type="2Q6KIfVc4Auw" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Ir4vHpp3MiQ2" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Remove layer" isSpecification="false" isLeaf="false" visibility="public" xmi.id="XRK2pvXk983H" isRoot="false" isAbstract="false" isQuery="false" name="removeLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="x2TMaHGHHZJ1" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="PY85WqRofTiw" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Move layer up one slot" isSpecification="false" isLeaf="false" visibility="public" xmi.id="HVxbBNbjovlc" isRoot="false" isAbstract="false" isQuery="false" name="raiseLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="cvqL9ePXhe4G" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pGKwNNCmtKqQ" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Move layer down one slot" isSpecification="false" isLeaf="false" visibility="public" xmi.id="8FClgufxNcWZ" isRoot="false" isAbstract="false" isQuery="false" name="lowerLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="qgdP0aGvajIA" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="z8Im11OqFilc" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Move layer to top slot" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3vNuDDIMQT76" isRoot="false" isAbstract="false" isQuery="false" name="toTop" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="0WRH5lHgg71q" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Ll2jNYINga7i" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Move layer to bottom slot" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ZVWoBHPECk6Q" isRoot="false" isAbstract="false" isQuery="false" name="toBottom" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="kOLR2Nhq1IFz" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vPkLspRDaTuy" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the number of layers (not other nodes) that are in this
image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="2CJgkQOJtv64" isRoot="false" isAbstract="false" isQuery="false" name="nlayers" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="qVvRCBZCh1Rk" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the number of layers (not other node types) that are in
this image and that are hidden." isSpecification="false" isLeaf="false" visibility="public" xmi.id="ATGLDKj8jTRZ" isRoot="false" isAbstract="false" isQuery="false" name="nHiddenLayers" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="kgQOoPCWnVvp" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Merge all visible layers and discard hidden ones." isSpecification="false" isLeaf="false" visibility="public" xmi.id="GqlpKfnKq4ya" isRoot="false" isAbstract="false" isQuery="false" name="flatten" />
        <UML:Operation comment="Merge the specified layer with the layer
below this layer, remove the specified layer." isSpecification="false" isLeaf="false" visibility="public" xmi.id="SNsJGwNOPbja" isRoot="false" isAbstract="false" isQuery="false" name="mergeLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vQidr7A8xvxF" value="" type="hnLeWHLhX9yu" name="l" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="ZiZNkWxArpT7" isRoot="false" isAbstract="false" isQuery="false" name="bounds" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="sadrtqphJi6V" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// use if the layers have changed _completely_ (eg. when flattening)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="lqT8PBiKbOvT" isRoot="false" isAbstract="false" isQuery="false" name="notifyLayersChanged" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="V6ZTzUiWCGtu" isRoot="false" isAbstract="false" isQuery="false" name="notifyPropertyChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="mp4deXiOL9Uk" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Called whenever a layer has changed. The layer is added to a
list of dirty layers and as soon as the document stores the
command that is now in progress, the image will be notified.
Then the image will notify the dirty layers, the dirty layers
will notify their parents &amp; emit a signal that will be caught
by the layer box, which will request a new thumbnail." isSpecification="false" isLeaf="false" visibility="public" xmi.id="KD2wZyN52wW1" isRoot="false" isAbstract="false" isQuery="false" name="notifyLayerUpdated" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QEWaSPUCEYnr" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3TDOdh6xs6rS" isRoot="false" isAbstract="false" isQuery="false" name="setColorSpace" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2EV4814WDa4e" value="" type="0Dibn6JWC3NC" name="colorSpace" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="zWqC2e357ERk" isRoot="false" isAbstract="false" isQuery="false" name="setRootLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vXgmeXCgmhjs" value="" type="2Q6KIfVc4Auw" name="rootLayer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add an annotation for this image. This can be anything: Gamma, EXIF, etc.
Note that the &quot;icc&quot; annotation is reserved for the color strategies.
If the annotation already exists, overwrite it with this one." isSpecification="false" isLeaf="false" visibility="public" xmi.id="gnNtNRXKyMW0" isRoot="false" isAbstract="false" isQuery="false" name="addAnnotation" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="yX65lXof3URf" value="" type="Bc9FUuAT6shf" name="annotation" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="get the annotation with the given type, can return 0" isSpecification="false" isLeaf="false" visibility="public" xmi.id="zbJjI2cwnzn8" isRoot="false" isAbstract="false" isQuery="false" name="annotation" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="tgfYf7INnjlZ" type="Bc9FUuAT6shf" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QJTMfxNdTRgC" value="" type="xciUhaOfBB6A" name="type" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="delete the annotation, if the image contains it" isSpecification="false" isLeaf="false" visibility="public" xmi.id="wSrzuGcurwd7" isRoot="false" isAbstract="false" isQuery="false" name="removeAnnotation" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="yF3kCrsbAJxn" value="" type="xciUhaOfBB6A" name="type" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Start of an iteration over the annotations of this image (including the ICC Profile)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="FIQih4ueXkbR" isRoot="false" isAbstract="false" isQuery="false" name="beginAnnotations" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="8y5wT0jKZN9Q" type="JJf2OC8ZmGoF" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="end of an iteration over the annotations of this image" isSpecification="false" isLeaf="false" visibility="public" xmi.id="0ELqAzv6CzqP" isRoot="false" isAbstract="false" isQuery="false" name="endAnnotations" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="By7VgC0Xsg5V" type="JJf2OC8ZmGoF" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="ohyw0vhFC7vt" isRoot="false" isAbstract="false" isQuery="false" name="sigActiveSelectionChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9oXgY76WLPMT" value="" type="ExxPP6316unv" name="image" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted after a layer is added: you can find out where by
asking it for its parent(), et al.
Deprecated: connect to sigLayerHasBeenAdded instead." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="MIXZFMw13uv1" isRoot="false" isAbstract="false" isQuery="false" name="sigLayerAdded" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ncFzhArqyOVU" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted after a layer is removed.

It's no longer in the image, but still exists, so @p layer is
valid.

 @param layer the removed layer
 @param parent the parent of the layer, before it was removed
 @param wasAboveThis the layer it was above, before it was
 removed.

Deprecated: connect to sigLayerHasBeenRemoved instead." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="TZ1myLFLblso" isRoot="false" isAbstract="false" isQuery="false" name="sigLayerRemoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="7on8gi7TKMR1" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted after a layer is moved to a different position under
its parent layer, or its parent changes." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="XIqTeJy8sxuq" isRoot="false" isAbstract="false" isQuery="false" name="sigLayerMoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="G89st1eynS4T" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Emitted after a layer's properties (visible, locked, opacity, composite op, name, ...) change" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="ABxTYMS3eIUI" isRoot="false" isAbstract="false" isQuery="false" name="sigLayerPropertiesChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="bSORNJGePPUG" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted when the list of layers has changed completely.
This means e.g. when the image is flattened, but not when it is rotated,
as the layers only change internally then." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="R8EEYGgjRbCx" isRoot="false" isAbstract="false" isQuery="false" name="sigLayersChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="xcyZvTrUtEuH" value="" type="2Q6KIfVc4Auw" name="rootLayer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted after a mask is added to the specified parent layer." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="VAtuZLAyTMD0" isRoot="false" isAbstract="false" isQuery="false" name="sigMaskAdded" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="crj1StzPVvyO" value="" type="aWzj1grG7kii" name="mask" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="OnrI1lZWvQOS" value="" type="hnLeWHLhX9yu" name="parent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted after a mask is removed. The mask still exists, but the
parent does no longer have a reference to it" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="lYRCucCWTtWv" isRoot="false" isAbstract="false" isQuery="false" name="sigMaskRemoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="mTIGOGcn1T51" value="" type="aWzj1grG7kii" name="mask" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="EcV70ualS1xL" value="" type="hnLeWHLhX9yu" name="wasParent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="b8r41LzooH2D" value="" type="aWzj1grG7kii" name="wasAboveThis" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted after a mask has been moved to a different position
under its parent layer, or when it has changed to a new parent
layer. The mask already has a reference to its new parent layer." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="Ve0U63VIdzQd" isRoot="false" isAbstract="false" isQuery="false" name="sigMaskMoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="tyOJxJeYRUcT" value="" type="aWzj1grG7kii" name="mask" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pZFeoFpJtplz" value="" type="hnLeWHLhX9yu" name="previousParent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="qHITEg67eSOZ" value="" type="aWzj1grG7kii" name="wasAboveThis" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted after the properties of a mask (active, filter config,
etc) have changed" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="l37BVhcIGru4" isRoot="false" isAbstract="false" isQuery="false" name="sigMaskPropertiesChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="4jLxW6vMLBpZ" value="" type="aWzj1grG7kii" name="mask" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted whenever an action has caused the image to be
recomposited.
@param rc The recty that has been recomposited." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="pteRJ30547EZ" isRoot="false" isAbstract="false" isQuery="false" name="sigImageUpdated" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="oqr2fm6jTPe0" value="" type="hNzgzRoeVpOX" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Emitted whenever the image has been modified, so that it
doesn't match with the version saved on disk." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="TZMpiAMX1zyL" isRoot="false" isAbstract="false" isQuery="false" name="sigImageModified" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="2yO43cdpQSr5" isRoot="false" isAbstract="false" isQuery="false" name="sigSizeChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="CvogKSgo00bg" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="AxEAuAVw7t08" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="Tbyt2pwClks3" isRoot="false" isAbstract="false" isQuery="false" name="sigProfileChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="AWr8VQpfM1nG" value="" type="wOsmbnkPdKBl" name="profile" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="BIBG99PclNTl" isRoot="false" isAbstract="false" isQuery="false" name="sigColorSpaceChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="APxt7oxIImOn" value="" type="0Dibn6JWC3NC" name="cs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model that we're going to add a layer." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="BDRXEEnOXycg" isRoot="false" isAbstract="false" isQuery="false" name="sigAboutToAddALayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="JJVc4sPF5omI" value="" type="61HpMiaX8VOD" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3XeaWGEcGTRc" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're done adding a layer." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="Cz7IUWVmnzMr" isRoot="false" isAbstract="false" isQuery="false" name="sigLayerHasBeenAdded" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="rj6uYsAbQo9u" value="" type="61HpMiaX8VOD" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3LUJptvzs1FK" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're going to remove a layer." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="Vk6IhSAYAGRi" isRoot="false" isAbstract="false" isQuery="false" name="sigAboutToRemoveALayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="7bJVOSNRlria" value="" type="61HpMiaX8VOD" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ibXYcms7VxQC" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Inform the model we're done removing a layer." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="NYjXm8FtjWM5" isRoot="false" isAbstract="false" isQuery="false" name="sigLayerHasBeenRemoved" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="wjUiaCGGoooO" value="" type="61HpMiaX8VOD" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YfU1asExQvTC" value="" type="ItFeJIqwtsDb" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3g4kDQo7AIpi" isRoot="false" isAbstract="false" isQuery="false" name="slotSelectionChanged" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="V6zHsndOQ7Q0" isRoot="false" isAbstract="false" isQuery="false" name="slotSelectionChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="zcyPXPaY5eGG" value="" type="hNzgzRoeVpOX" name="r" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="44OENBvqFu57" isRoot="false" isAbstract="false" isQuery="false" name="slotProjectionUpdated" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="fiW6ou6nW2B3" value="" type="hNzgzRoeVpOX" name="rc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="PjZVNnjPs5cD" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="lMsY5b6BZ951" type="0FKWFVXfC48X" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="HX1WP4c4m68Y" value="" type="qjeRDR27aTh2" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="rpwjvWuA3veS" isRoot="false" isAbstract="false" isQuery="false" name="init" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="zGVkKdIIqao6" value="" type="RiWkbWh9K9He" name="adapter" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5JjFNpmFejwZ" value="" type="plCqVc8rRpV9" name="width" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="FrhHkMhiaCQv" value="" type="plCqVc8rRpV9" name="height" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ogBeH0iKHRad" value="" type="0Dibn6JWC3NC" name="colorSpace" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="GKst3mQHb8WK" isRoot="false" isAbstract="false" isQuery="false" name="emitSizeChanged" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="UD24OQxC69oL" isRoot="false" isAbstract="false" isQuery="false" name="preparePaintLayerAfterAdding" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="7XgMwEzBYr4a" value="" type="hnLeWHLhX9yu" name="layer" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="LvutrOR9qmPI" xmi.id="cUpDaLX4YX7u" isRoot="false" isAbstract="false" name="KisImagePrivate" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="lkZVUyB02F0u" isRoot="false" isAbstract="false" name="KisRandomSubAccessorPixel" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="TmUnbun7odxf" isRoot="false" isAbstract="false" name="KisDataManager" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="325tNOl87Jeb" isRoot="false" isAbstract="false" name="KisDataManagerSP" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="HncJ2aBASoRi" isRoot="false" isAbstract="false" name="KisMemento" />
      <UML:Class stereotype="typedef" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="EZqC03L45OvS" isRoot="false" isAbstract="false" name="KisMementoSP" />
      <UML:Generalization isSpecification="false" child="mBOHfWlxpOxE" visibility="public" namespace="Logical View" xmi.id="nfZuyBVDy5Wz" parent="uh5NLRUavMwR" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="dJN5jYFhlQTp" isRoot="false" isAbstract="false" name="KisShared" >
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="public" xmi.id="WVN5o7MCOggk" type="dIENgfCLZiTb" name="ref" />
        <UML:Attribute isSpecification="false" visibility="public" xmi.id="vH1Ivi264m3W" type="Md6uLZTp3qup" name="dataPtr" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="fuXA3o2mZJjJ" isRoot="false" isAbstract="false" isQuery="false" name="KisShared" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="PJKWOUi1n55W" isRoot="false" isAbstract="false" isQuery="false" name="~ KisShared" />
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="mBOHfWlxpOxE" visibility="public" namespace="Logical View" xmi.id="ulprpKqV0xZS" parent="dJN5jYFhlQTp" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="DnQBkydEIkoD" isRoot="false" isAbstract="false" name="QPaintDevice" />
      <UML:Generalization isSpecification="false" child="mBOHfWlxpOxE" visibility="public" namespace="Logical View" xmi.id="hRorD8cyalPn" parent="DnQBkydEIkoD" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="9fjNJMjbGkmJ" isRoot="false" isAbstract="false" name="PaintDeviceMetric" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="nj7ycHW0rtGP" isRoot="false" isAbstract="false" name="QColor" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="qeYJIwkluPBu" isRoot="false" isAbstract="false" name="qint8" />
      <UML:Class comment=" Copyright (c) 2006 Boudewijn Rempt &lt;boud@valdyas.org>


 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//**
KisMask is the base class for all single channel
mask-like paint devices in Krita. Masks can be rendered in different
ways at different moments during the rendering stack. Masks are
&quot;owned&quot; by layers (of any type), and cannot occur by themselves on
themselves.
The properties that masks implement are made available through the
iterators created on their parent layer, or through iterators that
can be created on the paint device that holds the mask data: masks
are just paint devices, too.
Masks should show up in the layerbox as sub-layers for the layer they
are associated with and be ccp'able and draggable to other layers.
Examples of masks are:
- filter masks: like the alpha filter mask that is the most common
type of mask and is simply known as &quot;mask&quot; in the
gui. Other filter masks use any of krita's filters to
filter the pixels of their parent. (In this they
differ from adjustment layers, which filter all
layers under them in their group stack).
- selections: the selection mask is rendered after composition and
zooming and determines the selectedness of the pixels of the parent
layer.
- painterly overlays: painterly overlays indicate a particular
property of the pixel in the parent paint device they are associated
with, like wetness, height or gravity.
XXX: For now, all masks are 8 bit. Make the channel depth settable." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="QlG0uWiMQ76j" isRoot="false" isAbstract="false" name="KisMask" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="eubGQoHNyeXn" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="EODNMADKTGTg" type="YdTvOoXOc0X7" name="m_d" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="hjldOGRTUxq9" isRoot="false" isAbstract="false" isQuery="false" name="KisMask" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="IQhXdoPeJ3Vs" value="" type="b6lNKacSVLfI" name="dev" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Bo68hZWNIF0g" value="" type="xciUhaOfBB6A" name="name" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" comment="Create a new KisMask." isSpecification="false" isLeaf="false" visibility="public" xmi.id="VPAxLy6dPm80" isRoot="false" isAbstract="false" isQuery="false" name="KisMask" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="aYfrbAjkyore" value="" type="xciUhaOfBB6A" name="name" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" comment="Copy the mask" isSpecification="false" isLeaf="false" visibility="public" xmi.id="NL1fazK3PSyk" isRoot="false" isAbstract="false" isQuery="false" name="KisMask" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="bvIYj9A4UBk2" value="" type="Q3LnpUoN0REZ" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="843XU1Fu4Zgr" isRoot="false" isAbstract="false" isQuery="false" name="~ KisMask" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3SE1tQaUMs03" isRoot="false" isAbstract="false" isQuery="false" name="parentPaintDevice" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="8pJhAQ7JNEo1" type="b6lNKacSVLfI" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="zA8RJqTSsUxM" isRoot="false" isAbstract="false" isQuery="false" name="setParentLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="UDEYmuOnMcmD" value="" type="hnLeWHLhX9yu" name="parent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="1KgLBgMApSc8" isRoot="false" isAbstract="false" isQuery="false" name="parentLayer" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="QpZGTclEybk1" type="hnLeWHLhX9yu" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="I3YAWUU0hjYR" isRoot="false" isAbstract="false" isQuery="false" name="setName" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="buCwVy9WGprR" value="" type="xciUhaOfBB6A" name="name" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return true if the mask is active, i.e. should be applied on
its parent layer." isSpecification="false" isLeaf="false" visibility="public" xmi.id="UDcJeCPwDw5j" isRoot="false" isAbstract="false" isQuery="false" name="active" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="DqDk0Ij850pD" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="QZj7GGWsAgmf" isRoot="false" isAbstract="false" isQuery="false" name="setActive" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="cvBsj0KDCwWq" value="" type="RLl21qhIhuu0" name="active" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="6tkJpp3FPmKd" isRoot="false" isAbstract="false" isQuery="false" name="id" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="RuVo8JpX6OnZ" type="zbmT1UpYYDfP" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the selection associated with this mask. A selection can
contain both a paint device and shapes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="0qTBUFq690zs" isRoot="false" isAbstract="false" isQuery="false" name="selection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="1Xlx6UzHKC2I" type="W5laFfU1BjN4" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="QlG0uWiMQ76j" xmi.id="yJ3ADXyJQjaG" isRoot="false" isAbstract="false" name="KisMaskPrivate" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Class comment="A KisNode is a KisBaseNode that knows about its direct peers, parent
and children and whether it can have children." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="OIAxnYXvlLBh" isRoot="false" isAbstract="false" name="KisNode" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="KRaPIAhkfTFS" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="bxve5cXloh4n" type="LYG39JPo7rZJ" name="m_d" />
        <UML:Operation stereotype="constructor" comment="Create an empty node without a parent.

@param the image that owns this node. The image will be
informed before and after changes in this node's node list." isSpecification="false" isLeaf="false" visibility="public" xmi.id="LoayHoQmKDOX" isRoot="false" isAbstract="false" isQuery="false" name="KisNode" />
        <UML:Operation stereotype="constructor" comment="Create a copy of this node. The copy will not have a parent
node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="zhMRlyZvKgjk" isRoot="false" isAbstract="false" isQuery="false" name="KisNode" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="c8MwLiRIOnk9" value="" type="pKRPTYFmKqkc" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Delete this node" isSpecification="false" isLeaf="false" visibility="public" xmi.id="jH24xjml1DAU" isRoot="false" isAbstract="false" isQuery="false" name="~ KisNode" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="kQG2E0eq8zmS" isRoot="false" isAbstract="false" isQuery="false" name="clone" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="SjOWkBhB5CxC" type="r9ZkDaaGIh1s" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="fDk3ySAijCmf" isRoot="false" isAbstract="false" isQuery="false" name="allowAsChild" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Wmja9U88zt54" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="wWQxjYQRyeUA" value="" type="r9ZkDaaGIh1s" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="// dirty region methods. XXX: Make these slots?/**
Set the entire node extent dirty; this percolates up to parent
nodes all the way to the root node. By default, nodes have an
infinite size. Subclass for more precision and exactitude." isSpecification="false" isLeaf="false" visibility="public" xmi.id="f60l3kBjvwku" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" />
        <UML:Operation comment="Add the given rect to the set of dirty rects for this node;
this percolates up to parent nodes all the way to the root
node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="Ova67Kl1qBxX" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ZXETTyNqtxuz" value="" type="hNzgzRoeVpOX" name="rect" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add the given region to the set of dirty rects for this node;
this percolates up to parent nodes all the way to the root
node, if propagate is true;" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Hfy7ovcVGZ9G" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="s0o6ZxKYtB0e" value="" type="B6133t0IYyNK" name="region" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return true if any part of this layer has been marked dirty" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Nzx7CgLLnKOo" isRoot="false" isAbstract="false" isQuery="false" name="isDirty" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="N4LgELwf5JBn" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment=" @return true if the given rect overlaps with the dirty region
 of this node" isSpecification="false" isLeaf="false" visibility="public" xmi.id="CM7iLS3BQpH0" isRoot="false" isAbstract="false" isQuery="false" name="isDirty" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="UsyY3viZfR7o" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="maWelWG8VBGf" value="" type="hNzgzRoeVpOX" name="rect" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Mark the specified area as clean" isSpecification="false" isLeaf="false" visibility="public" xmi.id="sZ0frNR3jWm2" isRoot="false" isAbstract="false" isQuery="false" name="setClean" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="znDPcTNM3t0o" value="" type="SCDMtPBFib3M" name="rc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Mark the whole layer as clean" isSpecification="false" isLeaf="false" visibility="public" xmi.id="NHuqSAVIhUvZ" isRoot="false" isAbstract="false" isQuery="false" name="setClean" />
        <UML:Operation comment="// Graph methods/**
@return the graph listener this node belongs to. 0 if the node
does not belong to a grap listener." isSpecification="false" isLeaf="false" visibility="public" xmi.id="rNaYtMbq7oEj" isRoot="false" isAbstract="false" isQuery="false" name="graphListener" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="tFwr72vS4G6J" type="Hb6IT46qJ1hk" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the graph listener for this node. The graphlistener will be
informed before and after the list of child nodes has changed." isSpecification="false" isLeaf="false" visibility="public" xmi.id="9C2rgyOVJy4A" isRoot="false" isAbstract="false" isQuery="false" name="setGraphListener" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Jd1QRF8hqEzH" value="" type="Hb6IT46qJ1hk" name="graphListener" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the parent node of this node. This is 0 only for a root
node; otherwise this will be an actual Node" isSpecification="false" isLeaf="false" visibility="public" xmi.id="I48a3pKCzM1e" isRoot="false" isAbstract="false" isQuery="false" name="parent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="c3yfM7SoxOK0" type="r9ZkDaaGIh1s" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the first child node of this node, or 0 if there are no
child nodes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="IN7ZKBkdol1E" isRoot="false" isAbstract="false" isQuery="false" name="firstChild" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="H2XwRflLuhCz" type="r9ZkDaaGIh1s" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the last child node of this node, or 0 if there are no
child nodes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="y9tmNq4euCEv" isRoot="false" isAbstract="false" isQuery="false" name="lastChild" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="h7SkLY1vZzat" type="r9ZkDaaGIh1s" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the previous sibling of this node in the parent's list.
This is the node *above* this node in the composition stack. 0
is returned if this child has no more previous siblings (==
firstChild())" isSpecification="false" isLeaf="false" visibility="public" xmi.id="zW8ys7a9Viip" isRoot="false" isAbstract="false" isQuery="false" name="prevSibling" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="42g1O02f1ZcS" type="r9ZkDaaGIh1s" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the next sibling of this node in the parent's list.
This is the node *below* this node in the composition stack. 0
is returned if this child has no more next siblings (==
lastChild())" isSpecification="false" isLeaf="false" visibility="public" xmi.id="rQQgBRs7Zluu" isRoot="false" isAbstract="false" isQuery="false" name="nextSibling" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="CNl52v4i0WSM" type="r9ZkDaaGIh1s" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns how many direct child nodes this node has (not
recursive)." isSpecification="false" isLeaf="false" visibility="public" xmi.id="ZyYU8kP7EV35" isRoot="false" isAbstract="false" isQuery="false" name="childCount" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="3THcQsWSsCTH" type="beE4KurBLFpU" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Retrieve the child node at the specified index.

@return 0 if there is no node at this index." isSpecification="false" isLeaf="false" visibility="public" xmi.id="ehcDQU8yQeSY" isRoot="false" isAbstract="false" isQuery="false" name="at" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ATwB1WeDrNIu" type="r9ZkDaaGIh1s" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="NpdbJggsIuwc" value="" type="beE4KurBLFpU" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Retrieve the index of the specified child node.

@return -1 if the specified node is not a child node of this
node." isSpecification="false" isLeaf="false" visibility="public" xmi.id="nlm60baeHAqf" isRoot="false" isAbstract="false" isQuery="false" name="index" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="JNaJr0fuRvVp" type="ItFeJIqwtsDb" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="qF068uhtfTzd" value="" type="cyd2c3YzrBZA" name="node" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return a list of child nodes of the current node that conform
to the specified constraints. There are no guarantees about the
order of the nodes in the list. The function is not recursive.

@param nodeTypes. if not empty, only nodes that inherit the
classnames in this stringlist will be returned.
@param properties. if not empty, only nodes for which
KisNodeBase::check(properties) returns true will be returned." isSpecification="false" isLeaf="false" visibility="public" xmi.id="4XFJi5zI3cJe" isRoot="false" isAbstract="false" isQuery="false" name="childNodes" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="l1HdBisLCnVD" type="2sSwqrVuGL2F" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="XaPA3Mn6t0PZ" value="" type="grbX1AfpOdvW" name="nodeTypes" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="6Os7zBjf2JA1" value="" type="YNNkZ2fkKrSP" name="properties" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="KXy7sFGxoMM4" isRoot="false" isAbstract="false" isQuery="false" name="prepareForRemoval" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="V6KWHWLK97Z8" isRoot="false" isAbstract="false" isQuery="false" name="prepareForAddition" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="r3eLPcrj9no1" isRoot="false" isAbstract="false" isQuery="false" name="initAfterAddition" />
        <UML:Operation comment="Set the parent of this node." isSpecification="false" isLeaf="false" visibility="private" xmi.id="BqfJdRKdUHSs" isRoot="false" isAbstract="false" isQuery="false" name="setParent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YLkvW7XBoSyd" value="" type="r9ZkDaaGIh1s" name="parent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add the specified node above the specified node. If aboveThis
is 0, the node is added at the bottom." isSpecification="false" isLeaf="false" visibility="private" xmi.id="xtJVSIQb85sj" isRoot="false" isAbstract="false" isQuery="false" name="add" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="H7Q9Uh1n2b5t" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="XDM1Spr08bvd" value="" type="r9ZkDaaGIh1s" name="newNode" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="hQmTtk6odNJ3" value="" type="r9ZkDaaGIh1s" name="aboveThis" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Removes the node at the specified index from the child nodes.

@return false if there is no node at this index" isSpecification="false" isLeaf="false" visibility="private" xmi.id="fjdlpVUKgrL8" isRoot="false" isAbstract="false" isQuery="false" name="remove" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="bko0dJpOI40R" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="eA6mkzPRQCsH" value="" type="beE4KurBLFpU" name="index" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Removes the node from the child nodes.

@return false if there's no such node in this node." isSpecification="false" isLeaf="false" visibility="private" xmi.id="uz5WKOZy5Ajs" isRoot="false" isAbstract="false" isQuery="false" name="remove" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="mqmydH9vMY2r" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="gCCK1VRfgXPQ" value="" type="r9ZkDaaGIh1s" name="node" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="OIAxnYXvlLBh" xmi.id="22ypOJttNBNe" isRoot="false" isAbstract="false" name="KisNodeFacade" />
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="OIAxnYXvlLBh" xmi.id="hjxooWxgaZ1x" isRoot="false" isAbstract="false" name="KisNodeTest" />
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="OIAxnYXvlLBh" xmi.id="VppvzhAreDNx" isRoot="false" isAbstract="false" name="Private" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="QlG0uWiMQ76j" visibility="public" namespace="Logical View" xmi.id="eubGQoHNyeXn" parent="OIAxnYXvlLBh" discriminator="" name="" />
      <UML:Enumeration stereotype="enum" comment=" Copyright (c) 2004 Boudewijn Rempt &lt;boud@valdyas.org>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="nRxBAYPh9taV" isRoot="false" isAbstract="false" name="selectionType" >
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="nRxBAYPh9taV" xmi.id="h7uH8POMlah7" isRoot="false" isAbstract="false" name="READ_SELECTION" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="nRxBAYPh9taV" xmi.id="kuSC8vstKo4V" isRoot="false" isAbstract="false" name="WRITE_PROTECTION" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="nRxBAYPh9taV" xmi.id="MUAVNk12stH0" isRoot="false" isAbstract="false" name="READ_WRITE" />
      </UML:Enumeration>
      <UML:Enumeration stereotype="enum" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="IgK2E19wvZ81" isRoot="false" isAbstract="false" name="selectionMode" >
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="IgK2E19wvZ81" xmi.id="SzunnyG7QOal" isRoot="false" isAbstract="false" name="PIXEL_SELECTION" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="IgK2E19wvZ81" xmi.id="8bl0S3yjhIlv" isRoot="false" isAbstract="false" name="SHAPE_PROTECTION" />
      </UML:Enumeration>
      <UML:Enumeration stereotype="enum" isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="HspCSyDsv5di" isRoot="false" isAbstract="false" name="selectionAction" >
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="HspCSyDsv5di" xmi.id="2rpSFNEOzxMP" isRoot="false" isAbstract="false" name="SELECTION_REPLACE" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="HspCSyDsv5di" xmi.id="0L8hbratkQ3A" isRoot="false" isAbstract="false" name="SELECTION_ADD" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="HspCSyDsv5di" xmi.id="OF0JKezMVmnl" isRoot="false" isAbstract="false" name="SELECTION_SUBTRACT" />
       <UML:EnumerationLiteral isSpecification="false" isLeaf="false" visibility="public" namespace="HspCSyDsv5di" xmi.id="9z76wTWxmccM" isRoot="false" isAbstract="false" name="SELECTION_INTERSECT" />
      </UML:Enumeration>
      <UML:Class comment="KisSelection contains a byte-map representation of a layer, where
the value of a byte signifies whether a corresponding pixel is selected, or not.

NOTE: If you need to manually call emitSelectionChanged on the owner paint device
      of a selection. KisSelection does not emit any signals by itself because
      often you want to combine several actions in to perfom one operation and you
      do not want recomposition to happen all the time." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="N5Z8FSmHttaB" isRoot="false" isAbstract="false" name="KisSelection" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="UDFCdGKzTKIm" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute comment="// XXX: Move to Private class!" isSpecification="false" visibility="private" xmi.id="pFkOeuxbz6Db" type="kXWexaljj7yN" name="m_parentPaintDevice" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="ZpAPPbdQl3T6" type="RLl21qhIhuu0" name="m_interestedInDirtyness" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="6mjQfxEUCyso" type="RLl21qhIhuu0" name="m_hasPixelSelection" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="qnQntbORQWqo" type="RLl21qhIhuu0" name="m_hasShapeSelection" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="8RCtUdzYPjw4" type="eT4Ukuo4tuZw" name="m_pixelSelection" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="e9Wo7MdyA1j1" type="LhyoM95yWEYf" name="m_shapeSelection" />
        <UML:Operation stereotype="constructor" comment="Create a new KisSelection
@param dev the parent paint device. The selection will never be bigger than the parent
             paint device." isSpecification="false" isLeaf="false" visibility="public" xmi.id="X5kNLzA3iqX3" isRoot="false" isAbstract="false" isQuery="false" name="KisSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BNrgQonj4uUe" value="" type="b6lNKacSVLfI" name="dev" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" comment="Create a new KisSelection from the given mask. The selection
will share its pixel data with the mask" isSpecification="false" isLeaf="false" visibility="public" xmi.id="G18qf3SA8CXS" isRoot="false" isAbstract="false" isQuery="false" name="KisSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9gVrW2sfPhKp" value="" type="b6lNKacSVLfI" name="parent" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="W7WYzzAF0I6d" value="" type="aWzj1grG7kii" name="mask" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" comment="Create a new KisSelection. This selection will not have a parent paint device." isSpecification="false" isLeaf="false" visibility="public" xmi.id="JWnQgJspzNeT" isRoot="false" isAbstract="false" isQuery="false" name="KisSelection" />
        <UML:Operation stereotype="constructor" comment="Copy the selection" isSpecification="false" isLeaf="false" visibility="public" xmi.id="PW7mEPZiW5ET" isRoot="false" isAbstract="false" isQuery="false" name="KisSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="lEmiZO9wsEi4" value="" type="2Oh3engwHSMx" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="dHk7KybNKIOx" isRoot="false" isAbstract="false" isQuery="false" name="~ KisSelection" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="32tISFFDTzt2" isRoot="false" isAbstract="false" isQuery="false" name="icon" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="F3cHeh8DQuB3" type="8XzKi6SK09T7" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Returns selectedness, or 0 if invalid coordinates" isSpecification="false" isLeaf="false" visibility="public" xmi.id="N3yDHeIvt20B" isRoot="false" isAbstract="false" isQuery="false" name="selected" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="D0ST4SuqIfnu" type="Y6DvUKZG26uB" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="zbWJruGsv9AN" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="OPZpMSphVlvl" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="NDeGDeSCEwW5" isRoot="false" isAbstract="false" isQuery="false" name="invert" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="rkwku67GUg4o" isRoot="false" isAbstract="false" isQuery="false" name="clear" />
        <UML:Operation comment="/// Tests if the the rect is totally outside the selection" isSpecification="false" isLeaf="false" visibility="public" xmi.id="7rWcdRL0czFp" isRoot="false" isAbstract="false" isQuery="false" name="isTotallyUnselected" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="uwnHUp8jqiyU" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="cf2qbWtQGpA8" value="" type="SCDMtPBFib3M" name="r" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Tests if the the rect is totally outside the selection, but uses selectedRect
instead of selectedRect, and this is faster (but might deliver false positives!)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="uGPMwRA3Igev" isRoot="false" isAbstract="false" isQuery="false" name="isProbablyTotallyUnselected" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Q7fq1qrDoJes" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5xuhx9VXmXNN" value="" type="SCDMtPBFib3M" name="r" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Rough, but fastish way of determining the area
of the tiles used by the selection." isSpecification="false" isLeaf="false" visibility="public" xmi.id="1EoH4wQwCnI7" isRoot="false" isAbstract="false" isQuery="false" name="selectedRect" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="jZg0CTs6OdLs" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Slow, but exact way of determining the rectangle
that encloses the selection" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ES8W7mQAiIsf" isRoot="false" isAbstract="false" isQuery="false" name="selectedExactRect" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="QTaGAWiadNOd" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="PLABqVYrjK8l" isRoot="false" isAbstract="false" isQuery="false" name="paint" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="TQfBiVo5oyGe" value="" type="HWhTJxaVOj2V" name="img" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="TmVB7cwO6cpQ" isRoot="false" isAbstract="false" isQuery="false" name="setInterestedInDirtyness" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ZOtx7tQYJ4iz" value="" type="RLl21qhIhuu0" name="b" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="XW4MTI0u5U3C" isRoot="false" isAbstract="false" isQuery="false" name="interestedInDirtyness" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="BFozXSpEzTCB" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="40aAcNY9lS5q" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="LVPdX5c3bfN2" value="" type="hNzgzRoeVpOX" name="rc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="xLv2pyEtwm2W" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="8agt2lkME7zk" isRoot="false" isAbstract="false" isQuery="false" name="hasPixelSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="v4GJfbB53jLD" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="CZnlEAmAVhCJ" isRoot="false" isAbstract="false" isQuery="false" name="hasShapeSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="G1lrM9UXMIUt" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="dPAa9A6HlkBl" isRoot="false" isAbstract="false" isQuery="false" name="pixelSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="jH6ilIsgL6z0" type="ujwc1JclTqNT" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="Vt5i04SAcDvo" isRoot="false" isAbstract="false" isQuery="false" name="shapeSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="h86isPv6Pexl" type="LhyoM95yWEYf" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="Ocv9N4tsxyYv" isRoot="false" isAbstract="false" isQuery="false" name="setPixelSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3y5d9yRUeQHy" value="" type="ujwc1JclTqNT" name="pixelSelection" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="XMw3aSgz5Z6S" isRoot="false" isAbstract="false" isQuery="false" name="setShapeSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="dzIYyrRznUcx" value="" type="LhyoM95yWEYf" name="shapeSelection" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="T3R5Rg3w30xb" isRoot="false" isAbstract="false" isQuery="false" name="updateProjection" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="QeYVBfxncGLY" isRoot="false" isAbstract="false" isQuery="false" name="extent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5lXsF7pi9FlY" value="" type="ncRvKSvhM9lJ" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vpVwnSWD44hE" value="" type="ncRvKSvhM9lJ" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="he1KsKsv5OoL" value="" type="ncRvKSvhM9lJ" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Tb1con9iaceL" value="" type="ncRvKSvhM9lJ" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="4AW7DDJuqKCi" isRoot="false" isAbstract="false" isQuery="false" name="extent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="nQJAgl1P376o" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="e5ckRQ3uz4Vo" isRoot="false" isAbstract="false" isQuery="false" name="exactBounds" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="peWNG8iIHDNU" value="" type="ncRvKSvhM9lJ" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QgOGybxdeZL3" value="" type="ncRvKSvhM9lJ" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="xMxuQQiE4CbI" value="" type="ncRvKSvhM9lJ" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="JKZaXw4vbQAZ" value="" type="ncRvKSvhM9lJ" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="z5AbeTeZpaTE" isRoot="false" isAbstract="false" isQuery="false" name="exactBounds" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="QwSj2RjhXnQN" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="0AS5M3LdLuDq" isRoot="false" isAbstract="false" isQuery="false" name="region" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="BJTayPLjpcrT" type="0ysUlEzImDlD" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:DataType stereotype="datatype" isSpecification="false" isLeaf="false" visibility="public" namespace="N5Z8FSmHttaB" xmi.id="JH7naNZWcdwb" isRoot="false" isAbstract="false" name="super" elementReference="mBOHfWlxpOxE" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="N5Z8FSmHttaB" visibility="public" namespace="Logical View" xmi.id="UDFCdGKzTKIm" parent="mBOHfWlxpOxE" discriminator="" name="" />
      <UML:Class comment=" Copyright (c) 2007 Sven Langkamp &lt;sven.langkamp@gmail.com>

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="D0swmbhyJhgo" isRoot="false" isAbstract="false" name="KisShapeSelection" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="fCb2hQcayMXX" />
        <UML:Generalization xmi.idref="OFP6RSNJPwt3" />
        <UML:Generalization xmi.idref="u2UIwLJBbcxk" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="AymCRWdFhn0V" type="ItFeJIqwtsDb" name="m_dashOffset" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="TmNAXNgBRkKd" type="JUw8omEziyB7" name="m_timer" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="idYnbYus1q1p" type="ExxPP6316unv" name="m_image" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="aFmHBwOegjpE" type="b6lNKacSVLfI" name="m_parentPaintDevice" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="4TNVDh8tJehs" type="Re8tNE3gTud5" name="m_outline" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="BbkCPlzxykE8" type="RLl21qhIhuu0" name="m_dirty" />
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="7a8gD5QP1c4h" isRoot="false" isAbstract="false" isQuery="false" name="KisShapeSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="fQQKI39hiYpr" value="" type="ExxPP6316unv" name="image" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="c8qft8f0ilgt" value="" type="b6lNKacSVLfI" name="dev" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="r4JqhLXKkwe2" isRoot="false" isAbstract="false" isQuery="false" name="~ KisShapeSelection" />
        <UML:Operation comment="///Not implemented" isSpecification="false" isLeaf="false" visibility="public" xmi.id="xmjfKYUweIcW" isRoot="false" isAbstract="false" isQuery="false" name="loadOdf" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="OtrPyxBMrd5t" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="bBqETQksfEzd" value="" type="dBCL7pL4b5ht" name="" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="55aiHXKdUlAj" value="" type="NWQwZ5pBGfNi" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="///Not implemented" isSpecification="false" isLeaf="false" visibility="public" xmi.id="rXb97mVUHuQq" isRoot="false" isAbstract="false" isQuery="false" name="saveOdf" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="XCZo6ye6CeK5" value="" type="zxKTiUDa1mj7" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Renders the shapes to a selection. This method should only be called
by KisSelection to update it's projection.

@param projection the target selection " isSpecification="false" isLeaf="false" visibility="public" xmi.id="0G0Qie7hbRAK" isRoot="false" isAbstract="false" isQuery="false" name="renderToProjection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="T7wfjGikUj8C" value="" type="tLss8ZxflXTs" name="projection" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="LFrwe1EVN6NT" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="fL8PqbHJgByQ" isRoot="false" isAbstract="false" isQuery="false" name="selectionOutline" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="2naZayxjIOJE" type="Re8tNE3gTud5" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="vpaGwvjZGpy6" isRoot="false" isAbstract="false" isQuery="false" name="paintComponent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="QDN5OLVn0bgL" value="" type="osao8GCokGSZ" name="painter" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="oDCmoq6dY8r9" value="" type="oTu3Iq7h2VkQ" name="converter" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="jAe93OSppMq5" isRoot="false" isAbstract="false" isQuery="false" name="repaintTimerEvent" />
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="D0swmbhyJhgo" xmi.id="gdmKMZWR0rwE" isRoot="false" isAbstract="false" name="KisShapeSelectionModel" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="uh5NLRUavMwR" isRoot="false" isAbstract="false" name="QObject" />
      <UML:Generalization isSpecification="false" child="D0swmbhyJhgo" visibility="public" namespace="Logical View" xmi.id="fCb2hQcayMXX" parent="uh5NLRUavMwR" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="LumJEHrttYy9" isRoot="false" isAbstract="false" name="KoShapeContainer" />
      <UML:Generalization isSpecification="false" child="D0swmbhyJhgo" visibility="public" namespace="Logical View" xmi.id="OFP6RSNJPwt3" parent="LumJEHrttYy9" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="AseGHQAA0TFB" isRoot="false" isAbstract="false" name="KisSelectionComponent" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="lYmf8ikGY0v2" />
       </UML:GeneralizableElement.generalization>
      </UML:Class>
      <UML:Generalization isSpecification="false" child="D0swmbhyJhgo" visibility="public" namespace="Logical View" xmi.id="u2UIwLJBbcxk" parent="AseGHQAA0TFB" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="QFU7090pDHfs" isRoot="false" isAbstract="false" name="KoXmlElement" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="LzTXH6PsHaBO" isRoot="false" isAbstract="false" name="KoShapeLoadingContext" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="zGzGtMwxRUdj" isRoot="false" isAbstract="false" name="KoShapeSavingContext" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Re8tNE3gTud5" isRoot="false" isAbstract="false" name="QPainterPath" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="pj2GbdLVQtlK" isRoot="false" isAbstract="false" name="KoViewConverter" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="d66BCxJv7x28" isRoot="false" isAbstract="false" name="QTimer" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="X35qhkisJS2i" isRoot="false" isAbstract="false" name="KisShapeSelectionFactory" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="aFHb6BndCsRu" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="t6Y6x0ya7iUh" isRoot="false" isAbstract="false" isQuery="false" name="KisShapeSelectionFactory" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="MgHCQb7JfgPc" value="" type="T7REOKlYRiDZ" name="parent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="gNAn4fTVmuk9" isRoot="false" isAbstract="false" isQuery="false" name="~ KisShapeSelectionFactory" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="CVhdCsAWYSgy" isRoot="false" isAbstract="false" isQuery="false" name="createDefaultShape" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ndxaFp4bgv0e" type="8MYtHG2Rlh3v" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="ZDP7f65guKPO" isRoot="false" isAbstract="false" isQuery="false" name="createShape" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="qBzfo4Yqr6OQ" type="8MYtHG2Rlh3v" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="m9QWoTRNhpUK" value="" type="zgWy9P0GmW71" name="params" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="C2g8muGQV3iq" isRoot="false" isAbstract="false" name="KoShapeFactory" />
      <UML:Generalization isSpecification="false" child="X35qhkisJS2i" visibility="public" namespace="Logical View" xmi.id="aFHb6BndCsRu" parent="C2g8muGQV3iq" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="3oHiUfJ80Tv2" isRoot="false" isAbstract="false" name="KoShape" />
      <UML:Generalization isSpecification="false" child="AseGHQAA0TFB" visibility="public" namespace="Logical View" xmi.id="lYmf8ikGY0v2" parent="Aa7JHUMqlF0g" discriminator="" name="" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="JJWo5qPVnzZr" isRoot="false" isAbstract="false" name="DTGWKyUyRvCp" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="C17pfHKwK94H" />
        <UML:Generalization xmi.idref="CQiGEkCMpOk0" />
       </UML:GeneralizableElement.generalization>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="wcdQ3vYlpmri" isRoot="false" isAbstract="false" name="2qvCSG7mKB0e" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="Ht66XSkZuvV0" />
        <UML:Generalization xmi.idref="N4gFxCFgZzp7" />
       </UML:GeneralizableElement.generalization>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="RwIOD7dAowCR" isRoot="false" isAbstract="false" name="KisHLineIterator" />
      <UML:Class comment="A paint device contains the actual pixel data and offers methods
to read and write pixels. A paint device has an integer x,y position
(i.e., are not positioned on the image with sub-pixel accuracy).
A KisPaintDevice doesn't have any fixed size, the size changes dynamically
when pixels are accessed by an iterator." isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="mBOHfWlxpOxE" isRoot="false" isAbstract="false" name="KisPaintDevice" >
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="nfZuyBVDy5Wz" />
        <UML:Generalization xmi.idref="ulprpKqV0xZS" />
        <UML:Generalization xmi.idref="hRorD8cyalPn" />
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute isSpecification="false" visibility="protected" xmi.id="xoo5xQ5QkmDo" type="325tNOl87Jeb" name="m_datamanager" />
        <UML:Attribute isSpecification="false" visibility="private" xmi.id="stdaeqOnq6RT" type="LYG39JPo7rZJ" name="m_d" />
        <UML:Operation stereotype="constructor" comment="Create a new paint device with the specified colorspace.

@param colorSpace the colorspace of this paint device
@param name for debugging purposes" isSpecification="false" isLeaf="false" visibility="public" xmi.id="wJvU2KG9o9OB" isRoot="false" isAbstract="false" isQuery="false" name="KisPaintDevice" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="yajZ9TtgrSVw" value="" type="0Dibn6JWC3NC" name="colorSpace" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="mXlYMQTGhOlh" value="" type="xciUhaOfBB6A" name="name" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" comment="Create a new paint device with the specified colorspace. The
parentLayer will be notified of changes to this paint device.

@param parentLayer the layer that contains this paint device.
@param colorSpace the colorspace of this paint device
@param name for debugging purposes" isSpecification="false" isLeaf="false" visibility="public" xmi.id="h1qV8Ee4nLcw" isRoot="false" isAbstract="false" isQuery="false" name="KisPaintDevice" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pVdev6aieKEy" value="" type="cZdjd0LTYs1o" name="parentLayer" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="kiEP6x6nwxG3" value="" type="0Dibn6JWC3NC" name="colorSpace" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9s7wEht3DUh8" value="" type="xciUhaOfBB6A" name="name" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" isSpecification="false" isLeaf="false" visibility="public" xmi.id="aFoCZ3AJlNip" isRoot="false" isAbstract="false" isQuery="false" name="KisPaintDevice" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="1fxE9eKht7uR" value="" type="InbDkpGtiLow" name="rhs" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="A2ktNRigCHru" isRoot="false" isAbstract="false" isQuery="false" name="~ KisPaintDevice" />
        <UML:Operation comment="Returns an instance of KisPaintEngine for QPainters to work with." isSpecification="false" isLeaf="false" visibility="public" xmi.id="77lpQZjREgdN" isRoot="false" isAbstract="false" isQuery="false" name="paintEngine" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="5J9LhTZV6W3L" type="Kw3B3vcDxL4L" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns the metric information for the given paint device
metric." isSpecification="false" isLeaf="false" visibility="protected" xmi.id="kkzw2qo7vZwJ" isRoot="false" isAbstract="false" isQuery="false" name="metric" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="J7xz0vco7bTt" type="ItFeJIqwtsDb" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="fNUcgYvOJsIJ" value="" type="9fjNJMjbGkmJ" name="metric" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Start the long-running background filters. This is typically done from
paint layers" isSpecification="false" isLeaf="false" visibility="public" xmi.id="g6QZfKtoxaAG" isRoot="false" isAbstract="false" isQuery="false" name="startBackgroundFilters" />
        <UML:Operation comment="Write the pixels of this paint device into the specified file store." isSpecification="false" isLeaf="false" visibility="public" xmi.id="urrBbbSGwxqa" isRoot="false" isAbstract="false" isQuery="false" name="write" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="dziV66v9P4U6" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="lhkgHuwCllLK" value="" type="TmymcG3JKTqy" name="store" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Fill this paint device with the pixels from the specified file store." isSpecification="false" isLeaf="false" visibility="public" xmi.id="LnaHiRsCBowl" isRoot="false" isAbstract="false" isQuery="false" name="read" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="V1ZbXdvpiqmj" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="502NRtLBa6rq" value="" type="TmymcG3JKTqy" name="store" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Moves the device to these new coordinates (so no incremental move or so)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ym0kXL2q6d8p" isRoot="false" isAbstract="false" isQuery="false" name="move" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2yzDmvwptzDL" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="sWUQcLGb7GJd" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convenience method for the above" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ZLTgwZTyXS9K" isRoot="false" isAbstract="false" isQuery="false" name="move" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="L69F3KYvr2JT" value="" type="ErnD4MnEewWC" name="pt" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Returns true of x,y is within the extent of this paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Na2ToJ4MdV0Z" isRoot="false" isAbstract="false" isQuery="false" name="contains" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="lMVqxxkZwS40" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5TYctfuEj4Rm" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="MzhD11fNZhoL" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Convenience method for the above" isSpecification="false" isLeaf="false" visibility="public" xmi.id="1shcNhBQ8h11" isRoot="false" isAbstract="false" isQuery="false" name="contains" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Wx7vzbzVcX48" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="NvE6xftKfYXe" value="" type="ErnD4MnEewWC" name="pt" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Retrieve the bounds of the paint device. The size is not exact,
but may be larger if the underlying datamanager works that way.
For instance, the tiled datamanager keeps the extent to the nearest
multiple of 64." isSpecification="false" isLeaf="false" visibility="public" xmi.id="XC14spQrf5T1" isRoot="false" isAbstract="false" isQuery="false" name="extent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="mcbP974gH3j9" value="" type="ncRvKSvhM9lJ" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="r7yWCRXz4xtM" value="" type="ncRvKSvhM9lJ" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Nm1jvm1fNc5W" value="" type="ncRvKSvhM9lJ" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="j9A1At8107YB" value="" type="ncRvKSvhM9lJ" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="W38a01uOnv5g" isRoot="false" isAbstract="false" isQuery="false" name="extent" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="8xvqnhXX23Lx" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Retrieve the region, that is the collection of non-overlapping
rects, that contain actual pixels in the paint device. For
instance, given a transparent paint device with two 10x10 black
spots, at 50,50 and 2000, 1800, the result would be a region
with two rects, 50,50 10x10 and 2000,1800 10x10 -- in the best case.
The implementation may optimize by putting a margin aound it." isSpecification="false" isLeaf="false" visibility="public" xmi.id="i6M3jPZQWhPg" isRoot="false" isAbstract="false" isQuery="false" name="region" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="y5WuVYt1V0uV" type="0ysUlEzImDlD" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Get the exact bounds of this paint device. This may be very slow,
especially on larger paint devices because it does a linear scanline search." isSpecification="false" isLeaf="false" visibility="public" xmi.id="bYiZfEiBHrkG" isRoot="false" isAbstract="false" isQuery="false" name="exactBounds" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="qeeeahIGocJV" value="" type="ncRvKSvhM9lJ" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="1qvXXLC6tueW" value="" type="ncRvKSvhM9lJ" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8MfNDNd40FgY" value="" type="ncRvKSvhM9lJ" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="xwolZ5GYt94Q" value="" type="ncRvKSvhM9lJ" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="UGXLABrGVVdj" isRoot="false" isAbstract="false" isQuery="false" name="exactBounds" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="asyAP0GXyBNj" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="sHlqUPORLAAs" isRoot="false" isAbstract="false" isQuery="false" name="exactBoundsImprovedOldMethod" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="rtEtwaqudNm7" type="SCDMtPBFib3M" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Cut the paint device down to the specified rect" isSpecification="false" isLeaf="false" visibility="public" xmi.id="DQP6aTX2h2Op" isRoot="false" isAbstract="false" isQuery="false" name="crop" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BD5gggNXv6NQ" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Vmppu0h8Q6Ey" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Xj1ElN3wY6bF" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="nymi596YtwNo" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Convience method for the above" isSpecification="false" isLeaf="false" visibility="public" xmi.id="w3wK98JfsItd" isRoot="false" isAbstract="false" isQuery="false" name="crop" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="dvYB19Qo5CV8" value="" type="hNzgzRoeVpOX" name="r" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Complete erase the current paint device. Its size will become 0." isSpecification="false" isLeaf="false" visibility="public" xmi.id="KbhDX2zR5tmD" isRoot="false" isAbstract="false" isQuery="false" name="clear" />
        <UML:Operation comment="Fill the given rectangle with the given pixel." isSpecification="false" isLeaf="false" visibility="public" xmi.id="23suJjVwe17e" isRoot="false" isAbstract="false" isQuery="false" name="fill" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8WQCgvK0VzC0" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="09S53EI5F8xY" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="sSUUSZ8a5Xmm" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Q5kv4uw44M87" value="" type="plCqVc8rRpV9" name="h" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YOCnV7LLXnpz" value="" type="887N24GN8xfK" name="fillPixel" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Clear the given rectangle to transparent black" isSpecification="false" isLeaf="false" visibility="public" xmi.id="MwaQTKCtPunS" isRoot="false" isAbstract="false" isQuery="false" name="clear" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="phUr3ayZz8MU" value="" type="hNzgzRoeVpOX" name="rc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Read the bytes representing the rectangle described by x, y, w, h into
data. If data is not big enough, Krita will gladly overwrite the rest
of your precious memory.

Since this is a copy, you need to make sure you have enough memory.

Reading from areas not previously initialized will read the default
pixel value into data but not initialize that region." isSpecification="false" isLeaf="false" visibility="public" xmi.id="FfpmQckmWICx" isRoot="false" isAbstract="false" isQuery="false" name="readBytes" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="cMr0FcQ2JutK" value="" type="Tde1kwi1zJ4Y" name="data" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="VptSxDwAsjuI" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Je2quDnXXcVk" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="CvmVpdnISgkN" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="teXjLQzf20Tx" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Read the bytes representing the rectangle rect into
data. If data is not big enough, Krita will gladly overwrite the rest
of your precious memory.

Since this is a copy, you need to make sure you have enough memory.

Reading from areas not previously initialized will read the default
pixel value into data but not initialize that region.
@param data The address of the memory to receive the bytes read
@param rect The rectangle in the paint device to read from" isSpecification="false" isLeaf="false" visibility="public" xmi.id="BGSirxR3sDXh" isRoot="false" isAbstract="false" isQuery="false" name="readBytes" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="rKyHzifqLAYg" value="" type="Tde1kwi1zJ4Y" name="data" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="aXJbVmYg10Ns" value="" type="hNzgzRoeVpOX" name="rect" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Copy the bytes in data into the rect specified by x, y, w, h. If the
data is too small or uninitialized, Krita will happily read parts of
memory you never wanted to be read.

If the data is written to areas of the paint device not previously initialized,
the paint device will grow." isSpecification="false" isLeaf="false" visibility="public" xmi.id="xotp1OUqjS8g" isRoot="false" isAbstract="false" isQuery="false" name="writeBytes" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9lWUv4AWcU75" value="" type="887N24GN8xfK" name="data" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="EdmFd95YvxNu" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Lpl4IrkRcFvX" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="J31tV6zkhjxK" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="q3sl0DfL3OOJ" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Copy the bytes in data into the rectangle rect. If the
data is too small or uninitialized, Krita will happily read parts of
memory you never wanted to be read.

If the data is written to areas of the paint device not previously initialized,
the paint device will grow.
@param data The address of the memory to write bytes from
@param rect The rectangle in the paint device to write to" isSpecification="false" isLeaf="false" visibility="public" xmi.id="D6kpLdLfeKYA" isRoot="false" isAbstract="false" isQuery="false" name="writeBytes" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="PVs6EpP4sFpq" value="" type="887N24GN8xfK" name="data" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="RTAUpYl3eTq0" value="" type="hNzgzRoeVpOX" name="rect" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Get the number of contiguous columns starting at x, valid for all values
of y between minY and maxY." isSpecification="false" isLeaf="false" visibility="public" xmi.id="69diS9srfivt" isRoot="false" isAbstract="false" isQuery="false" name="numContiguousColumns" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="tf8Pe1sEtoMI" type="plCqVc8rRpV9" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YKwOYjDzANR0" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="vC1XfrVjz8RR" value="" type="plCqVc8rRpV9" name="minY" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="IIGv09mWUit0" value="" type="plCqVc8rRpV9" name="maxY" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Get the number of contiguous rows starting at y, valid for all values
of x between minX and maxX." isSpecification="false" isLeaf="false" visibility="public" xmi.id="S6zcTQaOabtD" isRoot="false" isAbstract="false" isQuery="false" name="numContiguousRows" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="odnmoAUd3iWx" type="plCqVc8rRpV9" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="RPwOXLnnd3gc" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="CT8e9zeZ5bCY" value="" type="plCqVc8rRpV9" name="minX" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="zkuZMomlDg9i" value="" type="plCqVc8rRpV9" name="maxX" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Get the row stride at pixel (x, y). This is the number of bytes to add to a
pointer to pixel (x, y) to access (x, y + 1)." isSpecification="false" isLeaf="false" visibility="public" xmi.id="2wUfxAF7bMml" isRoot="false" isAbstract="false" isQuery="false" name="rowStride" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="GLpugczZF5wr" type="plCqVc8rRpV9" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="LOKRyUzxFsVZ" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="gFIrwRZyL1bG" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="  Converts the paint device to a different colorspace" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ApNlB7WWWpvS" isRoot="false" isAbstract="false" isQuery="false" name="convertTo" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="JtPWls3R8LG2" value="" type="0Dibn6JWC3NC" name="dstColorSpace" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="kpy3pXJzMhkX" value="" type="TLELTcH1yUBn" name="renderingIntent" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Changes the profile of the colorspace of this paint device to the given
profile. If the given profile is 0, nothing happens." isSpecification="false" isLeaf="false" visibility="public" xmi.id="oF2I2xkLq8qZ" isRoot="false" isAbstract="false" isQuery="false" name="setProfile" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="0t06DE8x461r" value="" type="wOsmbnkPdKBl" name="profile" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Fill this paint device with the data from img; starting at (offsetX, offsetY)
@param srcProfileName name of the RGB profile to interpret the img as. &quot;&quot; is interpreted as sRGB" isSpecification="false" isLeaf="false" visibility="public" xmi.id="eKq0zaWonY6p" isRoot="false" isAbstract="false" isQuery="false" name="convertFromQImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="4Az6FyxtGnrG" value="" type="Tp9Ixzrvqq23" name="img" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ML27r6vLv4bq" value="" type="xciUhaOfBB6A" name="srcProfileName" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="1SmrIotLwqRB" value="" type="plCqVc8rRpV9" name="offsetX" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="mN228sGSDGa5" value="" type="plCqVc8rRpV9" name="offsetY" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Create an RGBA QImage from a rectangle in the paint device.

@param x Left coordinate of the rectangle
@param y Top coordinate of the rectangle
@param w Width of the rectangle in pixels
@param h Height of the rectangle in pixels
@param dstProfile RGB profile to use in conversion. May be 0, in which
case it's up to the color strategy to choose a profile (most
like sRGB).
@param exposure The exposure setting used to render a preview of a high dynamic range image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="NVOGXz7YPtNi" isRoot="false" isAbstract="false" isQuery="false" name="convertToQImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="6m3zaQFP129n" type="5nvWaPd7GI9B" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="fE1Z2Qjonlpu" value="" type="wOsmbnkPdKBl" name="dstProfile" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="d5MpMwshPGxw" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="D4UcvqIY4J87" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="kptVaiPCmmz6" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="grn67i0KnTug" value="" type="plCqVc8rRpV9" name="h" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="JDDLWJQE8Kkg" value="" type="Dlv6b8f7hBiH" name="exposure" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Create an RGBA QImage from a rectangle in the paint device. The rectangle is defined by the parent image's bounds.

@param dstProfile RGB profile to use in conversion. May be 0, in which
case it's up to the color strategy to choose a profile (most
like sRGB).
@param exposure The exposure setting used to render a preview of a high dynamic range image." isSpecification="false" isLeaf="false" visibility="public" xmi.id="09qmtpqagdel" isRoot="false" isAbstract="false" isQuery="false" name="convertToQImage" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="BdREKvAaGzSu" type="5nvWaPd7GI9B" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Me375ylOByif" value="" type="wOsmbnkPdKBl" name="dstProfile" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="F8uNSe2RlsDf" value="" type="Dlv6b8f7hBiH" name="exposure" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Creates a paint device thumbnail of the paint device, retaining the aspect ratio.
The width and height of the returned device won't exceed \p maxw and \p maxw, but they may be smaller." isSpecification="false" isLeaf="false" visibility="public" xmi.id="i4FMfr6zV94b" isRoot="false" isAbstract="false" isQuery="false" name="createThumbnailDevice" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="ZPSnVOcbBgZl" type="b6lNKacSVLfI" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5qxEmfu0mmNC" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ONd9GpmwtzIW" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Creates a thumbnail of the paint device, retaining the aspect ratio.
The width and height of the returned QImage won't exceed \p maxw and \p maxw, but they may be smaller.
The colors are not corrected for display!" isSpecification="false" isLeaf="false" visibility="public" xmi.id="qOWKWatZOoo9" isRoot="false" isAbstract="false" isQuery="false" name="createThumbnail" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="4o85pGs0rJC9" type="5nvWaPd7GI9B" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Sg9EQUQos2v8" value="" type="plCqVc8rRpV9" name="maxw" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ri4ihKEWhiqB" value="" type="plCqVc8rRpV9" name="maxh" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Fill c and opacity with the values found at x and y.

The color values will be transformed from the profile of
this paint device to the display profile.

@return true if the operation was successful." isSpecification="false" isLeaf="false" visibility="public" xmi.id="HhkfVWmxAvBa" isRoot="false" isAbstract="false" isQuery="false" name="pixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="FMkTKAMtaoe3" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="OaMGaIMRyO7d" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="gL9N2xYJeHwA" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="pZZUqWebDjXp" value="" type="9aq7yxkfGs0I" name="c" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="04qpv4E2d29b" value="" type="Tde1kwi1zJ4Y" name="opacity" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Fill kc with the values found at x and y. This method differs
from the above in using KoColor, which can be of any colorspace

The color values will be transformed from the profile of
this paint device to the display profile.

@return true if the operation was successful." isSpecification="false" isLeaf="false" visibility="public" xmi.id="zrEEjFUZm43a" isRoot="false" isAbstract="false" isQuery="false" name="pixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="AHeLxD5z0B4p" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YfBlOjaNlOCg" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="RPi4RpdPeqdO" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="FzK0NVemuKoJ" value="" type="37vp9wPhZYQx" name="kc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the KoColor of the pixel at x,y." isSpecification="false" isLeaf="false" visibility="public" xmi.id="7SimIJ8LP38Y" isRoot="false" isAbstract="false" isQuery="false" name="colorAt" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="PwpHE1QRM8sg" type="QMy1VQ04jvNd" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="xVEW3eTJdmHz" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Fwl7EaQM078G" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the specified pixel to the specified color. Note that this
bypasses KisPainter. the PaintDevice is here used as an equivalent
to QImage, not QPixmap. This means that this is not undoable; also,
there is no compositing with an existing value at this location.

The color values will be transformed from the display profile to
the paint device profile.

Note that this will use 8-bit values and may cause a significant
degradation when used on 16-bit or hdr quality images.

@return true if the operation was successful
" isSpecification="false" isLeaf="false" visibility="public" xmi.id="QGZpHhMEAaiB" isRoot="false" isAbstract="false" isQuery="false" name="setPixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="HEXp0CsBRUUM" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="E9Uqvkp8gaFu" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="8eE8lMM9avxr" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="6ivmH8fPmtWV" value="" type="aJ3krlw3vOto" name="c" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="EsdomaeKrf3i" value="" type="Y6DvUKZG26uB" name="opacity" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="PxlILf4SLzCc" isRoot="false" isAbstract="false" isQuery="false" name="setPixel" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="gXLghPT6JGNX" type="RLl21qhIhuu0" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="6p0shWMtMzf6" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="XHROxU6KRpck" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="SeAoeLQk8Oan" value="" type="7mVBHOOHWant" name="kc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return the colorspace of the pixels in this paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="sugFtMJOdimY" isRoot="false" isAbstract="false" isQuery="false" name="colorSpace" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="FmwbupH91ny2" type="0Dibn6JWC3NC" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return the internal datamanager that keeps the pixels." isSpecification="false" isLeaf="false" visibility="public" xmi.id="CqsbgSK87Suj" isRoot="false" isAbstract="false" isQuery="false" name="dataManager" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="zoBOJdkzB5ds" type="325tNOl87Jeb" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Replace the pixel data, color strategy, and profile." isSpecification="false" isLeaf="false" visibility="public" xmi.id="lJRshzfauKnl" isRoot="false" isAbstract="false" isQuery="false" name="setData" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="g6AHpwozneZR" value="" type="325tNOl87Jeb" name="data" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5rZCHUt3nIvS" value="" type="0Dibn6JWC3NC" name="colorSpace" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="The X offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="HY2BspvWu5mh" isRoot="false" isAbstract="false" isQuery="false" name="getX" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="S6ylKKHZ6BBy" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="The Y offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="zaemCBBH2lRK" isRoot="false" isAbstract="false" isQuery="false" name="getY" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="0Q60D42ArBYA" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the X offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="DILyaEOsmR1f" isRoot="false" isAbstract="false" isQuery="false" name="setX" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Ew96zvnzTQjg" value="" type="plCqVc8rRpV9" name="x" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the Y offset of the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="bvveeLwpbFnC" isRoot="false" isAbstract="false" isQuery="false" name="setY" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="T92Da1qnw0tv" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the number of bytes a pixel takes." isSpecification="false" isLeaf="false" visibility="public" xmi.id="tfuN3c1eXuGB" isRoot="false" isAbstract="false" isQuery="false" name="pixelSize" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="oI7zLkpnomX6" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Return the number of channels a pixel takes" isSpecification="false" isLeaf="false" visibility="public" xmi.id="FAypPj1qs12R" isRoot="false" isAbstract="false" isQuery="false" name="channelCount" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="6mfAxq6yFCwS" type="plCqVc8rRpV9" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add the specified rect to the parent layer's set of dirty rects
(if there is a parent layer)
XXX: Refactor this so whenever we need to set a layer dirty, we
do it on the layer instead of in this roundabout way. (BSAR)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="2sEys5smik7l" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="M8Qr0g0Epy3E" value="" type="hNzgzRoeVpOX" name="rc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Add the specified region to the parent layer's dirty region
(if there is a parent layer)
XXX: Refactor this so whenever we need to set a layer dirty, we
do it on the layer instead of in this roundabout way. (BSAR)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="h43a3515xD2o" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="IsYzcdkxlAmj" value="" type="B6133t0IYyNK" name="region" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Set the parent layer completely dirty, if this paint device has
as parent layer.
XXX: Refactor this so whenever we need to set a layer dirty, we
do it on the layer instead of in this roundabout way. (BSAR)" isSpecification="false" isLeaf="false" visibility="public" xmi.id="pnxej0qR4tz7" isRoot="false" isAbstract="false" isQuery="false" name="setDirty" />
        <UML:Operation comment="Mirror the device along the X axis" isSpecification="false" isLeaf="false" visibility="public" xmi.id="wyBs9BgP3COd" isRoot="false" isAbstract="false" isQuery="false" name="mirrorX" />
        <UML:Operation comment="Mirror the device along the Y axis" isSpecification="false" isLeaf="false" visibility="public" xmi.id="p9YYHLH46Fgp" isRoot="false" isAbstract="false" isQuery="false" name="mirrorY" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="FVEIMDNJ9WBI" isRoot="false" isAbstract="false" isQuery="false" name="getMemento" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Fwb679EtSLtl" type="EZqC03L45OvS" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="fpgg14KoDqKT" isRoot="false" isAbstract="false" isQuery="false" name="rollback" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="BbVFoC52hJI3" value="" type="EZqC03L45OvS" name="memento" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="VdMcAVtpKZWJ" isRoot="false" isAbstract="false" isQuery="false" name="rollforward" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="do5pePIozl3n" value="" type="EZqC03L45OvS" name="memento" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Create an iterator over a rectangle section of a paint device, the path followed by
the iterator is not guaranteed, it is optimized for speed, which means that you shouldn't
use this type of iterator if you are combining two differents layers.
@param w width
@param h height
@return an iterator which points to the first pixel of an rectangle" isSpecification="false" isLeaf="false" visibility="public" xmi.id="x6ncQ5gtj0Vr" isRoot="false" isAbstract="false" isQuery="false" name="createRectIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="3gZpS6vYsagp" type="ys9mQHLb81hh" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="UOgoxA6ZwBOZ" value="" type="plCqVc8rRpV9" name="left" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="ZeNYPOLLT7xt" value="" type="plCqVc8rRpV9" name="top" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="CbktcFk6cPsX" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="Zw6U8S3h6ODU" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Create an iterator over a rectangle section of a paint device, the path followed by
the iterator is not guaranteed, it is optimized for speed, which means that you shouldn't
use this type of iterator if you are combining two differents layers.
@param w width
@param h height
@return an iterator which points to the first pixel of an rectangle, this iterator
does not allow to change the pixel values" isSpecification="false" isLeaf="false" visibility="public" xmi.id="mWpDdm6oMohy" isRoot="false" isAbstract="false" isQuery="false" name="createRectConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Pnlczh2EbdIi" type="bjo2GGu2qZ8Y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2S2cps9MpEqv" value="" type="plCqVc8rRpV9" name="left" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="gtanHnF2J4Fx" value="" type="plCqVc8rRpV9" name="top" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="oKjA8Q68q8kf" value="" type="plCqVc8rRpV9" name="w" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="1u0q8qjokJZz" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return an iterator which points to the first pixel of a horizontal line, this iterator
does not allow to change the pixel values" isSpecification="false" isLeaf="false" visibility="public" xmi.id="6o1PqFKfZ3nf" isRoot="false" isAbstract="false" isQuery="false" name="createHLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="nWcDpTyq9Vfa" type="btRZHIpbb1Mo" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="SuoI0YwzQwnW" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="mWJUpsSvfTJT" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="gb6Dfut7mfNm" value="" type="plCqVc8rRpV9" name="w" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="@return an iterator which points to the first pixel of a horizontal line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="BJkaDX6y4PSt" isRoot="false" isAbstract="false" isQuery="false" name="createHLineIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="bY6R7nFUay6X" type="T9W3Bqrcm9zy" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="GuntM6M0hTEK" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="L5P5klrt2bTG" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="7aEBxe2BXp4r" value="" type="plCqVc8rRpV9" name="w" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="This function return an iterator which points to the first pixel of a vertical line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="tPrZq3r98HEs" isRoot="false" isAbstract="false" isQuery="false" name="createVLineIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="e8mFm2wXZYiM" type="YxolsEU36MeQ" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="23k4fDIklWvh" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9xsglvVcIK98" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="O1FWGTNIW7K9" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="This function return an iterator which points to the first pixel of a vertical line" isSpecification="false" isLeaf="false" visibility="public" xmi.id="Kbt45mlEidsT" isRoot="false" isAbstract="false" isQuery="false" name="createVLineConstIterator" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="zgD6CqglPlBU" type="53gqBdoNDuQj" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="YL3qgDw4EBaS" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="cvk722GLd8Ph" value="" type="plCqVc8rRpV9" name="y" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="uAvcnm3K758n" value="" type="plCqVc8rRpV9" name="h" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="This function creates a random accessor which allow to randomly access any pixels on
the paint device.
&lt;b>Note:&lt;/b> random access is way slower than iterators, always use iterators whenever
you can" isSpecification="false" isLeaf="false" visibility="public" xmi.id="I3rUCQwpLewM" isRoot="false" isAbstract="false" isQuery="false" name="createRandomAccessor" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="YQw6M2d08NEs" type="NXtv1bdOaY12" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="eAhGG6xBEqlz" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="cnJksQV8RLad" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="This function creates a random accessor which allow to randomly access any pixels on
the paint device.
&lt;b>Note:&lt;/b> random access is way slower than iterators, always use iterators whenever
you can" isSpecification="false" isLeaf="false" visibility="public" xmi.id="lWQ48KOmT50j" isRoot="false" isAbstract="false" isQuery="false" name="createRandomConstAccessor" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="QANxg5JfmWjw" type="7YzivK5pYUkj" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="9xsNoeNOPe8F" value="" type="plCqVc8rRpV9" name="x" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2eNTzx5iRVkZ" value="" type="plCqVc8rRpV9" name="y" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="This function create a random accessor which can easily access to sub pixel values." isSpecification="false" isLeaf="false" visibility="public" xmi.id="o9JHCK0MFth3" isRoot="false" isAbstract="false" isQuery="false" name="createRandomSubAccessor" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="NOhk9sCfG8ld" type="lkZVUyB02F0u" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="return the current selection or create one if this paintdevice hasn't got a selection yet." isSpecification="false" isLeaf="false" visibility="public" xmi.id="V2QsfY7hAU97" isRoot="false" isAbstract="false" isQuery="false" name="selection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="AMbGkn98xW5b" type="W5laFfU1BjN4" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="return the current pixel selection of the selection. It will create a new pixel selection and selection if missing" isSpecification="false" isLeaf="false" visibility="public" xmi.id="A4EKWNQtXDhC" isRoot="false" isAbstract="false" isQuery="false" name="pixelSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="cOGMtyIGMxyT" type="ujwc1JclTqNT" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Whether there is a valid selection for this paintdevice." isSpecification="false" isLeaf="false" visibility="public" xmi.id="j2gOgOGd7Rnh" isRoot="false" isAbstract="false" isQuery="false" name="hasSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="oA82ItdQFFgx" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Whether the previous selection was deselected." isSpecification="false" isLeaf="false" visibility="public" xmi.id="I0kCcfkmhy4D" isRoot="false" isAbstract="false" isQuery="false" name="selectionDeselected" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="2n5yI8ZuXoEO" type="RLl21qhIhuu0" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Deselect the selection for this paintdevice." isSpecification="false" isLeaf="false" visibility="public" xmi.id="JU4qgl3PnhmS" isRoot="false" isAbstract="false" isQuery="false" name="deselect" />
        <UML:Operation comment="Reinstates the old selection" isSpecification="false" isLeaf="false" visibility="public" xmi.id="525DRssiqduS" isRoot="false" isAbstract="false" isQuery="false" name="reselect" />
        <UML:Operation comment="Clear the selected pixels from the paint device" isSpecification="false" isLeaf="false" visibility="public" xmi.id="GcEyZH9slEhR" isRoot="false" isAbstract="false" isQuery="false" name="clearSelection" />
        <UML:Operation comment="Apply a mask to the image data, i.e. multiply each pixel's opacity by its
selectedness in the mask." isSpecification="false" isLeaf="false" visibility="public" xmi.id="xiplPbDSbGf0" isRoot="false" isAbstract="false" isQuery="false" name="applySelectionMask" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="6Wiw7aNNDZLm" value="" type="W5laFfU1BjN4" name="mask" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Sets the selection of this paint device to the new selection,
returns the old selection, if there was an old selection,
otherwise 0" isSpecification="false" isLeaf="false" visibility="public" xmi.id="qTcchH1ezoNM" isRoot="false" isAbstract="false" isQuery="false" name="setSelection" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="mUe6RaZDkhG0" type="W5laFfU1BjN4" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="PYpyoSzsyhn3" value="" type="W5laFfU1BjN4" name="selection" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="Notify the owning image that the current selection has changed." isSpecification="false" isLeaf="false" visibility="public" xmi.id="IARTjkDaBnAs" isRoot="false" isAbstract="false" isQuery="false" name="emitSelectionChanged" />
        <UML:Operation comment="Notify the owning image that the current selection has changed.

@param r the area for which the selection has changed" isSpecification="false" isLeaf="false" visibility="public" xmi.id="59V2yqNLPAKB" isRoot="false" isAbstract="false" isQuery="false" name="emitSelectionChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="cJ4ZyraGz1hi" value="" type="hNzgzRoeVpOX" name="r" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="XXX" isSpecification="false" isLeaf="false" visibility="public" xmi.id="ksGvgQmjYFjW" isRoot="false" isAbstract="false" isQuery="false" name="undoAdapter" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="YtQn66j7so5A" type="RiWkbWh9K9He" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="36rSGBcrUeQR" isRoot="false" isAbstract="false" isQuery="false" name="positionChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="T0hS0N8iFPbv" value="" type="b6lNKacSVLfI" name="device" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="nLcLaMpeSh4h" isRoot="false" isAbstract="false" isQuery="false" name="ioProgress" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="kIa0hCtSXWm6" value="" type="qeYJIwkluPBu" name="percentage" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="sZiIGmz5RXMh" isRoot="false" isAbstract="false" isQuery="false" name="profileChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="R6TMTcEEupCZ" value="" type="wOsmbnkPdKBl" name="profile" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="protected" xmi.id="z50WZmaPLIia" isRoot="false" isAbstract="false" isQuery="false" name="colorSpaceChanged" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="5fdUBzBc3cyW" value="" type="0Dibn6JWC3NC" name="colorspace" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Emitted whenever the whole paint device is set dirty" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="FDi90uhzyhTX" isRoot="false" isAbstract="false" isQuery="false" name="dirtied" />
        <UML:Operation comment="/// Emitted when the specified rect is marked dirty" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="T4vmMdKPGxtR" isRoot="false" isAbstract="false" isQuery="false" name="dirtied" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="u34xf0SsDA0D" value="" type="hNzgzRoeVpOX" name="rc" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="/// Emitted when the specified region is marked dirty" isSpecification="false" isLeaf="false" visibility="protected" xmi.id="3hC1OeWpiRZ2" isRoot="false" isAbstract="false" isQuery="false" name="dirtied" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="2uSJpJkkMmh0" value="" type="B6133t0IYyNK" name="region" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="n9s0IsCLZMKv" isRoot="false" isAbstract="false" isQuery="false" name="runBackgroundFilters" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="0qiiIIjIABbz" isRoot="false" isAbstract="false" isQuery="false" name="operator =" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="xe2SQGqCkSG9" type="W473OPzPGf5W" />
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="SMjp6PntWfso" value="" type="InbDkpGtiLow" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="90igdaS9cYD0" isRoot="false" isAbstract="false" isQuery="false" name="image" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="2pNkUbk2U8oZ" type="ExxPP6316unv" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
       <UML:Namespace.ownedElement>
        <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="mBOHfWlxpOxE" xmi.id="xAPBpThlHUqF" isRoot="false" isAbstract="false" name="Private" />
       </UML:Namespace.ownedElement>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="Dsg6bSCTMzS9" isRoot="false" isAbstract="false" name="KisRectIterator" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="tllJxj6a376C" isRoot="false" isAbstract="false" name="KisSharedData" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="Logical View" xmi.id="DuubKfDWCcNu" isRoot="false" isAbstract="false" name="KisVLineIterator" />
      <UML:Generalization isSpecification="false" child="Aa7JHUMqlF0g" visibility="public" namespace="Logical View" xmi.id="K6Wg14KX8qQq" parent="AseGHQAA0TFB" discriminator="" name="" />
      <UML:Generalization isSpecification="false" child="Aa7JHUMqlF0g" visibility="public" namespace="Logical View" xmi.id="sztKv2zaX3N7" parent="mBOHfWlxpOxE" discriminator="" name="" />
      <UML:Association isSpecification="false" visibility="public" namespace="Logical View" xmi.id="PqTnRuuSqH2d" name="" >
       <UML:Association.connection>
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="0Hb4HVV9k1WX" aggregation="aggregate" type="N5Z8FSmHttaB" name="" />
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="ERGHDvualLNC" aggregation="none" type="bItAvfkGkIP0" name="" />
       </UML:Association.connection>
      </UML:Association>
      <UML:Association isSpecification="false" visibility="public" namespace="Logical View" xmi.id="8gne2fHhqVr7" name="" >
       <UML:Association.connection>
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="I5B4vuahi9f5" aggregation="aggregate" type="N5Z8FSmHttaB" name="" />
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="tHI6Oj8UNt9P" aggregation="none" type="bItAvfkGkIP0" name="" />
       </UML:Association.connection>
      </UML:Association>
      <UML:Association isSpecification="false" visibility="public" namespace="Logical View" xmi.id="vD5KSWRrce0b" name="" >
       <UML:Association.connection>
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="kefrDMdrQw8O" aggregation="aggregate" type="N5Z8FSmHttaB" name="" />
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="KP8RwUTphW99" aggregation="none" type="bItAvfkGkIP0" name="" />
       </UML:Association.connection>
      </UML:Association>
      <UML:Association isSpecification="false" visibility="public" namespace="Logical View" xmi.id="QcNlsgi9WRLW" name="" >
       <UML:Association.connection>
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="rbIZp0JpaODz" aggregation="aggregate" type="bItAvfkGkIP0" name="" />
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="4UALBINbviMl" aggregation="none" type="N5Z8FSmHttaB" name="" />
       </UML:Association.connection>
      </UML:Association>
      <UML:Generalization isSpecification="false" child="bItAvfkGkIP0" visibility="public" namespace="Logical View" xmi.id="fQjiw0BFwxzd" parent="OIAxnYXvlLBh" discriminator="" name="" />
      <UML:Generalization isSpecification="false" child="bItAvfkGkIP0" visibility="public" namespace="Logical View" xmi.id="vPNWFxomBPWF" parent="QlG0uWiMQ76j" discriminator="" name="" />
      <UML:Association isSpecification="false" visibility="public" namespace="Logical View" xmi.id="KB9jA80Ny8MR" name="" >
       <UML:Association.connection>
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="lkE4XrRLeo1Y" aggregation="aggregate" type="N5Z8FSmHttaB" name="" />
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="LzZmyKiITrzb" aggregation="none" type="QlG0uWiMQ76j" name="" />
       </UML:Association.connection>
      </UML:Association>
      <UML:Association isSpecification="false" visibility="public" namespace="Logical View" xmi.id="pEnB0Xx3g4hd" name="" >
       <UML:Association.connection>
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="Eeez0LnWZTzp" aggregation="aggregate" type="QlG0uWiMQ76j" name="" />
        <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="SEw1vzkiBXtB" aggregation="none" type="N5Z8FSmHttaB" name="" />
       </UML:Association.connection>
      </UML:Association>
     </UML:Namespace.ownedElement>
     <XMI.extension xmi.extender="umbrello" >
      <diagrams>
       <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1255" snapy="10" showatts="1" xmi.id="EJFKOMFrdg6f" documentation="" type="1" showops="1" showpackage="0" name="class diagram" localid="" showstereotype="0" showscope="1" snapcsgrid="0" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="897" >
        <widgets>
         <classwidget usesdiagramfillcolor="1" width="159" showattsigs="601" x="209" fillcolor="none" y="146" showopsigs="601" linewidth="none" height="54" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="OIAxnYXvlLBh" showoperations="0" showpackage="0" showscope="1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="none" />
         <classwidget usesdiagramfillcolor="1" width="161" showattsigs="601" x="950" fillcolor="none" y="714" showopsigs="601" linewidth="none" height="54" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="mBOHfWlxpOxE" showoperations="0" showpackage="0" showscope="1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="none" />
         <classwidget usesdiagramfillcolor="1" width="178" showattsigs="601" x="445" fillcolor="none" y="721" showopsigs="601" linewidth="none" height="44" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="Aa7JHUMqlF0g" showoperations="1" showpackage="0" showscope="1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="none" />
         <classwidget usesdiagramfillcolor="1" width="180" showattsigs="601" x="204" fillcolor="none" y="385" showopsigs="601" linewidth="none" height="44" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="bItAvfkGkIP0" showoperations="1" showpackage="0" showscope="1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="none" />
         <classwidget usesdiagramfillcolor="0" width="419" showattsigs="601" x="725" fillcolor="#ffffc0" y="505" showopsigs="601" linewidth="none" height="165" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="N5Z8FSmHttaB" showoperations="0" showpackage="0" showscope="1" usesdiagramusefillcolor="0" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
         <classwidget usesdiagramfillcolor="1" width="241" showattsigs="601" x="183" fillcolor="none" y="488" showopsigs="601" linewidth="none" height="44" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="AseGHQAA0TFB" showoperations="1" showpackage="0" showscope="1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="none" />
         <classwidget usesdiagramfillcolor="1" width="207" showattsigs="601" x="126" fillcolor="none" y="709" showopsigs="601" linewidth="none" height="54" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="D0swmbhyJhgo" showoperations="0" showpackage="0" showscope="1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="none" />
         <classwidget usesdiagramfillcolor="1" width="105" showattsigs="601" x="234" fillcolor="none" y="240" showopsigs="601" linewidth="none" height="54" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="QlG0uWiMQ76j" showoperations="0" showpackage="0" showscope="1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,75,0,0,0,0,0" linecolor="none" />
        </widgets>
        <messages/>
        <associations>
         <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="mBOHfWlxpOxE" widgetaid="N5Z8FSmHttaB" xmi.id="UDFCdGKzTKIm" type="500" linecolor="none" >
          <linepath>
           <startpoint startx="951" starty="670" />
           <endpoint endx="951" endy="714" />
          </linepath>
         </assocwidget>
         <assocwidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="AseGHQAA0TFB" widgetaid="N5Z8FSmHttaB" xmi.id="e9Wo7MdyA1j1" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
          <linepath>
           <startpoint startx="725" starty="506" />
           <endpoint endx="424" endy="506" />
          </linepath>
          <floatingtext usesdiagramfillcolor="1" width="40" x="426" fillcolor="none" y="478" linewidth="none" posttext="" role="702" height="26" usefillcolor="1" pretext="" isinstance="0" xmi.id="IsVrQjOV4759" text="0..1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" linecolor="none" />
          <floatingtext usesdiagramfillcolor="1" width="177" x="426" fillcolor="none" y="508" linewidth="none" posttext="" role="710" height="26" usefillcolor="1" pretext="-" isinstance="0" xmi.id="t5C7KSiY2jhn" text="m_shapeSelection" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" linecolor="none" />
         </assocwidget>
         <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" linewidth="none" widgetbid="AseGHQAA0TFB" widgetaid="D0swmbhyJhgo" xmi.id="u2UIwLJBbcxk" type="500" linecolor="none" >
          <linepath>
           <startpoint startx="238" starty="709" />
           <endpoint endx="238" endy="532" />
          </linepath>
         </assocwidget>
         <assocwidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="3" indexb="2" linewidth="none" widgetbid="Aa7JHUMqlF0g" widgetaid="N5Z8FSmHttaB" xmi.id="8RCtUdzYPjw4" type="501" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
          <linepath>
           <startpoint startx="725" starty="670" />
           <endpoint endx="623" endy="721" />
          </linepath>
          <floatingtext usesdiagramfillcolor="1" width="40" x="589" fillcolor="none" y="694" linewidth="none" posttext="" role="702" height="26" usefillcolor="1" pretext="" isinstance="0" xmi.id="hLxk4cVKT0Ct" text="0..1" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" linecolor="none" />
          <floatingtext usesdiagramfillcolor="1" width="167" x="625" fillcolor="none" y="693" linewidth="none" posttext="" role="710" height="26" usefillcolor="1" pretext="-" isinstance="0" xmi.id="vTx9g43X7FeP" text="m_pixelSelection" usesdiagramusefillcolor="1" font="Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0" linecolor="none" />
         </assocwidget>
         <assocwidget totalcounta="3" indexa="1" totalcountb="3" indexb="2" linewidth="none" widgetbid="AseGHQAA0TFB" widgetaid="Aa7JHUMqlF0g" xmi.id="K6Wg14KX8qQq" type="500" linecolor="none" >
          <linepath>
           <startpoint startx="445" starty="721" />
           <endpoint endx="348" endy="532" />
           <point x="350" y="642" />
           <point x="350" y="577" />
           <point x="348" y="537" />
          </linepath>
         </assocwidget>
         <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="mBOHfWlxpOxE" widgetaid="Aa7JHUMqlF0g" xmi.id="sztKv2zaX3N7" type="500" linecolor="none" >
          <linepath>
           <startpoint startx="623" starty="753" />
           <endpoint endx="950" endy="753" />
          </linepath>
         </assocwidget>
         <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="OIAxnYXvlLBh" widgetaid="QlG0uWiMQ76j" xmi.id="eubGQoHNyeXn" type="500" linecolor="none" >
          <linepath>
           <startpoint startx="287" starty="240" />
           <endpoint endx="287" endy="200" />
          </linepath>
         </assocwidget>
         <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="QlG0uWiMQ76j" widgetaid="bItAvfkGkIP0" xmi.id="vPNWFxomBPWF" type="500" linecolor="none" >
          <linepath>
           <startpoint startx="292" starty="385" />
           <endpoint endx="292" endy="294" />
           <point x="292" y="299" />
          </linepath>
         </assocwidget>
         <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="N5Z8FSmHttaB" widgetaid="QlG0uWiMQ76j" xmi.id="pEnB0Xx3g4hd" type="501" linecolor="none" >
          <linepath>
           <startpoint startx="339" starty="294" />
           <endpoint endx="725" endy="505" />
          </linepath>
         </assocwidget>
        </associations>
       </diagram>
      </diagrams>
     </XMI.extension>
    </UML:Model>
    <UML:Model stereotype="folder" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="Use Case View" isRoot="false" isAbstract="false" name="Use Case View" >
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="Component View" isRoot="false" isAbstract="false" name="Component View" >
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="Deployment View" isRoot="false" isAbstract="false" name="Deployment View" >
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="Entity Relationship Model" isRoot="false" isAbstract="false" name="Entity Relationship Model" >
     <UML:Namespace.ownedElement/>
    </UML:Model>
   </UML:Namespace.ownedElement>
  </UML:Model>
 </XMI.content>
 <XMI.extensions xmi.extender="umbrello" >
  <docsettings viewid="EJFKOMFrdg6f" documentation="" uniqueid="2pNkUbk2U8oZ" />
  <listview>
   <listitem open="1" type="800" label="Views" >
    <listitem open="1" type="801" id="Logical View" >
     <listitem open="0" type="813" id="wcdQ3vYlpmri" />
     <listitem open="0" type="813" id="JJWo5qPVnzZr" />
     <listitem open="0" type="813" id="0aY3Kgowxcai" />
     <listitem open="0" type="813" id="v6q0tuVSItZD" />
     <listitem open="0" type="813" id="KQgKsfeKaLeZ" />
     <listitem open="0" type="813" id="4DQuynCCl7Z8" />
     <listitem open="0" type="813" id="Bc9FUuAT6shf" />
     <listitem open="0" type="813" id="n1Ogkmn3i6cJ" >
      <listitem open="0" type="813" id="c7Oabxn29yO3" />
      <listitem open="0" type="814" id="SVmXn1IP8hyk" />
      <listitem open="0" type="815" id="7qN0P10Lp5Iu" />
      <listitem open="0" type="815" id="Wdjpu9N2bpNQ" />
      <listitem open="0" type="815" id="Z3O9tjZUKJWb" />
      <listitem open="0" type="815" id="N9uF8GW7Z7uw" />
      <listitem open="0" type="815" id="vFrFYNotVj6d" />
      <listitem open="0" type="815" id="l4yEl2rgdY9K" />
      <listitem open="0" type="815" id="U0A3OQB7S7MC" />
      <listitem open="0" type="815" id="QSFYmRgyHRhJ" />
      <listitem open="0" type="815" id="rA16bgP7EBfv" />
      <listitem open="0" type="815" id="Ze3p4Zstjr0I" />
      <listitem open="0" type="815" id="Lga2XYI5vfnS" />
      <listitem open="0" type="815" id="qnjUXX9sDhsi" />
      <listitem open="0" type="815" id="cAvnrlU4uGCi" />
      <listitem open="0" type="815" id="xEhlB0Nsl2To" />
      <listitem open="0" type="815" id="umeWDJaI6Umg" />
      <listitem open="0" type="815" id="wjDhmfTeP7Ad" />
      <listitem open="0" type="815" id="uQM4OjPISazC" />
      <listitem open="0" type="815" id="FSrdYzGwi9Rt" />
      <listitem open="0" type="815" id="guC6TCJgc8JA" />
      <listitem open="0" type="815" id="7X7ohYhU8dNf" />
      <listitem open="0" type="815" id="Uye66vFCTMy8" />
      <listitem open="0" type="815" id="sdcyGydywjEr" />
      <listitem open="0" type="815" id="JRMmlKudyUZE" />
      <listitem open="0" type="815" id="hoRnEdxV4IFn" />
     </listitem>
     <listitem open="0" type="813" id="Q257GOV7nwsQ" />
     <listitem open="0" type="813" id="OIlKKc47dSoN" />
     <listitem open="0" type="813" id="TmUnbun7odxf" />
     <listitem open="0" type="813" id="325tNOl87Jeb" />
     <listitem open="0" type="813" id="Zz1YEBqsoCJO" />
     <listitem open="0" type="813" id="R8Myjcpwwnlg" />
     <listitem open="0" type="813" id="axatVOs3Lrba" />
     <listitem open="0" type="813" id="gUTGQMNt4k1c" />
     <listitem open="0" type="813" id="gkKXGJ8N5ePc" />
     <listitem open="0" type="813" id="u4k6KjnvYVsE" />
     <listitem open="0" type="813" id="oNwXIVqyD8WT" />
     <listitem open="0" type="813" id="pP2Jp0uKNtKt" />
     <listitem open="0" type="813" id="Joo2i9diiCl0" />
     <listitem open="0" type="813" id="zilx4jLxnAvg" />
     <listitem open="0" type="813" id="2Q6KIfVc4Auw" />
     <listitem open="0" type="813" id="nYGMtsvqaemc" />
     <listitem open="0" type="813" id="MJElEQaUzHoE" >
      <listitem open="0" type="814" id="TRMs6GLElgTw" />
      <listitem open="0" type="815" id="xPo090lnvYP7" />
      <listitem open="0" type="815" id="qXUA6UlZludd" />
      <listitem open="0" type="815" id="kRyjqjnjFPOd" />
      <listitem open="0" type="815" id="edRNXEIB94Kt" />
      <listitem open="0" type="815" id="sJrzNCsFMeen" />
      <listitem open="0" type="815" id="Yf2uHgi62fa5" />
      <listitem open="0" type="815" id="WVUzbXTEpd3k" />
      <listitem open="0" type="815" id="oaYHwI4Tv7LC" />
      <listitem open="0" type="815" id="l3JlhroBKJAu" />
      <listitem open="0" type="815" id="od8dHBM3juIe" />
      <listitem open="0" type="815" id="PnMj4Ubt5kUM" />
      <listitem open="0" type="815" id="tqNbigFt3KzV" />
      <listitem open="0" type="815" id="kFgCnfLCRftT" />
      <listitem open="0" type="815" id="9VMFDrZ6fxfO" />
      <listitem open="0" type="815" id="duFeCC9vPp7C" />
     </listitem>
     <listitem open="0" type="813" id="RwIOD7dAowCR" />
     <listitem open="0" type="813" id="V02AviWYalAl" >
      <listitem open="0" type="815" id="CBVN3teBf744" />
      <listitem open="0" type="815" id="AKG9EIC2vNTg" />
      <listitem open="0" type="815" id="dxThNEQqnHwT" />
      <listitem open="0" type="815" id="XhJS5k8gfaL3" />
      <listitem open="0" type="815" id="gpRk4x0beJ1h" />
     </listitem>
     <listitem open="0" type="813" id="f70Yd6flem5v" />
     <listitem open="0" type="813" id="FRl0gkgYTcAS" />
     <listitem open="0" type="813" id="LvutrOR9qmPI" >
      <listitem open="0" type="813" id="cUpDaLX4YX7u" />
      <listitem open="0" type="814" id="DcTmSVK4y9HY" />
      <listitem open="0" type="815" id="rzKQ69k58u1a" />
      <listitem open="0" type="815" id="6LqGMCRAx3Qb" />
      <listitem open="0" type="815" id="eqMbsmBgUp7f" />
      <listitem open="0" type="815" id="G7nobSrPSKiV" />
      <listitem open="0" type="815" id="NwXoGGJ5ctmT" />
      <listitem open="0" type="815" id="gu4JnokeShKM" />
      <listitem open="0" type="815" id="RNWt2qEmTXnr" />
      <listitem open="0" type="815" id="8OXctKR6WoYl" />
      <listitem open="0" type="815" id="kU9XzHAsB3TN" />
      <listitem open="0" type="815" id="o0GgFkdMc52j" />
      <listitem open="0" type="815" id="XedAxouV8Rml" />
      <listitem open="0" type="815" id="4af4YKvgj4dY" />
      <listitem open="0" type="815" id="lJv59ZF0YHSV" />
      <listitem open="0" type="815" id="H1m6O0q8nDab" />
      <listitem open="0" type="815" id="vsFZ7oas6VvD" />
      <listitem open="0" type="815" id="28DYPe3efnk1" />
      <listitem open="0" type="815" id="la9Wmi7faLCf" />
      <listitem open="0" type="815" id="hzHGIUvPGPbW" />
      <listitem open="0" type="815" id="nxlKXXDlLjax" />
      <listitem open="0" type="815" id="8HoMgPqTMals" />
      <listitem open="0" type="815" id="7xbSgCPecfR2" />
      <listitem open="0" type="815" id="ppAvTVKbm8wQ" />
      <listitem open="0" type="815" id="VkspKbhRYJsC" />
      <listitem open="0" type="815" id="nx6Y32wWlmM5" />
      <listitem open="0" type="815" id="GwUw1ysTXYXw" />
      <listitem open="0" type="815" id="DruiQPeTV53Q" />
      <listitem open="0" type="815" id="hxD4xvp4E972" />
      <listitem open="0" type="815" id="GADVJLV4nCJO" />
      <listitem open="0" type="815" id="l61esH8uhs9P" />
      <listitem open="0" type="815" id="FbTXuu7LEJeh" />
      <listitem open="0" type="815" id="vvguOphd5CE6" />
      <listitem open="0" type="815" id="UfFXpSeQUeMU" />
      <listitem open="0" type="815" id="HpYVVX7zAKV0" />
      <listitem open="0" type="815" id="k9ODlkfGrMDC" />
      <listitem open="0" type="815" id="eEkoXFmFMBS5" />
      <listitem open="0" type="815" id="t5MjPXvD0ZJN" />
      <listitem open="0" type="815" id="1s2Jx93ZMlNt" />
      <listitem open="0" type="815" id="y86KJXOAcit2" />
      <listitem open="0" type="815" id="FnFDKWYMMadJ" />
      <listitem open="0" type="815" id="kgs6SExOK3hb" />
      <listitem open="0" type="815" id="b1Av4rWduFqh" />
      <listitem open="0" type="815" id="tjARliHQp9TJ" />
      <listitem open="0" type="815" id="9kdyr4GuKesX" />
      <listitem open="0" type="815" id="tT4EfwlZ7Izj" />
      <listitem open="0" type="815" id="SnFcRVDKzFZc" />
      <listitem open="0" type="815" id="eWaobEV31kdS" />
      <listitem open="0" type="815" id="2u31cgUqXF1a" />
      <listitem open="0" type="815" id="booDiKPmrRWp" />
      <listitem open="0" type="815" id="MkSkWrmWjpYM" />
      <listitem open="0" type="815" id="iMTZnyM7ipsD" />
      <listitem open="0" type="815" id="ecjOPFksDurS" />
      <listitem open="0" type="815" id="wvC7n1asSotG" />
      <listitem open="0" type="815" id="0ZkZinuoALcL" />
      <listitem open="0" type="815" id="dbAWFLn9GxH3" />
      <listitem open="0" type="815" id="C3qKOQd0znUE" />
      <listitem open="0" type="815" id="gPI8ftBh9q2o" />
      <listitem open="0" type="815" id="mFQv5RkinLCG" />
      <listitem open="0" type="815" id="lNWohI9jfSlt" />
      <listitem open="0" type="815" id="XRK2pvXk983H" />
      <listitem open="0" type="815" id="HVxbBNbjovlc" />
      <listitem open="0" type="815" id="8FClgufxNcWZ" />
      <listitem open="0" type="815" id="3vNuDDIMQT76" />
      <listitem open="0" type="815" id="ZVWoBHPECk6Q" />
      <listitem open="0" type="815" id="2CJgkQOJtv64" />
      <listitem open="0" type="815" id="ATGLDKj8jTRZ" />
      <listitem open="0" type="815" id="GqlpKfnKq4ya" />
      <listitem open="0" type="815" id="SNsJGwNOPbja" />
      <listitem open="0" type="815" id="ZiZNkWxArpT7" />
      <listitem open="0" type="815" id="lqT8PBiKbOvT" />
      <listitem open="0" type="815" id="V6ZTzUiWCGtu" />
      <listitem open="0" type="815" id="KD2wZyN52wW1" />
      <listitem open="0" type="815" id="3TDOdh6xs6rS" />
      <listitem open="0" type="815" id="zWqC2e357ERk" />
      <listitem open="0" type="815" id="gnNtNRXKyMW0" />
      <listitem open="0" type="815" id="zbJjI2cwnzn8" />
      <listitem open="0" type="815" id="wSrzuGcurwd7" />
      <listitem open="0" type="815" id="FIQih4ueXkbR" />
      <listitem open="0" type="815" id="0ELqAzv6CzqP" />
      <listitem open="0" type="815" id="ohyw0vhFC7vt" />
      <listitem open="0" type="815" id="MIXZFMw13uv1" />
      <listitem open="0" type="815" id="TZ1myLFLblso" />
      <listitem open="0" type="815" id="XIqTeJy8sxuq" />
      <listitem open="0" type="815" id="ABxTYMS3eIUI" />
      <listitem open="0" type="815" id="R8EEYGgjRbCx" />
      <listitem open="0" type="815" id="VAtuZLAyTMD0" />
      <listitem open="0" type="815" id="lYRCucCWTtWv" />
      <listitem open="0" type="815" id="Ve0U63VIdzQd" />
      <listitem open="0" type="815" id="l37BVhcIGru4" />
      <listitem open="0" type="815" id="pteRJ30547EZ" />
      <listitem open="0" type="815" id="TZMpiAMX1zyL" />
      <listitem open="0" type="815" id="2yO43cdpQSr5" />
      <listitem open="0" type="815" id="Tbyt2pwClks3" />
      <listitem open="0" type="815" id="BIBG99PclNTl" />
      <listitem open="0" type="815" id="BDRXEEnOXycg" />
      <listitem open="0" type="815" id="Cz7IUWVmnzMr" />
      <listitem open="0" type="815" id="Vk6IhSAYAGRi" />
      <listitem open="0" type="815" id="NYjXm8FtjWM5" />
      <listitem open="0" type="815" id="3g4kDQo7AIpi" />
      <listitem open="0" type="815" id="V6zHsndOQ7Q0" />
      <listitem open="0" type="815" id="44OENBvqFu57" />
      <listitem open="0" type="815" id="PjZVNnjPs5cD" />
      <listitem open="0" type="815" id="rpwjvWuA3veS" />
      <listitem open="0" type="815" id="GKst3mQHb8WK" />
      <listitem open="0" type="815" id="UD24OQxC69oL" />
     </listitem>
     <listitem open="0" type="813" id="ExxPP6316unv" />
     <listitem open="0" type="813" id="1DkFbYpuRhoG" />
     <listitem open="0" type="813" id="6rivXtmoJawx" >
      <listitem open="0" type="814" id="Uu3l950lfdAV" />
      <listitem open="0" type="814" id="J5rAxxkYzzwY" />
      <listitem open="0" type="815" id="iwo1WjxyFVoY" />
      <listitem open="0" type="815" id="mTif9bhVbxKN" />
      <listitem open="0" type="815" id="NBrjqIYFhOpa" />
      <listitem open="0" type="815" id="UmaBAPj8McNQ" />
      <listitem open="0" type="815" id="mfu8HHZtkpt3" />
      <listitem open="0" type="815" id="9IgmfcVRHNYY" />
      <listitem open="0" type="815" id="e5PNsJOUnA2r" />
      <listitem open="0" type="815" id="eisE0M89eovI" />
      <listitem open="0" type="815" id="OPhfmFBPIbm9" />
      <listitem open="0" type="815" id="gEVJ1ObNnI3Y" />
      <listitem open="0" type="815" id="9kxS54ojGH2H" />
      <listitem open="0" type="815" id="dbfPsgxMqu8c" />
      <listitem open="0" type="816" id="UWYqLxsTNxfZ" />
      <listitem open="0" type="816" id="HGN2Ag6GVoA2" />
     </listitem>
     <listitem open="0" type="813" id="qZZaGZpJoL4F" />
     <listitem open="0" type="813" id="hnLeWHLhX9yu" />
     <listitem open="0" type="813" id="cZdjd0LTYs1o" />
     <listitem open="0" type="813" id="QlG0uWiMQ76j" >
      <listitem open="0" type="813" id="yJ3ADXyJQjaG" />
      <listitem open="0" type="814" id="EODNMADKTGTg" />
      <listitem open="0" type="815" id="hjldOGRTUxq9" />
      <listitem open="0" type="815" id="VPAxLy6dPm80" />
      <listitem open="0" type="815" id="NL1fazK3PSyk" />
      <listitem open="0" type="815" id="843XU1Fu4Zgr" />
      <listitem open="0" type="815" id="3SE1tQaUMs03" />
      <listitem open="0" type="815" id="zA8RJqTSsUxM" />
      <listitem open="0" type="815" id="1KgLBgMApSc8" />
      <listitem open="0" type="815" id="I3YAWUU0hjYR" />
      <listitem open="0" type="815" id="UDcJeCPwDw5j" />
      <listitem open="0" type="815" id="QZj7GGWsAgmf" />
      <listitem open="0" type="815" id="6tkJpp3FPmKd" />
      <listitem open="0" type="815" id="0qTBUFq690zs" />
     </listitem>
     <listitem open="0" type="813" id="aWzj1grG7kii" />
     <listitem open="0" type="813" id="wO8Dv0fLjvJd" />
     <listitem open="0" type="813" id="HncJ2aBASoRi" />
     <listitem open="0" type="813" id="EZqC03L45OvS" />
     <listitem open="0" type="813" id="OIAxnYXvlLBh" >
      <listitem open="0" type="813" id="22ypOJttNBNe" />
      <listitem open="0" type="813" id="hjxooWxgaZ1x" />
      <listitem open="0" type="813" id="VppvzhAreDNx" />
      <listitem open="0" type="814" id="bxve5cXloh4n" />
      <listitem open="0" type="815" id="LoayHoQmKDOX" />
      <listitem open="0" type="815" id="zhMRlyZvKgjk" />
      <listitem open="0" type="815" id="jH24xjml1DAU" />
      <listitem open="0" type="815" id="kQG2E0eq8zmS" />
      <listitem open="0" type="815" id="fDk3ySAijCmf" />
      <listitem open="0" type="815" id="f60l3kBjvwku" />
      <listitem open="0" type="815" id="Ova67Kl1qBxX" />
      <listitem open="0" type="815" id="Hfy7ovcVGZ9G" />
      <listitem open="0" type="815" id="Nzx7CgLLnKOo" />
      <listitem open="0" type="815" id="CM7iLS3BQpH0" />
      <listitem open="0" type="815" id="sZ0frNR3jWm2" />
      <listitem open="0" type="815" id="NHuqSAVIhUvZ" />
      <listitem open="0" type="815" id="rNaYtMbq7oEj" />
      <listitem open="0" type="815" id="9C2rgyOVJy4A" />
      <listitem open="0" type="815" id="I48a3pKCzM1e" />
      <listitem open="0" type="815" id="IN7ZKBkdol1E" />
      <listitem open="0" type="815" id="y9tmNq4euCEv" />
      <listitem open="0" type="815" id="zW8ys7a9Viip" />
      <listitem open="0" type="815" id="rQQgBRs7Zluu" />
      <listitem open="0" type="815" id="ZyYU8kP7EV35" />
      <listitem open="0" type="815" id="ehcDQU8yQeSY" />
      <listitem open="0" type="815" id="nlm60baeHAqf" />
      <listitem open="0" type="815" id="4XFJi5zI3cJe" />
      <listitem open="0" type="815" id="KXy7sFGxoMM4" />
      <listitem open="0" type="815" id="V6KWHWLK97Z8" />
      <listitem open="0" type="815" id="r3eLPcrj9no1" />
      <listitem open="0" type="815" id="BqfJdRKdUHSs" />
      <listitem open="0" type="815" id="xtJVSIQb85sj" />
      <listitem open="0" type="815" id="fjdlpVUKgrL8" />
      <listitem open="0" type="815" id="uz5WKOZy5Ajs" />
     </listitem>
     <listitem open="0" type="813" id="WecUNYFgbS0L" >
      <listitem open="0" type="813" id="Hj4iA1T0uRxf" />
      <listitem open="0" type="814" id="anVDfrHRBDkf" />
      <listitem open="0" type="815" id="Rvh6hEjr7XOr" />
      <listitem open="0" type="815" id="OQz1uJhRxJvJ" />
      <listitem open="0" type="815" id="dpPiMlaiCXk4" />
      <listitem open="0" type="815" id="qRVoiO7VX4u5" />
      <listitem open="0" type="815" id="buznPjrG8L2o" />
      <listitem open="0" type="815" id="h7JCBEIAqN3q" />
      <listitem open="0" type="815" id="i5RMm6QCbjkO" />
      <listitem open="0" type="815" id="o9BPrunuyhNg" />
      <listitem open="0" type="815" id="CxKLZkBJQMEn" />
      <listitem open="0" type="815" id="vqjojfli70DJ" />
      <listitem open="0" type="815" id="Kx2sJkWEaF2H" />
      <listitem open="0" type="815" id="RbKkTvKlsMb9" />
      <listitem open="0" type="815" id="4U3bTwvsVFcx" />
      <listitem open="0" type="815" id="psyxlBqpdtO6" />
     </listitem>
     <listitem open="0" type="813" id="ejkmf8n0e33m" >
      <listitem open="0" type="815" id="lzKEwvyDc0tm" />
      <listitem open="0" type="815" id="2KmwlhZJT2U6" />
      <listitem open="0" type="815" id="57RK7LS3CmY4" />
      <listitem open="0" type="815" id="ZhRlRxnOolqh" />
      <listitem open="0" type="815" id="BIjz1XeV5w5r" />
      <listitem open="0" type="815" id="uYGxSMpSXjdg" />
      <listitem open="0" type="815" id="WkylpelL0fdf" />
     </listitem>
     <listitem open="0" type="813" id="r9ZkDaaGIh1s" />
     <listitem open="0" type="813" id="tQCTyDUYAhMP" />
     <listitem open="0" type="813" id="8PrZjc65uE0h" />
     <listitem open="0" type="813" id="mBOHfWlxpOxE" >
      <listitem open="0" type="813" id="xAPBpThlHUqF" />
      <listitem open="0" type="814" id="xoo5xQ5QkmDo" />
      <listitem open="0" type="814" id="stdaeqOnq6RT" />
      <listitem open="0" type="815" id="wJvU2KG9o9OB" />
      <listitem open="0" type="815" id="h1qV8Ee4nLcw" />
      <listitem open="0" type="815" id="aFoCZ3AJlNip" />
      <listitem open="0" type="815" id="A2ktNRigCHru" />
      <listitem open="0" type="815" id="77lpQZjREgdN" />
      <listitem open="0" type="815" id="kkzw2qo7vZwJ" />
      <listitem open="0" type="815" id="g6QZfKtoxaAG" />
      <listitem open="0" type="815" id="urrBbbSGwxqa" />
      <listitem open="0" type="815" id="LnaHiRsCBowl" />
      <listitem open="0" type="815" id="ym0kXL2q6d8p" />
      <listitem open="0" type="815" id="ZLTgwZTyXS9K" />
      <listitem open="0" type="815" id="Na2ToJ4MdV0Z" />
      <listitem open="0" type="815" id="1shcNhBQ8h11" />
      <listitem open="0" type="815" id="XC14spQrf5T1" />
      <listitem open="0" type="815" id="W38a01uOnv5g" />
      <listitem open="0" type="815" id="i6M3jPZQWhPg" />
      <listitem open="0" type="815" id="bYiZfEiBHrkG" />
      <listitem open="0" type="815" id="UGXLABrGVVdj" />
      <listitem open="0" type="815" id="sHlqUPORLAAs" />
      <listitem open="0" type="815" id="DQP6aTX2h2Op" />
      <listitem open="0" type="815" id="w3wK98JfsItd" />
      <listitem open="0" type="815" id="KbhDX2zR5tmD" />
      <listitem open="0" type="815" id="23suJjVwe17e" />
      <listitem open="0" type="815" id="MwaQTKCtPunS" />
      <listitem open="0" type="815" id="FfpmQckmWICx" />
      <listitem open="0" type="815" id="BGSirxR3sDXh" />
      <listitem open="0" type="815" id="xotp1OUqjS8g" />
      <listitem open="0" type="815" id="D6kpLdLfeKYA" />
      <listitem open="0" type="815" id="69diS9srfivt" />
      <listitem open="0" type="815" id="S6zcTQaOabtD" />
      <listitem open="0" type="815" id="2wUfxAF7bMml" />
      <listitem open="0" type="815" id="ApNlB7WWWpvS" />
      <listitem open="0" type="815" id="oF2I2xkLq8qZ" />
      <listitem open="0" type="815" id="eKq0zaWonY6p" />
      <listitem open="0" type="815" id="NVOGXz7YPtNi" />
      <listitem open="0" type="815" id="09qmtpqagdel" />
      <listitem open="0" type="815" id="i4FMfr6zV94b" />
      <listitem open="0" type="815" id="qOWKWatZOoo9" />
      <listitem open="0" type="815" id="HhkfVWmxAvBa" />
      <listitem open="0" type="815" id="zrEEjFUZm43a" />
      <listitem open="0" type="815" id="7SimIJ8LP38Y" />
      <listitem open="0" type="815" id="QGZpHhMEAaiB" />
      <listitem open="0" type="815" id="PxlILf4SLzCc" />
      <listitem open="0" type="815" id="sugFtMJOdimY" />
      <listitem open="0" type="815" id="CqsbgSK87Suj" />
      <listitem open="0" type="815" id="lJRshzfauKnl" />
      <listitem open="0" type="815" id="HY2BspvWu5mh" />
      <listitem open="0" type="815" id="zaemCBBH2lRK" />
      <listitem open="0" type="815" id="DILyaEOsmR1f" />
      <listitem open="0" type="815" id="bvveeLwpbFnC" />
      <listitem open="0" type="815" id="tfuN3c1eXuGB" />
      <listitem open="0" type="815" id="FAypPj1qs12R" />
      <listitem open="0" type="815" id="2sEys5smik7l" />
      <listitem open="0" type="815" id="h43a3515xD2o" />
      <listitem open="0" type="815" id="pnxej0qR4tz7" />
      <listitem open="0" type="815" id="wyBs9BgP3COd" />
      <listitem open="0" type="815" id="p9YYHLH46Fgp" />
      <listitem open="0" type="815" id="FVEIMDNJ9WBI" />
      <listitem open="0" type="815" id="fpgg14KoDqKT" />
      <listitem open="0" type="815" id="VdMcAVtpKZWJ" />
      <listitem open="0" type="815" id="x6ncQ5gtj0Vr" />
      <listitem open="0" type="815" id="mWpDdm6oMohy" />
      <listitem open="0" type="815" id="6o1PqFKfZ3nf" />
      <listitem open="0" type="815" id="BJkaDX6y4PSt" />
      <listitem open="0" type="815" id="tPrZq3r98HEs" />
      <listitem open="0" type="815" id="Kbt45mlEidsT" />
      <listitem open="0" type="815" id="I3rUCQwpLewM" />
      <listitem open="0" type="815" id="lWQ48KOmT50j" />
      <listitem open="0" type="815" id="o9JHCK0MFth3" />
      <listitem open="0" type="815" id="V2QsfY7hAU97" />
      <listitem open="0" type="815" id="A4EKWNQtXDhC" />
      <listitem open="0" type="815" id="j2gOgOGd7Rnh" />
      <listitem open="0" type="815" id="I0kCcfkmhy4D" />
      <listitem open="0" type="815" id="JU4qgl3PnhmS" />
      <listitem open="0" type="815" id="525DRssiqduS" />
      <listitem open="0" type="815" id="GcEyZH9slEhR" />
      <listitem open="0" type="815" id="xiplPbDSbGf0" />
      <listitem open="0" type="815" id="qTcchH1ezoNM" />
      <listitem open="0" type="815" id="IARTjkDaBnAs" />
      <listitem open="0" type="815" id="59V2yqNLPAKB" />
      <listitem open="0" type="815" id="ksGvgQmjYFjW" />
      <listitem open="0" type="815" id="36rSGBcrUeQR" />
      <listitem open="0" type="815" id="nLcLaMpeSh4h" />
      <listitem open="0" type="815" id="sZiIGmz5RXMh" />
      <listitem open="0" type="815" id="z50WZmaPLIia" />
      <listitem open="0" type="815" id="FDi90uhzyhTX" />
      <listitem open="0" type="815" id="T4vmMdKPGxtR" />
      <listitem open="0" type="815" id="3hC1OeWpiRZ2" />
      <listitem open="0" type="815" id="n9s0IsCLZMKv" />
      <listitem open="0" type="815" id="0qiiIIjIABbz" />
      <listitem open="0" type="815" id="90igdaS9cYD0" />
     </listitem>
     <listitem open="0" type="813" id="b6lNKacSVLfI" />
     <listitem open="0" type="813" id="kXWexaljj7yN" />
     <listitem open="0" type="813" id="ZQO8uSrT0RzM" />
     <listitem open="0" type="813" id="UxjJ1d4ByM0O" />
     <listitem open="0" type="813" id="ulBNbYqEgrlH" />
     <listitem open="0" type="813" id="vO2X85QNWBNA" />
     <listitem open="0" type="813" id="SuRmJTRHAVjA" />
     <listitem open="0" type="813" id="ERtUdDfQHZuU" />
     <listitem open="0" type="813" id="8BhoLQo9yiw3" />
     <listitem open="0" type="813" id="Aa7JHUMqlF0g" />
     <listitem open="0" type="813" id="ujwc1JclTqNT" />
     <listitem open="0" type="813" id="EOeTEUDXHzYz" />
     <listitem open="0" type="813" id="COzfiRUun8L1" />
     <listitem open="0" type="813" id="UjN8Y6PRUQyd" />
     <listitem open="0" type="813" id="VOy2YKAPLrix" />
     <listitem open="0" type="813" id="OzvdU3yDEK1Z" />
     <listitem open="0" type="813" id="Tr8noau20wUM" >
      <listitem open="0" type="816" id="4OIv4F235CnV" />
      <listitem open="0" type="816" id="R86Z8lEZaMNP" />
     </listitem>
     <listitem open="0" type="813" id="wFRuBuFDGV8L" />
     <listitem open="0" type="813" id="lkZVUyB02F0u" />
     <listitem open="0" type="813" id="nbf8kfk8vin6" >
      <listitem open="0" type="814" id="b9WoeBTR06ow" />
      <listitem open="0" type="815" id="5VySrdvEDvSI" />
      <listitem open="0" type="815" id="z5ZeqrsVZ2rA" />
      <listitem open="0" type="815" id="dnFXZipNqbbT" />
      <listitem open="0" type="815" id="eTsfiLe9FZnA" />
      <listitem open="0" type="815" id="nAi1jTBlw7kd" />
      <listitem open="0" type="815" id="N6hHBPsOWnVD" />
      <listitem open="0" type="815" id="NVirHD2nHDil" />
      <listitem open="0" type="815" id="YIzYOujW2or4" />
      <listitem open="0" type="815" id="q6Rz34JOYzEp" />
      <listitem open="0" type="815" id="3ET32I5tOVqQ" />
      <listitem open="0" type="815" id="Z9m560uGFUhh" />
      <listitem open="0" type="815" id="ppfNy9M0Ln3O" />
      <listitem open="0" type="815" id="39FSc5qBCcHG" />
     </listitem>
     <listitem open="0" type="813" id="Dsg6bSCTMzS9" />
     <listitem open="0" type="813" id="D8wZtyvx5APh" >
      <listitem open="0" type="815" id="lglylup3V7HD" />
      <listitem open="0" type="815" id="35pJH450iQbm" />
      <listitem open="0" type="815" id="miZuuXoxbdEs" />
      <listitem open="0" type="815" id="GfMrGbhwsYHc" />
     </listitem>
     <listitem open="0" type="813" id="N5Z8FSmHttaB" >
      <listitem open="0" type="814" id="pFkOeuxbz6Db" />
      <listitem open="0" type="814" id="ZpAPPbdQl3T6" />
      <listitem open="0" type="814" id="6mjQfxEUCyso" />
      <listitem open="0" type="814" id="qnQntbORQWqo" />
      <listitem open="0" type="814" id="8RCtUdzYPjw4" />
      <listitem open="0" type="814" id="e9Wo7MdyA1j1" />
      <listitem open="0" type="815" id="X5kNLzA3iqX3" />
      <listitem open="0" type="815" id="G18qf3SA8CXS" />
      <listitem open="0" type="815" id="JWnQgJspzNeT" />
      <listitem open="0" type="815" id="PW7mEPZiW5ET" />
      <listitem open="0" type="815" id="dHk7KybNKIOx" />
      <listitem open="0" type="815" id="32tISFFDTzt2" />
      <listitem open="0" type="815" id="N3yDHeIvt20B" />
      <listitem open="0" type="815" id="NDeGDeSCEwW5" />
      <listitem open="0" type="815" id="rkwku67GUg4o" />
      <listitem open="0" type="815" id="7rWcdRL0czFp" />
      <listitem open="0" type="815" id="uGPMwRA3Igev" />
      <listitem open="0" type="815" id="1EoH4wQwCnI7" />
      <listitem open="0" type="815" id="ES8W7mQAiIsf" />
      <listitem open="0" type="815" id="PLABqVYrjK8l" />
      <listitem open="0" type="815" id="TmVB7cwO6cpQ" />
      <listitem open="0" type="815" id="XW4MTI0u5U3C" />
      <listitem open="0" type="815" id="40aAcNY9lS5q" />
      <listitem open="0" type="815" id="xLv2pyEtwm2W" />
      <listitem open="0" type="815" id="8agt2lkME7zk" />
      <listitem open="0" type="815" id="CZnlEAmAVhCJ" />
      <listitem open="0" type="815" id="dPAa9A6HlkBl" />
      <listitem open="0" type="815" id="Vt5i04SAcDvo" />
      <listitem open="0" type="815" id="Ocv9N4tsxyYv" />
      <listitem open="0" type="815" id="XMw3aSgz5Z6S" />
      <listitem open="0" type="815" id="T3R5Rg3w30xb" />
      <listitem open="0" type="815" id="QeYVBfxncGLY" />
      <listitem open="0" type="815" id="4AW7DDJuqKCi" />
      <listitem open="0" type="815" id="e5ckRQ3uz4Vo" />
      <listitem open="0" type="815" id="z5AbeTeZpaTE" />
      <listitem open="0" type="815" id="0AS5M3LdLuDq" />
      <listitem open="0" type="829" id="JH7naNZWcdwb" />
     </listitem>
     <listitem open="0" type="813" id="AseGHQAA0TFB" />
     <listitem open="0" type="813" id="bItAvfkGkIP0" />
     <listitem open="0" type="813" id="k9Fd2pmXtV58" />
     <listitem open="0" type="813" id="W5laFfU1BjN4" />
     <listitem open="0" type="813" id="bZaVM3yNr6wm" />
     <listitem open="0" type="813" id="ANIoPZ6S7p3X" />
     <listitem open="0" type="813" id="D0swmbhyJhgo" >
      <listitem open="0" type="813" id="gdmKMZWR0rwE" />
      <listitem open="0" type="814" id="AymCRWdFhn0V" />
      <listitem open="0" type="814" id="TmNAXNgBRkKd" />
      <listitem open="0" type="814" id="idYnbYus1q1p" />
      <listitem open="0" type="814" id="aFmHBwOegjpE" />
      <listitem open="0" type="814" id="4TNVDh8tJehs" />
      <listitem open="0" type="814" id="BbkCPlzxykE8" />
      <listitem open="0" type="815" id="7a8gD5QP1c4h" />
      <listitem open="0" type="815" id="r4JqhLXKkwe2" />
      <listitem open="0" type="815" id="xmjfKYUweIcW" />
      <listitem open="0" type="815" id="rXb97mVUHuQq" />
      <listitem open="0" type="815" id="0G0Qie7hbRAK" />
      <listitem open="0" type="815" id="LFrwe1EVN6NT" />
      <listitem open="0" type="815" id="fL8PqbHJgByQ" />
      <listitem open="0" type="815" id="vpaGwvjZGpy6" />
      <listitem open="0" type="815" id="jAe93OSppMq5" />
     </listitem>
     <listitem open="0" type="813" id="X35qhkisJS2i" >
      <listitem open="0" type="815" id="t6Y6x0ya7iUh" />
      <listitem open="0" type="815" id="gNAn4fTVmuk9" />
      <listitem open="0" type="815" id="CVhdCsAWYSgy" />
      <listitem open="0" type="815" id="ZDP7f65guKPO" />
     </listitem>
     <listitem open="0" type="813" id="dJN5jYFhlQTp" >
      <listitem open="0" type="814" id="WVN5o7MCOggk" />
      <listitem open="0" type="814" id="vH1Ivi264m3W" />
      <listitem open="0" type="815" id="fuXA3o2mZJjJ" />
      <listitem open="0" type="815" id="PJKWOUi1n55W" />
     </listitem>
     <listitem open="0" type="813" id="tllJxj6a376C" />
     <listitem open="0" type="813" id="BOkySpT55hSl" />
     <listitem open="0" type="813" id="ZUaeB0PVbTPw" >
      <listitem open="0" type="815" id="Kp4dlrcBrMro" />
      <listitem open="0" type="815" id="uVO9lQ0Sk2UB" />
      <listitem open="0" type="815" id="vXeooVP6IUj3" />
      <listitem open="0" type="815" id="kuw5cDpIwJz9" />
      <listitem open="0" type="815" id="36zxPx7JYyUY" />
      <listitem open="0" type="816" id="3sl6hetctvso" />
      <listitem open="0" type="829" id="iK44Su3VvHtd" />
     </listitem>
     <listitem open="0" type="813" id="YusqtSaJPMhS" />
     <listitem open="0" type="813" id="Pb0E5WNEvm4H" />
     <listitem open="0" type="813" id="Unb0KgvIizIs" />
     <listitem open="0" type="813" id="qf6EfjXsKyck" />
     <listitem open="0" type="813" id="SwoO53uXqVYB" />
     <listitem open="0" type="813" id="9RRsOjiDMoPz" />
     <listitem open="0" type="813" id="PcrSGE5BIpHa" />
     <listitem open="0" type="813" id="W2W2VMGJiCp0" />
     <listitem open="0" type="813" id="fdztmTK959cM" />
     <listitem open="0" type="813" id="qyqXOuupGsqk" />
     <listitem open="0" type="813" id="Ec82YJUBPSnc" >
      <listitem open="0" type="814" id="Ax3UlrliUjxL" />
      <listitem open="0" type="815" id="48NhijiWTZ6U" />
      <listitem open="0" type="815" id="G99smIX1XvfE" />
      <listitem open="0" type="815" id="dWqwot0OO2Tr" />
      <listitem open="0" type="815" id="lkzHQ4nf1eZX" />
      <listitem open="0" type="815" id="g36gffDvr1wX" />
      <listitem open="0" type="815" id="kASZ9M7LywBA" />
      <listitem open="0" type="815" id="2ZlOnAxKDYts" />
      <listitem open="0" type="815" id="PsBHyBogJEGT" />
      <listitem open="0" type="815" id="bLmXHxgJWRfI" />
      <listitem open="0" type="815" id="ZcamBTcYJoqH" />
      <listitem open="0" type="815" id="xcyGrEhQZTxo" />
      <listitem open="0" type="815" id="Rd8v3nBaOjLX" />
     </listitem>
     <listitem open="0" type="813" id="DuubKfDWCcNu" />
     <listitem open="0" type="813" id="vejS6gHXINQJ" >
      <listitem open="0" type="815" id="k5auAWn7GPVf" />
      <listitem open="0" type="815" id="cTLVICYergDr" />
      <listitem open="0" type="815" id="JSp8euccOoP2" />
     </listitem>
     <listitem open="0" type="813" id="QMy1VQ04jvNd" />
     <listitem open="0" type="813" id="ux9yXIjbILRZ" >
      <listitem open="0" type="813" id="TLELTcH1yUBn" />
     </listitem>
     <listitem open="0" type="813" id="qXwn7UTwSKTr" />
     <listitem open="0" type="813" id="YJvJv6Dv3j7k" />
     <listitem open="0" type="813" id="eJoelGQAjQ4P" />
     <listitem open="0" type="813" id="Bsnj15sX3AD9" >
      <listitem open="0" type="813" id="cX7m1EEzOHLo" />
     </listitem>
     <listitem open="0" type="813" id="FTtOWJRuqIpq" />
     <listitem open="0" type="813" id="3oHiUfJ80Tv2" />
     <listitem open="0" type="813" id="LumJEHrttYy9" />
     <listitem open="0" type="813" id="C2g8muGQV3iq" />
     <listitem open="0" type="813" id="LzTXH6PsHaBO" />
     <listitem open="0" type="813" id="zGzGtMwxRUdj" />
     <listitem open="0" type="813" id="tZJ6DcpuqNLu" />
     <listitem open="0" type="813" id="OS1wi2Kbb9Sy" />
     <listitem open="0" type="813" id="pj2GbdLVQtlK" />
     <listitem open="0" type="813" id="QFU7090pDHfs" />
     <listitem open="0" type="813" id="vartNRqzncBv" />
     <listitem open="0" type="813" id="9fjNJMjbGkmJ" />
     <listitem open="0" type="813" id="dIENgfCLZiTb" />
     <listitem open="0" type="813" id="nj7ycHW0rtGP" />
     <listitem open="0" type="813" id="2xYEhuB52USm" />
     <listitem open="0" type="813" id="8XzKi6SK09T7" />
     <listitem open="0" type="813" id="5nvWaPd7GI9B" />
     <listitem open="0" type="813" id="RnqpQkJxKg5O" />
     <listitem open="0" type="813" id="uh5NLRUavMwR" />
     <listitem open="0" type="813" id="DnQBkydEIkoD" />
     <listitem open="0" type="813" id="W652rvrk8Rot" />
     <listitem open="0" type="813" id="AXbbrSN0qCuy" />
     <listitem open="0" type="813" id="Re8tNE3gTud5" />
     <listitem open="0" type="813" id="270SBmI2USTD" />
     <listitem open="0" type="813" id="s1fGRqzJa1aq" />
     <listitem open="0" type="813" id="SCDMtPBFib3M" />
     <listitem open="0" type="813" id="zqYjSGDSNBuW" />
     <listitem open="0" type="813" id="0ysUlEzImDlD" />
     <listitem open="0" type="813" id="T0A1FCZoyNzh" />
     <listitem open="0" type="813" id="zbmT1UpYYDfP" />
     <listitem open="0" type="813" id="grbX1AfpOdvW" />
     <listitem open="0" type="813" id="d66BCxJv7x28" />
     <listitem open="0" type="813" id="bvtffuADOkrX" />
     <listitem open="0" type="813" id="VPEmpK5IF83O" />
     <listitem open="0" type="813" id="Sg0obfLstit3" />
     <listitem open="0" type="813" id="plCqVc8rRpV9" />
     <listitem open="0" type="813" id="qeYJIwkluPBu" />
     <listitem open="0" type="813" id="beE4KurBLFpU" />
     <listitem open="0" type="813" id="Y6DvUKZG26uB" />
     <listitem open="0" type="813" id="QWarDM8HXW9T" />
     <listitem open="0" type="813" id="8xiEpPsEvS57" />
     <listitem open="0" type="813" id="JJf2OC8ZmGoF" />
     <listitem open="0" type="813" id="CZOsf1B31HAH" />
     <listitem open="0" type="813" id="DKyqmmCwLaoy" />
     <listitem open="0" type="813" id="ffORbGryZbIt" />
     <listitem open="0" type="813" id="3PSpclD1tXzb" />
     <listitem open="0" type="813" id="drkxiJXjjxZJ" />
     <listitem open="0" type="813" id="7oX1ZGh7DFzh" />
     <listitem open="0" type="813" id="Sq7GC9TrwoTS" />
     <listitem open="0" type="813" id="3albQkPsbU6l" />
     <listitem open="0" type="813" id="3oAYx6RXe4HH" />
     <listitem open="0" type="813" id="Pzyo64VfaUOa" />
     <listitem open="0" type="813" id="3i9mbTOzSKnX" />
     <listitem open="0" type="813" id="AFqFyYysu43q" />
     <listitem open="0" type="813" id="mVbVomBeviO6" />
     <listitem open="0" type="813" id="sPTldSSNx3qk" />
     <listitem open="0" type="813" id="JwLZdKRmjGLQ" />
     <listitem open="0" type="813" id="djKT8HfjLQ4f" />
     <listitem open="0" type="813" id="m5uWDstocBFi" />
     <listitem open="0" type="813" id="yh6R0lkiGEMD" />
     <listitem open="0" type="813" id="t1gKcrmWayt9" />
     <listitem open="0" type="813" id="NhVeUkC0mi0H" />
     <listitem open="0" type="813" id="BGqHPSbl96Nb" />
     <listitem open="0" type="813" id="3GYlRLl6xkxh" />
     <listitem open="0" type="813" id="bzDoHELgVfO7" />
     <listitem open="0" type="818" id="LEAg4zaZLiJl" >
      <listitem open="0" type="813" id="ijUjDfckHQWm" />
     </listitem>
     <listitem open="0" type="829" id="btRZHIpbb1Mo" />
     <listitem open="0" type="829" id="T9W3Bqrcm9zy" />
     <listitem open="0" type="829" id="NXtv1bdOaY12" />
     <listitem open="0" type="829" id="7YzivK5pYUkj" />
     <listitem open="0" type="829" id="bjo2GGu2qZ8Y" />
     <listitem open="0" type="829" id="ys9mQHLb81hh" />
     <listitem open="0" type="829" id="53gqBdoNDuQj" />
     <listitem open="0" type="829" id="YxolsEU36MeQ" />
     <listitem open="1" type="830" id="Datatypes" >
      <listitem open="0" type="829" id="nTg6PUYeH79m" />
      <listitem open="0" type="829" id="PnUKZZZ2L4qu" />
      <listitem open="0" type="829" id="7LM3obNgVA4T" />
      <listitem open="0" type="829" id="61HpMiaX8VOD" />
      <listitem open="0" type="829" id="fHAqxAXnTOmp" />
      <listitem open="0" type="829" id="MytSIm2Q4HXI" />
      <listitem open="0" type="829" id="0FKWFVXfC48X" />
      <listitem open="0" type="829" id="x242BtNGO1dI" />
      <listitem open="0" type="829" id="x7eUIqpmdPxl" />
      <listitem open="0" type="829" id="7UoRdshkfUoR" />
      <listitem open="0" type="829" id="zjL4djwYz6m9" />
      <listitem open="0" type="829" id="f80eDmloeDMv" />
      <listitem open="0" type="829" id="CXPqiljBuFC3" />
      <listitem open="0" type="829" id="L64EKGHNIvBR" />
      <listitem open="0" type="829" id="aA2kIjd8ACyc" />
      <listitem open="0" type="829" id="YdTvOoXOc0X7" />
      <listitem open="0" type="829" id="ulX5yHkiE2uA" />
      <listitem open="0" type="829" id="Hb6IT46qJ1hk" />
      <listitem open="0" type="829" id="FAm8oZbU0jSI" />
      <listitem open="0" type="829" id="W473OPzPGf5W" />
      <listitem open="0" type="829" id="TFp5vE8i3IdX" />
      <listitem open="1" type="829" id="eT4Ukuo4tuZw" />
      <listitem open="0" type="829" id="uunNzql88jgP" />
      <listitem open="0" type="829" id="zrtRdkfbJPB2" />
      <listitem open="0" type="829" id="RIKhec7mA5S3" />
      <listitem open="0" type="829" id="kBMoL9JmIOKQ" />
      <listitem open="0" type="829" id="oiWgA4DwEwxv" />
      <listitem open="0" type="829" id="gvmdEqByXlsR" />
      <listitem open="0" type="829" id="uup1nGyuEy8U" />
      <listitem open="0" type="829" id="GQ3SMAwwtiy7" />
      <listitem open="0" type="829" id="DZhYnOMuvkMN" />
      <listitem open="0" type="829" id="tLss8ZxflXTs" />
      <listitem open="0" type="829" id="LhyoM95yWEYf" />
      <listitem open="0" type="829" id="Md6uLZTp3qup" />
      <listitem open="0" type="829" id="KTNIUTYfBR9e" />
      <listitem open="0" type="829" id="RiWkbWh9K9He" />
      <listitem open="0" type="829" id="Y5bbhr1Lu7zZ" />
      <listitem open="0" type="829" id="AQ7EDKaonuJ6" />
      <listitem open="0" type="829" id="37vp9wPhZYQx" />
      <listitem open="0" type="829" id="wOsmbnkPdKBl" />
      <listitem open="0" type="829" id="0Dibn6JWC3NC" />
      <listitem open="0" type="829" id="DJDk7HG7XlV5" />
      <listitem open="0" type="829" id="8MYtHG2Rlh3v" />
      <listitem open="0" type="829" id="NWQwZ5pBGfNi" />
      <listitem open="0" type="829" id="zxKTiUDa1mj7" />
      <listitem open="0" type="829" id="TmymcG3JKTqy" />
      <listitem open="0" type="829" id="LYG39JPo7rZJ" />
      <listitem open="0" type="829" id="9aq7yxkfGs0I" />
      <listitem open="0" type="829" id="HWhTJxaVOj2V" />
      <listitem open="0" type="829" id="2sSwqrVuGL2F" />
      <listitem open="0" type="829" id="T7REOKlYRiDZ" />
      <listitem open="0" type="829" id="Kw3B3vcDxL4L" />
      <listitem open="0" type="829" id="osao8GCokGSZ" />
      <listitem open="0" type="829" id="JUw8omEziyB7" />
      <listitem open="0" type="829" id="kF2KiSElIypz" />
      <listitem open="0" type="829" id="MzIroQrUMfTr" />
      <listitem open="1" type="829" id="RLl21qhIhuu0" />
      <listitem open="1" type="829" id="WbVaZGpmX56u" />
      <listitem open="0" type="829" id="bbj3G4dLu0LH" />
      <listitem open="0" type="829" id="sClQTFjCehtS" />
      <listitem open="0" type="829" id="qjeRDR27aTh2" />
      <listitem open="0" type="829" id="0zuG608sRrVY" />
      <listitem open="0" type="829" id="o9qspvG1A7hv" />
      <listitem open="0" type="829" id="Q3LnpUoN0REZ" />
      <listitem open="0" type="829" id="pKRPTYFmKqkc" />
      <listitem open="0" type="829" id="cyd2c3YzrBZA" />
      <listitem open="0" type="829" id="InbDkpGtiLow" />
      <listitem open="0" type="829" id="4Svzh9MKubrU" />
      <listitem open="0" type="829" id="2Oh3engwHSMx" />
      <listitem open="0" type="829" id="wjBCatD5vdxY" />
      <listitem open="0" type="829" id="GEq1iCjKhaGV" />
      <listitem open="0" type="829" id="7mVBHOOHWant" />
      <listitem open="0" type="829" id="b20x1snFRGmL" />
      <listitem open="0" type="829" id="WXoZh1gKZn4Y" />
      <listitem open="0" type="829" id="YNNkZ2fkKrSP" />
      <listitem open="0" type="829" id="zgWy9P0GmW71" />
      <listitem open="0" type="829" id="oTu3Iq7h2VkQ" />
      <listitem open="0" type="829" id="dBCL7pL4b5ht" />
      <listitem open="0" type="829" id="aJ3krlw3vOto" />
      <listitem open="0" type="829" id="Tp9Ixzrvqq23" />
      <listitem open="0" type="829" id="ErnD4MnEewWC" />
      <listitem open="0" type="829" id="h7s3Wwp5xxy1" />
      <listitem open="0" type="829" id="hNzgzRoeVpOX" />
      <listitem open="0" type="829" id="wDZQd0dklEjc" />
      <listitem open="0" type="829" id="B6133t0IYyNK" />
      <listitem open="0" type="829" id="xciUhaOfBB6A" />
      <listitem open="0" type="829" id="s8dfGdUsLK6L" />
      <listitem open="0" type="829" id="tPo7gxHdByML" />
      <listitem open="0" type="829" id="Qn9os2Nua0y8" />
      <listitem open="0" type="829" id="887N24GN8xfK" />
      <listitem open="1" type="829" id="PX1va5p2Oa2Q" />
      <listitem open="1" type="829" id="Dlv6b8f7hBiH" />
      <listitem open="1" type="829" id="ItFeJIqwtsDb" />
      <listitem open="1" type="829" id="5Z0nig28B33m" />
      <listitem open="0" type="829" id="ncRvKSvhM9lJ" />
      <listitem open="0" type="829" id="Tde1kwi1zJ4Y" />
      <listitem open="1" type="829" id="Oig6cY6pJzus" />
      <listitem open="1" type="829" id="RLDvs62x5vJ2" />
      <listitem open="1" type="829" id="8qmWQoupWYv7" />
      <listitem open="1" type="829" id="vrA6sBqy1cTQ" />
      <listitem open="1" type="829" id="5zuOxoF2MFp4" />
     </listitem>
     <listitem open="0" type="831" id="DVSt0sHVf4Oc" >
      <listitem open="0" type="839" id="lWTOjpLIkExp" />
      <listitem open="0" type="839" id="qUZd9dOM8rD6" />
      <listitem open="0" type="839" id="hScKWyuGVLeE" />
      <listitem open="0" type="839" id="AxXu9UkxwJa5" />
     </listitem>
     <listitem open="0" type="831" id="uzQ2ob6T4ina" >
      <listitem open="0" type="839" id="fhqA0SMBNt3W" />
      <listitem open="0" type="839" id="LlUF22Jwzjwl" />
      <listitem open="0" type="839" id="K3EMjzxOelWf" />
      <listitem open="0" type="839" id="CtqXmr48dWLf" />
     </listitem>
     <listitem open="0" type="831" id="HspCSyDsv5di" >
      <listitem open="0" type="839" id="2rpSFNEOzxMP" />
      <listitem open="0" type="839" id="0L8hbratkQ3A" />
      <listitem open="0" type="839" id="OF0JKezMVmnl" />
      <listitem open="0" type="839" id="9z76wTWxmccM" />
     </listitem>
     <listitem open="0" type="831" id="IgK2E19wvZ81" >
      <listitem open="0" type="839" id="SzunnyG7QOal" />
      <listitem open="0" type="839" id="8bl0S3yjhIlv" />
     </listitem>
     <listitem open="0" type="831" id="nRxBAYPh9taV" >
      <listitem open="0" type="839" id="h7uH8POMlah7" />
      <listitem open="0" type="839" id="kuSC8vstKo4V" />
      <listitem open="0" type="839" id="MUAVNk12stH0" />
     </listitem>
    </listitem>
    <listitem open="1" type="802" id="Use Case View" />
    <listitem open="1" type="821" id="Component View" />
    <listitem open="1" type="827" id="Deployment View" />
    <listitem open="1" type="836" id="Entity Relationship Model" />
   </listitem>
  </listview>
  <codegeneration>
   <codegenerator language="C++" />
  </codegeneration>
 </XMI.extensions>
</XMI>
