<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.tab
        {mso-style-name:tab;}
span.yiv436811335tab
        {mso-style-name:yiv436811335tab;}
p.yiv436811335msonormal, li.yiv436811335msonormal, div.yiv436811335msonormal
        {mso-style-name:yiv436811335msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate, li.yiv436811335msoacetate, div.yiv436811335msoacetate
        {mso-style-name:yiv436811335msoacetate;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msolistparagraph, li.yiv436811335msolistparagraph, div.yiv436811335msolistparagraph
        {mso-style-name:yiv436811335msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault, li.yiv436811335msochpdefault, div.yiv436811335msochpdefault
        {mso-style-name:yiv436811335msochpdefault;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal1, li.yiv436811335msonormal1, div.yiv436811335msonormal1
        {mso-style-name:yiv436811335msonormal1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate1, li.yiv436811335msoacetate1, div.yiv436811335msoacetate1
        {mso-style-name:yiv436811335msoacetate1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault1, li.yiv436811335msochpdefault1, div.yiv436811335msochpdefault1
        {mso-style-name:yiv436811335msochpdefault1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal2, li.yiv436811335msonormal2, div.yiv436811335msonormal2
        {mso-style-name:yiv436811335msonormal2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate2, li.yiv436811335msoacetate2, div.yiv436811335msoacetate2
        {mso-style-name:yiv436811335msoacetate2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal3, li.yiv436811335msonormal3, div.yiv436811335msonormal3
        {mso-style-name:yiv436811335msonormal3;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault2, li.yiv436811335msochpdefault2, div.yiv436811335msochpdefault2
        {mso-style-name:yiv436811335msochpdefault2;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal11, li.yiv436811335msonormal11, div.yiv436811335msonormal11
        {mso-style-name:yiv436811335msonormal11;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate11, li.yiv436811335msoacetate11, div.yiv436811335msoacetate11
        {mso-style-name:yiv436811335msoacetate11;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault11, li.yiv436811335msochpdefault11, div.yiv436811335msochpdefault11
        {mso-style-name:yiv436811335msochpdefault11;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal4, li.yiv436811335msonormal4, div.yiv436811335msonormal4
        {mso-style-name:yiv436811335msonormal4;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate3, li.yiv436811335msoacetate3, div.yiv436811335msoacetate3
        {mso-style-name:yiv436811335msoacetate3;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal5, li.yiv436811335msonormal5, div.yiv436811335msonormal5
        {mso-style-name:yiv436811335msonormal5;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault3, li.yiv436811335msochpdefault3, div.yiv436811335msochpdefault3
        {mso-style-name:yiv436811335msochpdefault3;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal12, li.yiv436811335msonormal12, div.yiv436811335msonormal12
        {mso-style-name:yiv436811335msonormal12;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate12, li.yiv436811335msoacetate12, div.yiv436811335msoacetate12
        {mso-style-name:yiv436811335msoacetate12;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault12, li.yiv436811335msochpdefault12, div.yiv436811335msochpdefault12
        {mso-style-name:yiv436811335msochpdefault12;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal21, li.yiv436811335msonormal21, div.yiv436811335msonormal21
        {mso-style-name:yiv436811335msonormal21;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate21, li.yiv436811335msoacetate21, div.yiv436811335msoacetate21
        {mso-style-name:yiv436811335msoacetate21;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal31, li.yiv436811335msonormal31, div.yiv436811335msonormal31
        {mso-style-name:yiv436811335msonormal31;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault21, li.yiv436811335msochpdefault21, div.yiv436811335msochpdefault21
        {mso-style-name:yiv436811335msochpdefault21;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal111, li.yiv436811335msonormal111, div.yiv436811335msonormal111
        {mso-style-name:yiv436811335msonormal111;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate111, li.yiv436811335msoacetate111, div.yiv436811335msoacetate111
        {mso-style-name:yiv436811335msoacetate111;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault111, li.yiv436811335msochpdefault111, div.yiv436811335msochpdefault111
        {mso-style-name:yiv436811335msochpdefault111;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv436811335msohyperlink
        {mso-style-name:yiv436811335msohyperlink;}
span.yiv436811335msohyperlinkfollowed
        {mso-style-name:yiv436811335msohyperlinkfollowed;}
span.yiv436811335msohyperlink1
        {mso-style-name:yiv436811335msohyperlink1;}
span.yiv436811335msohyperlinkfollowed1
        {mso-style-name:yiv436811335msohyperlinkfollowed1;}
span.yiv436811335msohyperlink21
        {mso-style-name:yiv436811335msohyperlink21;}
span.yiv436811335msohyperlinkfollowed21
        {mso-style-name:yiv436811335msohyperlinkfollowed21;}
span.yiv436811335msohyperlink111
        {mso-style-name:yiv436811335msohyperlink111;}
span.yiv436811335msohyperlinkfollowed111
        {mso-style-name:yiv436811335msohyperlinkfollowed111;}
span.yiv436811335balloontextchar111
        {mso-style-name:yiv436811335balloontextchar111;}
span.yiv436811335emailstyle21111
        {mso-style-name:yiv436811335emailstyle21111;}
span.yiv436811335balloontextchar21
        {mso-style-name:yiv436811335balloontextchar21;}
span.yiv436811335emailstyle3511
        {mso-style-name:yiv436811335emailstyle3511;}
span.yiv436811335emailstyle481
        {mso-style-name:yiv436811335emailstyle481;}
span.yiv436811335balloontextchar1
        {mso-style-name:yiv436811335balloontextchar1;}
span.yiv436811335emailstyle70
        {mso-style-name:yiv436811335emailstyle70;}
span.yiv436811335balloontextchar
        {mso-style-name:yiv436811335balloontextchar;}
p.yiv436811335msonormal6, li.yiv436811335msonormal6, div.yiv436811335msonormal6
        {mso-style-name:yiv436811335msonormal6;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv436811335msohyperlink2
        {mso-style-name:yiv436811335msohyperlink2;
        color:blue;
        text-decoration:underline;}
span.yiv436811335msohyperlinkfollowed2
        {mso-style-name:yiv436811335msohyperlinkfollowed2;
        color:purple;
        text-decoration:underline;}
p.yiv436811335msoacetate4, li.yiv436811335msoacetate4, div.yiv436811335msoacetate4
        {mso-style-name:yiv436811335msoacetate4;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msolistparagraph1, li.yiv436811335msolistparagraph1, div.yiv436811335msolistparagraph1
        {mso-style-name:yiv436811335msolistparagraph1;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault4, li.yiv436811335msochpdefault4, div.yiv436811335msochpdefault4
        {mso-style-name:yiv436811335msochpdefault4;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal13, li.yiv436811335msonormal13, div.yiv436811335msonormal13
        {mso-style-name:yiv436811335msonormal13;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate13, li.yiv436811335msoacetate13, div.yiv436811335msoacetate13
        {mso-style-name:yiv436811335msoacetate13;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault13, li.yiv436811335msochpdefault13, div.yiv436811335msochpdefault13
        {mso-style-name:yiv436811335msochpdefault13;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal22, li.yiv436811335msonormal22, div.yiv436811335msonormal22
        {mso-style-name:yiv436811335msonormal22;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate22, li.yiv436811335msoacetate22, div.yiv436811335msoacetate22
        {mso-style-name:yiv436811335msoacetate22;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal32, li.yiv436811335msonormal32, div.yiv436811335msonormal32
        {mso-style-name:yiv436811335msonormal32;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault22, li.yiv436811335msochpdefault22, div.yiv436811335msochpdefault22
        {mso-style-name:yiv436811335msochpdefault22;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal112, li.yiv436811335msonormal112, div.yiv436811335msonormal112
        {mso-style-name:yiv436811335msonormal112;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate112, li.yiv436811335msoacetate112, div.yiv436811335msoacetate112
        {mso-style-name:yiv436811335msoacetate112;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault112, li.yiv436811335msochpdefault112, div.yiv436811335msochpdefault112
        {mso-style-name:yiv436811335msochpdefault112;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal41, li.yiv436811335msonormal41, div.yiv436811335msonormal41
        {mso-style-name:yiv436811335msonormal41;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv436811335msohyperlink11
        {mso-style-name:yiv436811335msohyperlink11;
        color:blue;
        text-decoration:underline;}
span.yiv436811335msohyperlinkfollowed11
        {mso-style-name:yiv436811335msohyperlinkfollowed11;
        color:purple;
        text-decoration:underline;}
p.yiv436811335msoacetate31, li.yiv436811335msoacetate31, div.yiv436811335msoacetate31
        {mso-style-name:yiv436811335msoacetate31;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal51, li.yiv436811335msonormal51, div.yiv436811335msonormal51
        {mso-style-name:yiv436811335msonormal51;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault31, li.yiv436811335msochpdefault31, div.yiv436811335msochpdefault31
        {mso-style-name:yiv436811335msochpdefault31;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal121, li.yiv436811335msonormal121, div.yiv436811335msonormal121
        {mso-style-name:yiv436811335msonormal121;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msoacetate121, li.yiv436811335msoacetate121, div.yiv436811335msoacetate121
        {mso-style-name:yiv436811335msoacetate121;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault121, li.yiv436811335msochpdefault121, div.yiv436811335msochpdefault121
        {mso-style-name:yiv436811335msochpdefault121;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal211, li.yiv436811335msonormal211, div.yiv436811335msonormal211
        {mso-style-name:yiv436811335msonormal211;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv436811335msohyperlink211
        {mso-style-name:yiv436811335msohyperlink211;
        color:blue;
        text-decoration:underline;}
span.yiv436811335msohyperlinkfollowed211
        {mso-style-name:yiv436811335msohyperlinkfollowed211;
        color:purple;
        text-decoration:underline;}
p.yiv436811335msoacetate211, li.yiv436811335msoacetate211, div.yiv436811335msoacetate211
        {mso-style-name:yiv436811335msoacetate211;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal311, li.yiv436811335msonormal311, div.yiv436811335msonormal311
        {mso-style-name:yiv436811335msonormal311;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msochpdefault211, li.yiv436811335msochpdefault211, div.yiv436811335msochpdefault211
        {mso-style-name:yiv436811335msochpdefault211;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv436811335msonormal1111, li.yiv436811335msonormal1111, div.yiv436811335msonormal1111
        {mso-style-name:yiv436811335msonormal1111;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv436811335msohyperlink1111
        {mso-style-name:yiv436811335msohyperlink1111;
        color:blue;
        text-decoration:underline;}
span.yiv436811335msohyperlinkfollowed1111
        {mso-style-name:yiv436811335msohyperlinkfollowed1111;
        color:purple;
        text-decoration:underline;}
p.yiv436811335msoacetate1111, li.yiv436811335msoacetate1111, div.yiv436811335msoacetate1111
        {mso-style-name:yiv436811335msoacetate1111;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.yiv436811335balloontextchar1111
        {mso-style-name:yiv436811335balloontextchar1111;
        font-family:"Tahoma","sans-serif";}
span.yiv436811335emailstyle211111
        {mso-style-name:yiv436811335emailstyle211111;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
p.yiv436811335msochpdefault1111, li.yiv436811335msochpdefault1111, div.yiv436811335msochpdefault1111
        {mso-style-name:yiv436811335msochpdefault1111;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:10.0pt;
        font-family:"Times New Roman","serif";}
span.yiv436811335balloontextchar211
        {mso-style-name:yiv436811335balloontextchar211;
        font-family:"Tahoma","sans-serif";}
span.yiv436811335emailstyle35111
        {mso-style-name:yiv436811335emailstyle35111;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.yiv436811335emailstyle4811
        {mso-style-name:yiv436811335emailstyle4811;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.yiv436811335balloontextchar11
        {mso-style-name:yiv436811335balloontextchar11;
        font-family:"Tahoma","sans-serif";}
span.yiv436811335emailstyle701
        {mso-style-name:yiv436811335emailstyle701;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.yiv436811335balloontextchar2
        {mso-style-name:yiv436811335balloontextchar2;
        font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle109
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I don’t consider it private. I noticed you had dropped the list, but I thought you had done that on purpose. (Anyone else on the list—this is what Mr. Dobrev
 and I have been talking about.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I only took a short glance at uics, and I thought that actually the changes there would be minimal, just to replace one or two of the places where guessing
 is done (such as line 1088 in cswriteinitialization.cpp, where the enum’s name is guessed) with solid info. If that can be read straight out of, say, QMetaProperty, then yes, that wouldn’t take too much effort. I was thinking more along the lines of “if this
 information isn’t available to uics at run time, assemblygen can spit out what it knows.”<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Right now, I’m working to understand the structure of assemblygen.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--Brian<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Dimitar Dobrev [mailto:dpldobrev@yahoo.com]
<br>
<b>Sent:</b> Wednesday, December 12, 2012 12:36 PM<br>
<b>To:</b> Crowell, Brian<br>
<b>Subject:</b> Fw: [Kde-bindings] Qyoto on Windows - interest and feedback<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"><br>
<span class="tab">    P.P: I think I made the mistake of replying to you only and as a result the last 3 or 4 mails did not reach the mailing list. As long as you don't consider this communication private, could you please add it in CC in your reply?</span><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">----- Forwarded Message -----<br>
<b>From:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com">dpldobrev@yahoo.com</a>><br>
<b>To:</b> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com">BCrowell@barbnet.com</a>>
<br>
<b>Sent:</b> Wednesday, December 12, 2012 8:31 PM<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="background:white"><span style="color:black"><o:p> </o:p></span></p>
<div id="yiv436811335">
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">           
</span></span><span style="color:black"><br>
<span class="yiv436811335tab">    I meant not rewriting in C# but rather that changing the basic approach uics uses would effectively require a rewrite, regardless of the language employed. Anyway, assemblygen works in a different way. It does read all type
 information but does not store it anywhere. It just generates the Qyoto libs and then the process exits, that's it. So if I understand correctly, you want to recognise the used Qyoto libs and read the type information from there. But if it's all about type
 recognition, you can do it in C++ too, by looking at the Qt types. Anyway, if you'd like to give it a shot, please go ahead. You can count on me for help. :)</span><br>
<br>
<span class="yiv436811335tab">    About your questions:</span><br>
<span class="yiv436811335tab">    - For now it's me only. Arno Rehn used to maintain them and is still available for questions (and quite helpful) but does not write code on Qyoto any more. However, he does develop and maintain SMOKE - the base of Qyoto
</span>(and other bindings) - so if he has time he would definitely work on (or accept patches for :)) any Qyoto issues that turn out to be SMOKE issues;<br>
<span class="yiv436811335tab">    - Unfortunately there are only two </span>projects that I am aware of which use Qyoto -
<a href="http://eric.extremeboredom.net/2009/03/31/364" target="_blank">one of them abandoned</a>, the other one, which is mine, incomplete - it is open source but because it is a port from GTK# to Qyoto, it requires more work to complete and I do not want
 to release it prematurely. So this is the sad reality and it's in the hope of attracting more users that I write documentation for Qyoto and upload binaries and make the API more native, which leads us to...<br>
<span class="yiv436811335tab">    - ... your third question - you have <i>exactly</i> guessed my
</span>intentions about Qyoto - "</span><span style="font-size:11.0pt;color:#1F497D"> you would never know you weren’t using a native .NET/Mono library</span><span style="color:black">". I've done quite a lot of work in this regard - properties instead of get/set
 methods, two types of events (corresponding to Qt events and Qt signals), XML code comments, enum parameter types instead of int-s and uint-s. All of these were missing a year ago when I began working on Qyoto. But as you've correctly noticed, there is more
 work to be done. So not only you can change, to use your example, methods to properties, but I encourage you to do so. :) Only about your second example - perhaps it'd be better if
</span><span style="font-size:11.0pt;color:#1F497D">QModelIndex.Sibling() </span>
<span style="color:black">becomes a property too (</span><span style="font-size:11.0pt;color:#1F497D">QModelIndex.Sibling</span><span style="color:black">). From what I've seen from the Qt API conventions, the lack of a verb in the function name suggests a
 simple getter so I believe a C# property would be the better solution in this case as well as in
</span><span style="font-size:11.0pt;color:#1F497D">QModelIndex.Row()</span><span style="color:black">. And lastly, about the refactoring: yes, you can. I'm always for better code structure as long as the behaviour remains correct. If you'd like to give it
 a try, let me tell you the way I use to check what I've done: I make copies of the genereated qyoto-qt*.cs files, then run assemblygen and then diff the files to see what the changes are, if any. I'd only ask you to break your refactoring in steps and send
 me a separate patch for each - this way the repository always has the best code that is complete and there is less chance of merge conflicts.<br>
<br>
<span class="yiv436811335tab">    And lastly, as there are not that much users of Qyoto, now is the time to make the best possible API so feel free to implement your ideas. :)</span><br>
<br>
<span class="yiv436811335tab">    Regards,</span><br>
<span class="yiv436811335tab">    Dimitar</span><o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">
<hr size="1" width="100%" align="center">
</span></div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">From:</span></b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com">BCrowell@barbnet.com</a>><br>
<b>To:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com">dpldobrev@yahoo.com</a>>
<br>
<b>Sent:</b> Wednesday, December 12, 2012 7:33 PM<br>
<b>Subject:</b> RE: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="background:white"><span style="color:black"><o:p> </o:p></span></p>
<div id="yiv436811335">
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">I’ve got a better idea on uics. Instead of rewriting it in C#, have assemblygen, which has access to all of the type information, spit out tables of the properties and
 types and any renaming it’s done. Then uics doesn’t need to guess anything, just do a lookup.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">I wouldn’t mind taking a stab at that, assuming I can teach CMake the dependency there. There are lots of other small things that might be nice to write into this.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Some questions:</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">·</span><span style="font-size:7.0pt;color:#1F497D">        </span><span style="font-size:7.0pt;font-family:Symbol;color:#1F497D">
</span><span style="font-size:11.0pt;color:#1F497D">Besides you, who maintains this?</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">·</span><span style="font-size:7.0pt;color:#1F497D">        </span><span style="font-size:7.0pt;font-family:Symbol;color:#1F497D">
</span><span style="font-size:11.0pt;color:#1F497D">How many projects depend on Qyoto at the moment?</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">·</span><span style="font-size:7.0pt;color:#1F497D">        </span><span style="font-size:7.0pt;font-family:Symbol;color:#1F497D">
</span><span style="font-size:11.0pt;font-family:Symbol;color:#1F497D">If I wanted to, how aggressive could I get with the source code? Could I/should I attempt a refactoring of assemblygen to something more object-oriented (more details available)? Could I
 change members, such as making QModelIndex.Row() a property and renaming QModelIndex.Sibling() to GetSibling()?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">I wouldn’t want to make waves if people are already heavily invested in Qyoto, but it would be awesome to be able to improve the quality to such a level that you would
 never know you weren’t using a native .NET/Mono library.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">--Brian</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> Dimitar Dobrev [<a href="mailto:dpldobrev@yahoo.com">mailto:dpldobrev@yahoo.com</a>]
<br>
<b>Sent:</b> Wednesday, December 12, 2012 4:32 AM<br>
<b>To:</b> Crowell, Brian<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"><br>
<span class="yiv436811335tab">    Oh, sorry about that, I've already fixed it but I haven't pushed it yet because I've stacked other changes on top.</span><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">   
</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">    You're right about uics, it would've been better if it could actually recognise the type but this is way too much work. I think the best approach would've
 been to convert the C++ produced by uic, to C# and I've been wondering why uics wasn't written like this in the first place. That is, uics was not initially my code, my work on it has mostly been hacking
</span></span><span style="color:black">around issues such as the one you've found. Anyway, I'm going to work around this one as well, and I'll see about future versions. For now I'm not that willing to change the approach, be it type recognition or conversion
 from C++, because this would mean a rewrite, and in the middle to long term the ui format is being obsoleted in favour of QML.<o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">   
</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">   
</span></span><span style="color:black">I do welcome contributors :), so if you have any questions on the Qyoto source code, feel free to ask. Just make sure to post your questions to the KDE bindings mailing list because other people could see and answer (for
 example the former maintainer Arno Rehn) if I'm not available.<o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">    Dimitar</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;color:black">
<hr size="1" width="100%" align="center">
</span></div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com" target="_blank">BCrowell@barbnet.com</a>><br>
<b>To:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>>
<br>
<b>Sent:</b> Wednesday, December 12, 2012 3:09 AM<br>
<b>Subject:</b> RE: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div id="yiv436811335">
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Well, I got it to build, though in a bit of a roundabout way. I think my mistake was installing each of the projects in a different location. I may try it again. The
 only change I had to make, and I’m not sure why, but there’s a System.Data reference in assemblygen/src/plugins/qyoto/CMakeLists.txt that I had to change to System.Data.dll. Not sure why I had to make that change—I was building with .NET 4.0 CSC—but that got
 it to build.</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Reading through, I can see why things might still be a bit scrambly. The original issue I mentioned looks like it’s caused by a mismatch between the DomProperty::Set
 code in assemblygen/tools/uics/cs/cswriteinitialization.cpp, which guesses the enum name “Feature” based on the name of the property (“features”), and the EnumGenerator, which uses the actual name of the enum. One could add another one-off case in cswriteinitialization.cpp,
 but the better solution would be if uics.exe could introspect the actual type of the property (I don’t suppose that’s possible at uics’s level?).</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">While it’s interesting and useful to know how Qyoto is put together, I’m not sure I’ll be able to write patches against this code. We’ll see how much time I can put toward
 it.</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">--Brian</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> Dimitar Dobrev [<a href="mailto:dpldobrev@yahoo.com" target="_blank">mailto:dpldobrev@yahoo.com</a>]
<br>
<b>Sent:</b> Tuesday, December 11, 2012 12:41 PM<br>
<b>To:</b> Crowell, Brian<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div style="margin-bottom:12.0pt">
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">   
</span></span><span style="color:black"><br>
<span class="yiv436811335tab">    You're completely correct, this is why I upload these binary packages for Windows.</span><br>
<span class="yiv436811335tab">    And about the open source apps - Qyoto, just as Qt, is LGPL-licensed so you are not obligated to open source your Qyoto apps.</span><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;color:black">
<hr size="1" width="100%" align="center">
</span></div>
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com" target="_blank">BCrowell@barbnet.com</a>><br>
<b>To:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>>
<br>
<b>Sent:</b> Tuesday, December 11, 2012 8:23 PM<br>
<b>Subject:</b> RE: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div id="yiv436811335">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Awesome. Well, in that case, I’ll try the Nokia Qt SDK and just install the MinGW stuff.</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Mind, I’ve used Qt, but only as PyQt, and mainly only on Linux. How anyone develops open source apps on Windows is beyond me—the amount of setup and voodoo necessary
 to do any kind of build is just insane. I suppose it’s merely well-tested voodoo on Linux.</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">--Brian</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> Dimitar Dobrev [<a href="mailto:dpldobrev@yahoo.com" target="_blank">mailto:dpldobrev@yahoo.com</a>]
<br>
<b>Sent:</b> Tuesday, December 11, 2012 12:10 PM<br>
<b>To:</b> Crowell, Brian<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">   
</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">    Well,
</span></span><span style="color:black">Qyoto actually works with any 4.7.4+ version of Qt (only MinGW for Windows, though) but you need QtSDK for a healthy MinGW installation. I tried the latest MinGW recently but it didn't work, in short. So you can install
 only the MinGW component of the SDK and use any Qt version you want - the selection is performed in step 3 of the second set of steps depending on which qmake.exe you select.<o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;color:black">
<hr size="1" width="100%" align="center">
</span></div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com" target="_blank">BCrowell@barbnet.com</a>><br>
<b>To:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>>; KDE bindings for other programming languages <<a href="mailto:kde-bindings@kde.org" target="_blank">kde-bindings@kde.org</a>>
<br>
<b>Sent:</b> Tuesday, December 11, 2012 7:46 PM<br>
<b>Subject:</b> RE: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
<div id="yiv436811335">
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">I’m confused about which Qt to install.</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">There’s a commercial Qt SDK, but that appears to be for evaluation:
<a href="http://qt.digia.com/Try-Qt-Now/" target="_blank">http://qt.digia.com/Try-Qt-Now/</a></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">There’s the open-source libraries download, but that’s missing the mingw and Desktop directories you mentioned:
<a href="http://qt-project.org/downloads" target="_blank">http://qt-project.org/downloads</a></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">Finally, there’s the Qt SDK from Nokia (which was a pain to get, but seems to have the stuff I need)-- but it only goes up to Qt 4.8.1. This isn’t necessarily a problem,
 but does it stay up to date?</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">I’m installing the Nokia Qt SDK now, but do you have a recommendation?</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D">--Brian</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:11.0pt;color:#1F497D"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black">
<a href="mailto:kde-bindings-bounces@kde.org" target="_blank">kde-bindings-bounces@kde.org</a> [<a href="mailto:kde-bindings-bounces@kde.org" target="_blank">mailto:kde-bindings-bounces@kde.org</a>]
<b>On Behalf Of </b>Dimitar Dobrev<br>
<b>Sent:</b> Monday, December 10, 2012 3:39 PM<br>
<b>To:</b> KDE bindings<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">    Sorry, my e-mail client got bugged and sent the mail prematurely. Here are the instructions:</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div style="margin-bottom:12.0pt">
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">   
</span></span><span style="color:black">1. Install QtSDK; <br>
<span class="yiv436811335tab">    </span>2. Add C:\QtSDK\mingw\bin and C:\QtSDK\Desktop\Qt\<Qt_version>\mingw\bin to your PATH;
<br>
<span class="yiv436811335tab">    </span>3. Install CMake; <br>
<span class="yiv436811335tab">    </span>4. Copy C:\QtSDK\mingw\bin\* to C:\QtSDK\mingw\libexec\gcc\mingw32\4.4.0\ (version may vary);
<br>
<span class="yiv436811335tab">    </span>5. Check out smokegen: git clone git://anongit.kde.org/smokegen;
<br>
<span class="yiv436811335tab">    </span>6. Check out smokeqt: git clone git://anongit.kde.org/smokeqt;
<br>
<span class="yiv436811335tab">    </span>7. Check out assemblygen: git clone git://anongit.kde.org/assemblygen ;
<br>
<br>
<span class="yiv436811335tab">    </span>for each in smokegen, smokeqt, assemblygen (in this order):
<br>
<span class="yiv436811335tab">    </span>1. Run cmake-gui - select the dir with the checked out source and the desired dir for binaries; use MinGW and specify C:\QtSDK\mingw\bin\gcc.exe as the C compiler and C:\QtSDK\mingw\bin\g++.exe as the C++ compiler;
<br>
<span class="yiv436811335tab">    </span>2. Fill in the CMAKE_BUILD_TYPE: "Release" or "Debug"; leaving it empty produced some strange half-debug version;
<br>
<span class="yiv436811335tab">    </span>3. Configure - when it complains about QT_QMAKE_EXECUTABLE, set it to the location of qmake.exe (C:\QtSDK\Desktop\Qt\<version>\mingw\bin\qmake.exe, for example) by browsing through the GUI;
<br>
<span class="yiv436811335tab">    </span>4. On the command line, cd to the dir through the command line and run "C:\QtSDK\mingw\bin\mingw32-make.exe install".
<br>
<br>
<span class="yiv436811335tab">    </span>Note about assemblygen: if it cannot find the SMOKE libs, go to the libs/ subdir of your installation dir (specified in CMAKE_INSTALL_PREFIX) and copy all smoke*.dll files to your CMAKE binary dir for assemblygen (or
 add the libs/ subdir to your PATH). <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;color:black">----- Forwarded Message -----<br>
<b>From:</b> Dimitar Dobrev <<a href="mailto:dpldobrev@yahoo.com" target="_blank">dpldobrev@yahoo.com</a>><br>
<b>To:</b> KDE bindings for other programming languages <<a href="mailto:kde-bindings@kde.org" target="_blank">kde-bindings@kde.org</a>>
<br>
<b>Sent:</b> Monday, December 10, 2012 11:37 PM<br>
<b>Subject:</b> Re: [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
<div id="yiv436811335">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">    Hello, Brian,</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">   
</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">    Thank you for your interest. I'd like
</span></span><span style="color:black">to tell you that such feedback is <i>very</i> useful. I'm working right now on fixing inacurracies in the
<a href="http://api.kde.org/qyoto-4.0.5-api/index.html" target="_blank">documentation</a> but I'll try to fix these bugs by the end of the week, possibly sooner. However, if it is a show-stopper for you, please say so and the documentation could wait. :)<o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span class="yiv436811335tab"><span style="color:black">    Here's some build instructions for Windows:</span></span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center;background:white">
<span style="font-size:10.0pt;color:black">
<hr size="1" width="100%" align="center">
</span></div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><b><span style="font-size:10.0pt;color:black">From:</span></b><span style="font-size:10.0pt;color:black"> "Crowell, Brian" <<a href="mailto:BCrowell@barbnet.com" target="_blank">BCrowell@barbnet.com</a>><br>
<b>To:</b> "<a href="mailto:kde-bindings@kde.org" target="_blank">kde-bindings@kde.org</a>" <<a href="mailto:kde-bindings@kde.org" target="_blank">kde-bindings@kde.org</a>>
<br>
<b>Sent:</b> Monday, December 10, 2012 10:23 PM<br>
<b>Subject:</b> [Kde-bindings] Qyoto on Windows - interest and feedback</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<div style="margin-bottom:12.0pt">
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"><br>
Wanted to drop in and say that I've been a huge fan of Qt on Linux, and always hoped that someday I would be able to use it in my Windows-only corporate projects-- and now that Windows 8 has dropped, to help with that panicked look of "what do we do with our
 Windows Forms stuff now?"<br>
<br>
So I'm surprised and very excited to see Windows binaries for the Qyoto project, and I want to offer encouragement, feedback, or whatever time I can spare to assist the project. (I wish I could offer programmatic help, but the last time I attempted to build
 any of the KDE bindings on Windows, I nearly threw my computer at the wall.)<br>
<br>
I'm running the 4.0.5 Qyoto build (<a href="http://download.kde.org/stable/csharp-qt/4.0.5/win32/CSharpQt-Windows-4.0.5.7z" target="_blank">http://download.kde.org/stable/csharp-qt/4.0.5/win32/CSharpQt-Windows-4.0.5.7z</a>) against Qt 4.8.4, and just beginning
 to test the framework against what I know Qt from the Python bindings.<br>
<br>
The issues I've noticed so far have been with uics.exe:<br>
<br>
* The included uics.exe has trouble with QDockWidgets. The dock widget's Features property are set using the wrong enum (QDockWidget.Feature instead of QDockWidget.DockWidgetFeature), and the code tries to call SetWidget() instead of setting the Widget property.<br>
<br>
* uics.exe also produces code that sets a layout's Margin property, but a code warning says it should use SetContentsMargins() instead.<br>
<br>
If this kind of feedback is useful, I'll be happy to provide it as I go. I'm eager to introduce our dev team to the joy that is Qt without forcing them to leave C#. If anyone has tips for building Qyoto on Windows, I might take another stab at that as well.<br>
<br>
--Brian Crowell<br>
  Developer, Barbnet Investments<br>
_______________________________________________<br>
Kde-bindings mailing list<br>
<a href="mailto:Kde-bindings@kde.org" target="_blank">Kde-bindings@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-bindings" target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<div>
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<div>
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin-bottom:12.0pt">
<p class="MsoNormal" style="background:white"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt;background:white"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt;background:white"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>