<?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>165663</bug_id>
          
          <creation_ts>2016-12-09 10:48:57 -0800</creation_ts>
          <short_desc>Moved OrdinalNumber into its own file</short_desc>
          <delta_ts>2016-12-09 12:15:16 -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>WebKit 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>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1258185</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-12-09 10:48:57 -0800</bug_when>
    <thetext>Moved OrdinalNumber into its own file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258186</commentid>
    <comment_count>1</comment_count>
      <attachid>296661</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-12-09 10:51:03 -0800</bug_when>
    <thetext>Created attachment 296661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258189</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-09 10:52:25 -0800</bug_when>
    <thetext>Attachment 296661 did not pass style-queue:


ERROR: Source/WTF/wtf/text/OrdinalNumber.h:36:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/text/OrdinalNumber.h:48:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258203</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-12-09 11:23:13 -0800</bug_when>
    <thetext>Committed r209618: &lt;http://trac.webkit.org/changeset/209618&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258205</commentid>
    <comment_count>4</comment_count>
      <attachid>296661</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-12-09 11:27:25 -0800</bug_when>
    <thetext>Comment on attachment 296661
Patch

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

&gt; Source/WTF/WTF.xcodeproj/project.pbxproj:93
&gt; +		14E785E81DFB330100209BD1 /* OrdinalNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 14E785E71DFB330100209BD1 /* OrdinalNumber.h */; settings = {ATTRIBUTES = (Private, ); }; };

What does it mean for this to be a Private? I notice no other files have that attribute, including TextPosition.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258237</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-12-09 12:15:16 -0800</bug_when>
    <thetext>That&apos;s how Xcode usually marks a header to indicate that other frameworks can #include it. The alternative, &quot;Project&quot;, means only things in the WTF project can #include the header. I&apos;m surprised that TextPosition didn&apos;t need this. Not sure what&apos;s going on there.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296661</attachid>
            <date>2016-12-09 10:51:03 -0800</date>
            <delta_ts>2016-12-09 10:53:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165663-20161209105020.patch</filename>
            <type>text/plain</type>
            <size>12313</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDk2MTYpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE2LTEyLTA5ICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZWQgT3JkaW5hbE51bWJlciBpbnRvIGl0cyBv
