<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>108628</bug_id>
          
          <creation_ts>2013-02-01 06:12:49 -0800</creation_ts>
          <short_desc>Added TriState to WTF and started using it in one place</short_desc>
          <delta_ts>2013-02-01 13:33:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>822703</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-01 06:12:49 -0800</bug_when>
    <thetext>Added TriState to WTF and started using it in one place</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822712</commentid>
    <comment_count>1</comment_count>
      <attachid>186030</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-01 06:17:22 -0800</bug_when>
    <thetext>Created attachment 186030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822732</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-02-01 07:02:59 -0800</bug_when>
    <thetext>Committed r141588: &lt;http://trac.webkit.org/changeset/141588&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822909</commentid>
    <comment_count>3</comment_count>
      <attachid>186030</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-02-01 10:09:17 -0800</bug_when>
    <thetext>Comment on attachment 186030
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=186030&amp;action=review

&gt; Source/WTF/wtf/TriState.h:35
&gt; +};

If you use the new EnumClass.h, you can make this:

ENUM_CLASS_BEGIN(TriState) {
    False,
    True,
    Mixed
} ENUM_CLASS_END(TriState);

And everywhere you use TriState::False, TriState::True, and TriState::Mixed.  Not sure that that is better, but fyi for your consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823206</commentid>
    <comment_count>4</comment_count>
      <attachid>186030</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-01 13:33:30 -0800</bug_when>
    <thetext>Comment on attachment 186030
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=186030&amp;action=review

&gt; Source/WTF/WTF.xcodeproj/project.pbxproj:-313
&gt;  		FEDACD3E1630F83F00C69634 /* StackStats.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDACD3C1630F83F00C69634 /* StackStats.h */; };
&gt; -		FE43302716A7ADC300D1585D /* TypeSafeEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = FE43302616A7ADC300D1585D /* TypeSafeEnum.h */; };

Why are you removing the TypeSafeEnum?

&gt; Source/WTF/WTF.xcodeproj/project.pbxproj:1264
&gt;  				A8A47487151A825B004123FF /* WTFThreadData.h in Headers */,
&gt; +				149EF16316BBFE0D000A4331 /* TriState.h in Headers */,

Build section unsorted :(

&gt;&gt; Source/WTF/wtf/TriState.h:35
&gt;&gt; +enum TriState {
&gt;&gt; +    FalseTriState,
&gt;&gt; +    TrueTriState,
&gt;&gt; +    MixedTriState
&gt;&gt; +};
&gt; 
&gt; If you use the new EnumClass.h, you can make this:
&gt; 
&gt; ENUM_CLASS_BEGIN(TriState) {
&gt;     False,
&gt;     True,
&gt;     Mixed
&gt; } ENUM_CLASS_END(TriState);
&gt; 
&gt; And everywhere you use TriState::False, TriState::True, and TriState::Mixed.  Not sure that that is better, but fyi for your consideration.

Instead of an enum, I wonder if this would not benefit from a class with the logic function explicitly defined?

If you plan to use the TriState in logic operations, it would be beneficial to define and, or and not.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186030</attachid>
            <date>2013-02-01 06:17:22 -0800</date>
            <delta_ts>2013-02-01 13:33:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108628-20130201061405.patch</filename>
            <type>text/plain</type>
            <size>11887</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxNTg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDEzLTAyLTAxICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkZWQgVHJpU3RhdGUgdG8gV1RGIGFuZCBzdGFydGVkIHVzaW5nIGl0IGluIG9uZSBwbGFj
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NjI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50
aW1lL1Byb3RvdHlwZU1hcC5oOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmlzUHJvdG90
eXBlKTogVXNlIFRyaVN0YXRlIGluc3RlYWQgb2YgYm9vbGVhbiBiZWNhdXNlCisgICAgICAgIG91
ciAndHJ1ZScgY29uZGl0aW9uIGlzIGFjdHVhbGx5IGp1c3QgYSAnbWF5YmUnLgorCisgICAgICAg
ICogcnVudGltZS9Qcm90b3R5cGVNYXAuaDoKKyAgICAgICAgKFByb3RvdHlwZU1hcCk6CisgICAg
ICAgIChKU0M6OlByb3RvdHlwZU1hcDo6aXNQcm90b3R5cGUpOgorCiAyMDEzLTAyLTAxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRW5hYmxlIHVucHJlZml4
ZWQgQ1NTIHRyYW5zaXRpb25zIGJ5IGRlZmF1bHQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMTQxNTM1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgUHJvdG90eXBlTWFwX2gKIAogI2luY2x1ZGUgIldlYWtH
Q01hcC5oIgorI2luY2x1ZGUgPHd0Zi9UcmlTdGF0ZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApA
QCAtMzksNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJl
KiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU09iamVjdCosIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5KTsKICAgICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgdm9pZCBhZGRQ
cm90b3R5cGUoSlNPYmplY3QqKTsKLSAgICBib29sIGlzUHJvdG90eXBlKEpTT2JqZWN0Kik7IC8v
IFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCisgICAgVHJpU3RhdGUgaXNQcm90b3R5
cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0ZS4K
IAogcHJpdmF0ZToKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5
cGVzOwpAQCAtNDcsOSArNDgsMTYgQEAgcHJpdmF0ZToKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1
Y3R1cmVzOwogfTsKIAotaW5saW5lIGJvb2wgUHJvdG90eXBlTWFwOjppc1Byb3RvdHlwZShKU09i
amVjdCogb2JqZWN0KQoraW5saW5lIFRyaVN0YXRlIFByb3RvdHlwZU1hcDo6aXNQcm90b3R5cGUo
SlNPYmplY3QqIG9iamVjdCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9wcm90b3R5cGVzLmNvbnRh
aW5zKG9iamVjdCk7CisgICAgaWYgKCFtX3Byb3RvdHlwZXMuY29udGFpbnMob2JqZWN0KSkKKyAg
ICAgICAgcmV0dXJuIEZhbHNlVHJpU3RhdGU7CisKKyAgICAvLyBXZSBrbm93IHRoYXQgJ29iamVj
dCcgd2FzIHVzZWQgYXMgYSBwcm90b3R5cGUgYXQgb25lIHRpbWUsIHNvIGJlCisgICAgLy8gY29u
c2VydmF0aXZlIGFuZCBzYXkgdGhhdCBpdCBtaWdodCBzdGlsbCBiZSBzby4gKEl0IHdvdWxkIGJl
IGV4cGVuc2l2ZQorICAgIC8vIHRvIGZpbmQgb3V0IGZvciBzdXJlLCBhbmQgd2UgZG9uJ3Qga25v
dyBvZiBhbnkgY2FzZXMgd2hlcmUgYmVpbmcgcHJlY2lzZQorICAgIC8vIHdvdWxkIGltcHJvdmUg
cGVyZm9ybWFuY2UuKQorICAgIHJldHVybiBNaXhlZFRyaVN0YXRlOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDE1ODYpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAyLTAxICBHZW9mZnJleSBH
YXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkZWQgVHJpU3RhdGUgdG8gV1RG
IGFuZCBzdGFydGVkIHVzaW5nIGl0IGluIG9uZSBwbGFjZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlZnVsIGZvciBleHByZXNzaW5nICJtYXliZSIg
Y29uZGl0aW9ucyBpbiBhIGJvb2xlYW4gY29udGV4dC4KKworICAgICAgICAqIFdURi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9UcmlTdGF0ZS5oOiBBZGRlZC4KKyAg
ICAgICAgKFdURik6CisKIDIwMTMtMDItMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciBXaW5DRSBhZnRlciByMTM3NzA5Cklu
ZGV4OiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE0
MTUzNSkKKysrIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKIAkJMEZEREJGQTgxNjY2REZBMzAwQzU1RkVGIC8q
IFN0cmluZ1ByaW50U3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkREQkZBNjE2NjZERkEzMDBDNTVGRUYgLyogU3RyaW5nUHJpbnRTdHJlYW0u
aCAqLzsgfTsKIAkJMTQzRjYxMUYxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQzRjYxMUQxNTY1RjBG
OTAwREI1MTRBIC8qIFJBTVNpemUuY3BwICovOyB9OwogCQkxNDNGNjEyMDE1NjVGMEY5MDBEQjUx
NEEgLyogUkFNU2l6ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMTQzRjYxMUUxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OworCQkxNDlFRjE2MzE2QkJGRTBEMDAwQTQzMzEgLyog
VHJpU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDE0OUVGMTYyMTZCQkZFMEQwMDBBNDMzMSAvKiBUcmlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE0RjNCMEY3MTVFNDVFNDYwMDIxMDA2
OSAvKiBTYXR1cmF0ZWRBcml0aG1ldGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNEYzQjBGNjE1RTQ1RTQ2MDAyMTAwNjkgLyogU2F0dXJhdGVkQXJp
dGhtZXRpYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTFBNkJC
NzY5MTYyRjMwMDUwMEREMTZEQiAvKiBTdHJlYW1CdWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNkJCNzY4MTYyRjMwMDUwMEREMTZEQiAvKiBT
dHJlYW1CdWZmZXIuaCAqLzsgfTsKIAkJMjYxNDdCMEExNUREQ0NEQzAwRERCOTA3IC8qIEludGVn
ZXJUb1N0cmluZ0NvbnZlcnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDI2MTQ3QjA4MTVERENDREMwMEREQjkwNyAvKiBJbnRlZ2VyVG9TdHJpbmdD
b252ZXJzaW9uLmggKi87IH07CkBAIC0zMTAsNyArMzExLDYgQEAKIAkJRjNGQkM3MjAxNjFBRjdD
RDAwQkI0QkQ0IC8qIE1lbW9yeUluc3RydW1lbnRhdGlvblNlcXVlbmNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0ZCQzcxRjE2MUFGN0NEMDBCQjRC
RDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uU2VxdWVuY2UuaCAqLzsgfTsKIAkJRkVEQUNEM0Qx
NjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEQUNEM0IxNjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNr
U3RhdHMuY3BwICovOyB9OwogCQlGRURBQ0QzRTE2MzBGODNGMDBDNjk2MzQgLyogU3RhY2tTdGF0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEQUNE
M0MxNjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuaCAqLzsgfTsKLQkJRkU0MzMwMjcxNkE3
QURDMzAwRDE1ODVEIC8qIFR5cGVTYWZlRW51bS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkU0MzMwMjYxNkE3QURDMzAwRDE1ODVEIC8qIFR5cGVTYWZl
RW51bS5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0zMzUsNiArMzM1LDcgQEAKIAkJ
MEZEREJGQTYxNjY2REZBMzAwQzU1RkVGIC8qIFN0cmluZ1ByaW50U3RyZWFtLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmluZ1ByaW50U3RyZWFtLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTE0M0Y2MTFEMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJBTVNpemUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDNGNjExRTE1NjVGMEY5MDBEQjUxNEEgLyogUkFN
U2l6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSQU1TaXplLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0OUVGMTYyMTZCQkZFMEQwMDBBNDMzMSAvKiBUcmlT
dGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmlTdGF0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEYzQjBGNjE1RTQ1RTQ2MDAyMTAwNjkgLyogU2F0
dXJhdGVkQXJpdGhtZXRpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTYXR1
cmF0ZWRBcml0aG1ldGljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBNkJCNzY4
MTYyRjMwMDUwMEREMTZEQiAvKiBTdHJlYW1CdWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3RyZWFtQnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI2MTQ3QjA4MTVERENDREMwMEREQjkwNyAvKiBJbnRlZ2VyVG9TdHJpbmdDb252ZXJzaW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVnZXJUb1N0cmluZ0NvbnZlcnNp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYyMyw3ICs2MjQsNiBAQAogCQlG
M0ZCQzcxRjE2MUFGN0NEMDBCQjRCRDQgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uU2VxdWVuY2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5SW5zdHJ1bWVudGF0aW9u
U2VxdWVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVEQUNEM0IxNjMwRjgz
RjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3RhY2tTdGF0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZF
REFDRDNDMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0YWNrU3RhdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJRkU0MzMwMjYxNkE3QURDMzAwRDE1ODVEIC8qIFR5cGVTYWZlRW51bS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IHBhdGggPSBUeXBlU2FmZUVudW0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNl
Y3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpA
QCAtODY5LDggKzg2OSw4IEBACiAJCQkJQThBNDczMzgxNTFBODI1QjAwNDEyM0ZGIC8qIFRocmVh
ZFJlc3RyaWN0aW9uVmVyaWZpZXIuaCAqLywKIAkJCQlBOEE0NzMzRTE1MUE4MjVCMDA0MTIzRkYg
LyogVGhyZWFkU2FmZVJlZkNvdW50ZWQuaCAqLywKIAkJCQlBOEE0NzMzRjE1MUE4MjVCMDA0MTIz
RkYgLyogVGhyZWFkU3BlY2lmaWMuaCAqLywKKwkJCQkxNDlFRjE2MjE2QkJGRTBEMDAwQTQzMzEg
LyogVHJpU3RhdGUuaCAqLywKIAkJCQlBOEE0NzM0MTE1MUE4MjVCMDA0MTIzRkYgLyogVHlwZWRB
cnJheUJhc2UuaCAqLywKLQkJCQlGRTQzMzAyNjE2QTdBREMzMDBEMTU4NUQgLyogVHlwZVNhZmVF
bnVtLmggKi8sCiAJCQkJQThBNDczNDIxNTFBODI1QjAwNDEyM0ZGIC8qIFR5cGVUcmFpdHMuY3Bw
ICovLAogCQkJCUE4QTQ3MzQzMTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlVHJhaXRzLmggKi8sCiAJ
CQkJQThBNDczNDYxNTFBODI1QjAwNDEyM0ZGIC8qIFVpbnQxNkFycmF5LmggKi8sCkBAIC0xMjI5
LDcgKzEyMjksNiBAQAogCQkJCUE4QTQ3NDU0MTUxQTgyNUIwMDQxMjNGRiAvKiBUaHJlYWRTYWZl
UmVmQ291bnRlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0NTUxNTFBODI1QjAwNDEyM0ZG
IC8qIFRocmVhZFNwZWNpZmljLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ1NzE1MUE4MjVC
MDA0MTIzRkYgLyogVHlwZWRBcnJheUJhc2UuaCBpbiBIZWFkZXJzICovLAotCQkJCUZFNDMzMDI3
MTZBN0FEQzMwMEQxNTg1RCAvKiBUeXBlU2FmZUVudW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
QTQ3NDU5MTUxQTgyNUIwMDQxMjNGRiAvKiBUeXBlVHJhaXRzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEE0NzQ1QzE1MUE4MjVCMDA0MTIzRkYgLyogVWludDE2QXJyYXkuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4QTQ3NDVEMTUxQTgyNUIwMDQxMjNGRiAvKiBVaW50MzJBcnJheS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0xMjYyLDYgKzEyNjEsNyBAQAogCQkJCTk3NENGQzhFMTZBNEYzMjcwMDZENTQw
NCAvKiBXZWFrUHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ0NjE1MUE4MjVCMDA0MTIz
RkYgLyogV1RGU3RyaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ4NzE1MUE4MjVCMDA0
MTIzRkYgLyogV1RGVGhyZWFkRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMTQ5RUYxNjMxNkJC
RkUwRDAwMEE0MzMxIC8qIFRyaVN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL1RyaVN0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvVHJpU3RhdGUu
aAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XVEYvd3RmL1RyaVN0YXRlLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2lmbmRlZiBUcmlTdGF0ZV9oCisjZGVmaW5lIFRyaVN0YXRlX2gKKworbmFtZXNw
YWNlIFdURiB7CisKK2VudW0gVHJpU3RhdGUgeworICAgIEZhbHNlVHJpU3RhdGUsCisgICAgVHJ1
ZVRyaVN0YXRlLAorICAgIE1peGVkVHJpU3RhdGUKK307CisKK30KKwordXNpbmcgV1RGOjpUcmlT
dGF0ZTsKK3VzaW5nIFdURjo6RmFsc2VUcmlTdGF0ZTsKK3VzaW5nIFdURjo6VHJ1ZVRyaVN0YXRl
OwordXNpbmcgV1RGOjpNaXhlZFRyaVN0YXRlOworCisjZW5kaWYgLy8gVHJpU3RhdGVfaApJbmRl
eDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gMTQxNTg2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDItMDEgIEdlb2ZmcmV5IEdh
cmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBBZGRlZCBUcmlTdGF0ZSB0byBXVEYg
YW5kIHN0YXJ0ZWQgdXNpbmcgaXQgaW4gb25lIHBsYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg2MjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdGluZ1N0eWxlLmg6CisgICAg
ICAgIChXZWJDb3JlKTogTW92ZWQgVHJpU3RhdGUgdG8gV1RGIHNvIGl0IGNhbiBiZSB1c2VkIGlu
IG1vcmUgcGxhY2VzLgorCiAyMDEzLTAyLTAxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZvbGxvdyB1cCB0byByMTQxMjYw
OiBmaXhpbmcgcmVuYW1lZCBzdHlsZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dGluZ1N0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5n
U3R5bGUuaAkocmV2aXNpb24gMTQxNTM1KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
aW5nU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNiw2ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvVHJpU3RhdGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU2LDggKzU4LDYgQEAgY2xh
c3MgU3R5bGVQcm9wZXJ0eVNldDsKIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBWaXNpYmxl
U2VsZWN0aW9uOwogCi1lbnVtIFRyaVN0YXRlIHsgRmFsc2VUcmlTdGF0ZSwgVHJ1ZVRyaVN0YXRl
LCBNaXhlZFRyaVN0YXRlIH07Ci0KIGNsYXNzIEVkaXRpbmdTdHlsZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEVkaXRpbmdTdHlsZT4gewogcHVibGljOgogCg==
</data>
<flag name="review"
          id="205314"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>