d24gZmlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY1NjYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvdGV4dC9PcmRp
bmFsTnVtYmVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XVEYvd3RmL3RleHQvVGV4dFBvc2l0aW9u
LmguCisgICAgICAgIChXVEY6OlRleHRQb3NpdGlvbjo6VGV4dFBvc2l0aW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6VGV4dFBvc2l0aW9uOjpvcGVyYXRvcj09KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdURjo6VGV4dFBvc2l0aW9uOjpvcGVyYXRvciE9KTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6VGV4dFBvc2l0aW9uOjptaW5pbXVtUG9zaXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpUZXh0UG9zaXRpb246OmJlbG93UmFuZ2VQb3NpdGlvbik6IERlbGV0ZWQuCisgICAgICAgICog
d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg6CisgICAgICAgIChXVEY6Ok9yZGluYWxOdW1iZXI6OmZy
b21aZXJvQmFzZWRJbnQpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpPcmRpbmFsTnVtYmVyOjpm
cm9tT25lQmFzZWRJbnQpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpPcmRpbmFsTnVtYmVyOjpP
cmRpbmFsTnVtYmVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6T3JkaW5hbE51bWJlcjo6emVy
b0Jhc2VkSW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6T3JkaW5hbE51bWJlcjo6b25lQmFz
ZWRJbnQpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpPcmRpbmFsTnVtYmVyOjpvcGVyYXRvcj09
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6T3JkaW5hbE51bWJlcjo6b3BlcmF0b3IhPSk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6Ok9yZGluYWxOdW1iZXI6OmZpcnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QpOiBEZWxldGVkLgorCiAyMDE2
LTEyLTA4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3
YXlzIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgcHRocmVhZF9rZXlfY3JlYXRlKCkKSW5kZXg6
IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjA5NTAw
KQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtOTAsNiArOTAsNyBAQAogCQkxNDY5NDE5QzE2RUFCMTBBMDAyNEUxNDYgLyogQXV0
b2RyYWluZWRQb29sLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNDY5NDE5QTE2RUFCMTBBMDAyNEUxNDYgLyogQXV0b2RyYWluZWRQb29sLmggKi87IH07
CiAJCTE0Njk0MTlEMTZFQUIxMEEwMDI0RTE0NiAvKiBBdXRvZHJhaW5lZFBvb2xNYWMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDY5NDE5QjE2RUFC
MTBBMDAyNEUxNDYgLyogQXV0b2RyYWluZWRQb29sTWFjLm1tICovOyB9OwogCQkxNDlFRjE2MzE2
QkJGRTBEMDAwQTQzMzEgLyogVHJpU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0OUVGMTYyMTZCQkZFMEQwMDBBNDMzMSAvKiBUcmlTdGF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CisJCTE0RTc4NUU4MURGQjMz
MDEwMDIwOUJEMSAvKiBPcmRpbmFsTnVtYmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxNEU3ODVFNzFERkIzMzAxMDAyMDlCRDEgLyogT3JkaW5hbE51
bWJlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTE0RjNCMEY3MTVFNDVFNDYwMDIxMDA2OSAvKiBTYXR1cmF0ZWRBcml0aG1ldGljLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEYzQjBGNjE1RTQ1RTQ2
MDAyMTAwNjkgLyogU2F0dXJhdGVkQXJpdGhtZXRpYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKCk7IH07IH07CiAJCTFBMUQ4QjlDMTczMTg2Q0UwMDE0MURBNCAvKiBGdW5jdGlvbkRp
c3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMUQ4QjlCMTczMTg2Q0UwMDE0MURBNCAvKiBGdW5jdGlvbkRpc3BhdGNoZXIuaCAqLzsgfTsK
IAkJMUExRDhCOUUxNzMxODc5ODAwMTQxREE0IC8qIEZ1bmN0aW9uRGlzcGF0Y2hlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFEOEI5RDE3MzE4
Nzk4MDAxNDFEQTQgLyogRnVuY3Rpb25EaXNwYXRjaGVyLmNwcCAqLzsgfTsKQEAgLTQ0OCw2ICs0
NDksNyBAQAogCQkxNDY5NDE5QjE2RUFCMTBBMDAyNEUxNDYgLyogQXV0b2RyYWluZWRQb29sTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXV0b2RyYWluZWRQ
b29sTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDlFRjE2MjE2QkJGRTBE
MDAwQTQzMzEgLyogVHJpU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VHJpU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTRDODI3OTcxOEZERDcz
NDAwRTE4MDBDIC8qIG1ibWFsbG9jLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsg
cGF0aCA9IG1ibWFsbG9jLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
NEU3ODVFNzFERkIzMzAxMDAyMDlCRDEgLyogT3JkaW5hbE51bWJlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBPcmRpbmFsTnVtYmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE0RjNCMEY2MTVFNDVFNDYwMDIxMDA2OSAvKiBTYXR1cmF0ZWRBcml0aG1ldGlj
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNhdHVyYXRlZEFyaXRobWV0aWMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUExRDhCOUIxNzMxODZDRTAwMTQxREE0
IC8qIEZ1bmN0aW9uRGlzcGF0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBGdW5jdGlvbkRpc3BhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEx
RDhCOUQxNzMxODc5ODAwMTQxREE0IC8qIEZ1bmN0aW9uRGlzcGF0Y2hlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGdW5jdGlvbkRpc3BhdGNoZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE3MCw2ICsxMTcyLDcgQEAKIAkJCQkyNjE0N0Iw
ODE1RERDQ0RDMDBEREI5MDcgLyogSW50ZWdlclRvU3RyaW5nQ29udmVyc2lvbi5oICovLAogCQkJ
CTkzQUM5MUE3MTg5NDJGQzQwMDI0NDkzOSAvKiBMQ2hhci5oICovLAogCQkJCTFDMTgxQzgxMUQz
MDc5N0MwMEY1RkExNiAvKiBMaW5lQnJlYWtJdGVyYXRvclBvb2xJQ1UuaCAqLywKKwkJCQkxNEU3
ODVFNzFERkIzMzAxMDAyMDlCRDEgLyogT3JkaW5hbE51bWJlci5oICovLAogCQkJCUE4QTQ3MzIz
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWZmZXIuaCAqLywKIAkJCQlBOEE0NzMyNDE1MUE4
MjVCMDA0MTIzRkYgLyogU3RyaW5nQnVpbGRlci5jcHAgKi8sCiAJCQkJQThBNDczMjUxNTFBODI1
QjAwNDEyM0ZGIC8qIFN0cmluZ0J1aWxkZXIuaCAqLywKQEAgLTE0NDYsNiArMTQ0OSw3IEBACiAJ
CQkJMTRGM0IwRjcxNUU0NUU0NjAwMjEwMDY5IC8qIFNhdHVyYXRlZEFyaXRobWV0aWMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTE0Njk0MTk2MTZFQUFGRjgwMDI0RTE0NiAvKiBTY2hlZHVsZVBhaXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBMzUyNEFCMUQ2M0EyRkYwMDMxNzI5QiAvKiBTY29wZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMTRFNzg1RTgxREZCMzMwMTAwMjA5QkQxIC8qIE9yZGluYWxO
dW1iZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjZCMjhEMURDOTdCQUIwMDRBMUQzRiAvKiBN
b25vdG9uaWNUaW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVDODRCMTFCREFDRDM5MDA4MEZG
NzQgLyogU2NvcGVkTGFtYmRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTA5OEIwMjFDMTZBNEY5
MDAwODc3OTcgLyogU2VjdXJpdHlTUEkuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dU
Ri93dGYvdGV4dC9PcmRpbmFsTnVtYmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
dGV4dC9PcmRpbmFsTnVtYmVyLmgJKHJldmlzaW9uIDIwOTUwMCkJKGZyb20gU291cmNlL1dURi93
dGYvdGV4dC9UZXh0UG9zaXRpb24uaDoyMDk1MDApCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L09y
ZGluYWxOdW1iZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBUZXh0UG9zaXRpb25faAorI2RlZmluZSBUZXh0UG9zaXRpb25faAorCisj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8vIEFuIGFi
c3RyYWN0IG51bWJlciBvZiBlbGVtZW50IGluIGEgc2VxdWVuY2UuIFRoZSBzZXF1ZW5jZSBoYXMg
YSBmaXJzdCBlbGVtZW50LgorLy8gVGhpcyB0eXBlIHNob3VsZCBiZSB1c2VkIGluc3RlYWQgb2Yg
aW50ZWdlciBiZWNhdXNlIDIgY29udHJhZGljdGluZyB0cmFkaXRpb25zIGNhbgorLy8gY2FsbCBh
IGZpcnN0IGVsZW1lbnQgJzAnIG9yICcxJyB3aGljaCBtYWtlcyBpbnRlZ2VyIHR5cGUgYW1iaWd1
b3VzLgorY2xhc3MgT3JkaW5hbE51bWJlciB7CitwdWJsaWM6CisgICAgc3RhdGljIE9yZGluYWxO
dW1iZXIgZnJvbVplcm9CYXNlZEludChpbnQgemVyb0Jhc2VkSW50KSB7IHJldHVybiBPcmRpbmFs
TnVtYmVyKHplcm9CYXNlZEludCk7IH0KKyAgICBzdGF0aWMgT3JkaW5hbE51bWJlciBmcm9tT25l
QmFzZWRJbnQoaW50IG9uZUJhc2VkSW50KSB7IHJldHVybiBPcmRpbmFsTnVtYmVyKG9uZUJhc2Vk
SW50IC0gMSk7IH0KKyAgICBPcmRpbmFsTnVtYmVyKCkgOiBtX3plcm9CYXNlZFZhbHVlKDApIHsg
fQorCisgICAgaW50IHplcm9CYXNlZEludCgpIGNvbnN0IHsgcmV0dXJuIG1femVyb0Jhc2VkVmFs
dWU7IH0KKyAgICBpbnQgb25lQmFzZWRJbnQoKSBjb25zdCB7IHJldHVybiBtX3plcm9CYXNlZFZh
bHVlICsgMTsgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KE9yZGluYWxOdW1iZXIgb3RoZXIpIHsg
cmV0dXJuIG1femVyb0Jhc2VkVmFsdWUgPT0gb3RoZXIubV96ZXJvQmFzZWRWYWx1ZTsgfQorICAg
IGJvb2wgb3BlcmF0b3IhPShPcmRpbmFsTnVtYmVyIG90aGVyKSB7IHJldHVybiAhKCgqdGhpcykg
PT0gb3RoZXIpOyB9CisKKyAgICBzdGF0aWMgT3JkaW5hbE51bWJlciBmaXJzdCgpIHsgcmV0dXJu
IE9yZGluYWxOdW1iZXIoMCk7IH0KKyAgICBzdGF0aWMgT3JkaW5hbE51bWJlciBiZWZvcmVGaXJz
dCgpIHsgcmV0dXJuIE9yZGluYWxOdW1iZXIoLTEpOyB9CisKK3ByaXZhdGU6CisgICAgT3JkaW5h
bE51bWJlcihpbnQgemVyb0Jhc2VkSW50KSA6IG1femVyb0Jhc2VkVmFsdWUoemVyb0Jhc2VkSW50
KSB7IH0KKyAgICBpbnQgbV96ZXJvQmFzZWRWYWx1ZTsKK307CisKKworLy8gVGV4dFBvc2l0aW9u
IHN0cnVjdHVyZSBzcGVjaWZpZXMgY29vcmRpbmF0ZXMgd2l0aGluIGFuIHRleHQgcmVzb3VyY2Uu
IEl0IGlzIHVzZWQgbW9zdGx5CisvLyBmb3Igc2F2aW5nIHNjcmlwdCBzb3VyY2UgcG9zaXRpb24u
CitjbGFzcyBUZXh0UG9zaXRpb24geworcHVibGljOgorICAgIFRleHRQb3NpdGlvbihPcmRpbmFs
TnVtYmVyIGxpbmUsIE9yZGluYWxOdW1iZXIgY29sdW1uKQorICAgICAgICA6IG1fbGluZShsaW5l
KQorICAgICAgICAsIG1fY29sdW1uKGNvbHVtbikKKyAgICB7CisgICAgfQorICAgIFRleHRQb3Np
dGlvbigpIHsgfQorICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBUZXh0UG9zaXRpb24mIG90aGVy
KSB7IHJldHVybiBtX2xpbmUgPT0gb3RoZXIubV9saW5lICYmIG1fY29sdW1uID09IG90aGVyLm1f
Y29sdW1uOyB9CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFRleHRQb3NpdGlvbiYgb3RoZXIp
IHsgcmV0dXJuICEoKCp0aGlzKSA9PSBvdGhlcik7IH0KKworICAgIC8vIEEgJ21pbmltdW0nIHZh
bHVlIG9mIHBvc2l0aW9uLCB1c2VkIGFzIGEgZGVmYXVsdCB2YWx1ZS4KKyAgICBzdGF0aWMgVGV4
dFBvc2l0aW9uIG1pbmltdW1Qb3NpdGlvbigpIHsgcmV0dXJuIFRleHRQb3NpdGlvbihPcmRpbmFs
TnVtYmVyOjpmaXJzdCgpLCBPcmRpbmFsTnVtYmVyOjpmaXJzdCgpKTsgfQorCisgICAgLy8gQSB2
YWx1ZSB3aXRoIGxpbmUgdmFsdWUgbGVzcyB0aGFuIGEgbWluaW11bTsgdXNlZCBhcyBhbiBpbXBv
c3NpYmxlIHBvc2l0aW9uLgorICAgIHN0YXRpYyBUZXh0UG9zaXRpb24gYmVsb3dSYW5nZVBvc2l0
aW9uKCkgeyByZXR1cm4gVGV4dFBvc2l0aW9uKE9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCks
IE9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCkpOyB9CisKKyAgICBPcmRpbmFsTnVtYmVyIG1f
bGluZTsKKyAgICBPcmRpbmFsTnVtYmVyIG1fY29sdW1uOworfTsKKworfQorCit1c2luZyBXVEY6
Ok9yZGluYWxOdW1iZXI7CisKK3VzaW5nIFdURjo6VGV4dFBvc2l0aW9uOworCisjZW5kaWYgLy8g
VGV4dFBvc2l0aW9uX2gKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQvT3JkaW5hbE51bWJlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3RleHQvT3JkaW5hbE51bWJlci5oCShyZXZp
c2lvbiAyMDk1MDApCisrKyBTb3VyY2UvV1RGL3d0Zi90ZXh0L09yZGluYWxOdW1iZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMjIsMTAgKzIyLDcgQEAKICAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgVGV4
dFBvc2l0aW9uX2gKLSNkZWZpbmUgVGV4dFBvc2l0aW9uX2gKLQotI2luY2x1ZGUgPHd0Zi9Bc3Nl
cnRpb25zLmg+CisjcHJhZ21hIG9uY2UKIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTUyLDM0ICs0
OSw2IEBAIHByaXZhdGU6CiAgICAgaW50IG1femVyb0Jhc2VkVmFsdWU7CiB9OwogCi0KLS8vIFRl
eHRQb3NpdGlvbiBzdHJ1Y3R1cmUgc3BlY2lmaWVzIGNvb3JkaW5hdGVzIHdpdGhpbiBhbiB0ZXh0
IHJlc291cmNlLiBJdCBpcyB1c2VkIG1vc3RseQotLy8gZm9yIHNhdmluZyBzY3JpcHQgc291cmNl
IHBvc2l0aW9uLgotY2xhc3MgVGV4dFBvc2l0aW9uIHsKLXB1YmxpYzoKLSAgICBUZXh0UG9zaXRp
b24oT3JkaW5hbE51bWJlciBsaW5lLCBPcmRpbmFsTnVtYmVyIGNvbHVtbikKLSAgICAgICAgOiBt
X2xpbmUobGluZSkKLSAgICAgICAgLCBtX2NvbHVtbihjb2x1bW4pCi0gICAgewotICAgIH0KLSAg
ICBUZXh0UG9zaXRpb24oKSB7IH0KLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgVGV4dFBvc2l0
aW9uJiBvdGhlcikgeyByZXR1cm4gbV9saW5lID09IG90aGVyLm1fbGluZSAmJiBtX2NvbHVtbiA9
PSBvdGhlci5tX2NvbHVtbjsgfQotICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBUZXh0UG9zaXRp
b24mIG90aGVyKSB7IHJldHVybiAhKCgqdGhpcykgPT0gb3RoZXIpOyB9Ci0KLSAgICAvLyBBICdt
aW5pbXVtJyB2YWx1ZSBvZiBwb3NpdGlvbiwgdXNlZCBhcyBhIGRlZmF1bHQgdmFsdWUuCi0gICAg
c3RhdGljIFRleHRQb3NpdGlvbiBtaW5pbXVtUG9zaXRpb24oKSB7IHJldHVybiBUZXh0UG9zaXRp
b24oT3JkaW5hbE51bWJlcjo6Zmlyc3QoKSwgT3JkaW5hbE51bWJlcjo6Zmlyc3QoKSk7IH0KLQot
ICAgIC8vIEEgdmFsdWUgd2l0aCBsaW5lIHZhbHVlIGxlc3MgdGhhbiBhIG1pbmltdW07IHVzZWQg
YXMgYW4gaW1wb3NzaWJsZSBwb3NpdGlvbi4KLSAgICBzdGF0aWMgVGV4dFBvc2l0aW9uIGJlbG93
UmFuZ2VQb3NpdGlvbigpIHsgcmV0dXJuIFRleHRQb3NpdGlvbihPcmRpbmFsTnVtYmVyOjpiZWZv
cmVGaXJzdCgpLCBPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpKTsgfQotCi0gICAgT3JkaW5h
bE51bWJlciBtX2xpbmU7Ci0gICAgT3JkaW5hbE51bWJlciBtX2NvbHVtbjsKLX07Ci0KIH0KIAog
dXNpbmcgV1RGOjpPcmRpbmFsTnVtYmVyOwotCi11c2luZyBXVEY6OlRleHRQb3NpdGlvbjsKLQot
I2VuZGlmIC8vIFRleHRQb3NpdGlvbl9oCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi90ZXh0L1RleHRQ
b3NpdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3RleHQvVGV4dFBvc2l0aW9u
LmgJKHJldmlzaW9uIDIwOTUwMCkKKysrIFNvdXJjZS9XVEYvd3RmL3RleHQvVGV4dFBvc2l0aW9u
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDM3ICsyMiwxMiBAQAogICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBUZXh0UG9zaXRpb25faAotI2RlZmluZSBUZXh0UG9zaXRpb25faAorI3ByYWdtYSBvbmNl
CiAKLSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgIk9yZGluYWxOdW1iZXIu
aCIKIAogbmFtZXNwYWNlIFdURiB7CiAKLS8vIEFuIGFic3RyYWN0IG51bWJlciBvZiBlbGVtZW50
IGluIGEgc2VxdWVuY2UuIFRoZSBzZXF1ZW5jZSBoYXMgYSBmaXJzdCBlbGVtZW50LgotLy8gVGhp
cyB0eXBlIHNob3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgaW50ZWdlciBiZWNhdXNlIDIgY29udHJh
ZGljdGluZyB0cmFkaXRpb25zIGNhbgotLy8gY2FsbCBhIGZpcnN0IGVsZW1lbnQgJzAnIG9yICcx
JyB3aGljaCBtYWtlcyBpbnRlZ2VyIHR5cGUgYW1iaWd1b3VzLgotY2xhc3MgT3JkaW5hbE51bWJl
ciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIE9yZGluYWxOdW1iZXIgZnJvbVplcm9CYXNlZEludChp
bnQgemVyb0Jhc2VkSW50KSB7IHJldHVybiBPcmRpbmFsTnVtYmVyKHplcm9CYXNlZEludCk7IH0K
LSAgICBzdGF0aWMgT3JkaW5hbE51bWJlciBmcm9tT25lQmFzZWRJbnQoaW50IG9uZUJhc2VkSW50
KSB7IHJldHVybiBPcmRpbmFsTnVtYmVyKG9uZUJhc2VkSW50IC0gMSk7IH0KLSAgICBPcmRpbmFs
TnVtYmVyKCkgOiBtX3plcm9CYXNlZFZhbHVlKDApIHsgfQotCi0gICAgaW50IHplcm9CYXNlZElu
dCgpIGNvbnN0IHsgcmV0dXJuIG1femVyb0Jhc2VkVmFsdWU7IH0KLSAgICBpbnQgb25lQmFzZWRJ
bnQoKSBjb25zdCB7IHJldHVybiBtX3plcm9CYXNlZFZhbHVlICsgMTsgfQotCi0gICAgYm9vbCBv
cGVyYXRvcj09KE9yZGluYWxOdW1iZXIgb3RoZXIpIHsgcmV0dXJuIG1femVyb0Jhc2VkVmFsdWUg
PT0gb3RoZXIubV96ZXJvQmFzZWRWYWx1ZTsgfQotICAgIGJvb2wgb3BlcmF0b3IhPShPcmRpbmFs
TnVtYmVyIG90aGVyKSB7IHJldHVybiAhKCgqdGhpcykgPT0gb3RoZXIpOyB9Ci0KLSAgICBzdGF0
aWMgT3JkaW5hbE51bWJlciBmaXJzdCgpIHsgcmV0dXJuIE9yZGluYWxOdW1iZXIoMCk7IH0KLSAg
ICBzdGF0aWMgT3JkaW5hbE51bWJlciBiZWZvcmVGaXJzdCgpIHsgcmV0dXJuIE9yZGluYWxOdW1i
ZXIoLTEpOyB9Ci0KLXByaXZhdGU6Ci0gICAgT3JkaW5hbE51bWJlcihpbnQgemVyb0Jhc2VkSW50
KSA6IG1femVyb0Jhc2VkVmFsdWUoemVyb0Jhc2VkSW50KSB7IH0KLSAgICBpbnQgbV96ZXJvQmFz
ZWRWYWx1ZTsKLX07Ci0KLQogLy8gVGV4dFBvc2l0aW9uIHN0cnVjdHVyZSBzcGVjaWZpZXMgY29v
cmRpbmF0ZXMgd2l0aGluIGFuIHRleHQgcmVzb3VyY2UuIEl0IGlzIHVzZWQgbW9zdGx5CiAvLyBm
b3Igc2F2aW5nIHNjcmlwdCBzb3VyY2UgcG9zaXRpb24uCiBjbGFzcyBUZXh0UG9zaXRpb24gewpA
QCAtNzgsOCArNTMsNCBAQCBwdWJsaWM6CiAKIH0KIAotdXNpbmcgV1RGOjpPcmRpbmFsTnVtYmVy
OwotCiB1c2luZyBXVEY6OlRleHRQb3NpdGlvbjsKLQotI2VuZGlmIC8vIFRleHRQb3NpdGlvbl9o
Cg==
</data>
<flag name="review"
          id="319083"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>