<?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>72625</bug_id>
          
          <creation_ts>2011-11-17 09:49:03 -0800</creation_ts>
          <short_desc>[WK2] Fix TransformOperation serialization</short_desc>
          <delta_ts>2011-11-17 14:49:48 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Igor Trindade Oliveira">igor.oliveira</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>hausmann</cc>
    
    <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>504928</commentid>
    <comment_count>0</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-11-17 09:49:03 -0800</bug_when>
    <thetext>TransformOperation subclasses are being serialized using SimpleArgumentCoder. However, SimpleArgumentCoder uses memcpy to decode the data, so the objects serialized by it needs to be a POD(Plain Old Data) type and TransformOperation subclasses are not because the base class has pure virtual methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504947</commentid>
    <comment_count>1</comment_count>
      <attachid>115612</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-11-17 10:05:46 -0800</bug_when>
    <thetext>Created attachment 115612
Patch

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505245</commentid>
    <comment_count>2</comment_count>
      <attachid>115612</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 14:49:44 -0800</bug_when>
    <thetext>Comment on attachment 115612
Patch

Clearing flags on attachment: 115612

Committed r100680: &lt;http://trac.webkit.org/changeset/100680&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505247</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 14:49:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115612</attachid>
            <date>2011-11-17 10:05:46 -0800</date>
            <delta_ts>2011-11-17 14:49:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-WK2-Fix-TransformOperation-serialization.patch</filename>
            <type>text/plain</type>
            <size>17961</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSAyZjFhZjRjODI0MmJhNWIwYWQ0NTU5NTU1NjQ0NjZlMTExZGE5OGMyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9saXZlaXJhQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTcgTm92IDIwMTEgMTI6Mzk6MjcgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBbV0syXSBGaXggVHJhbnNmb3JtT3BlcmF0aW9uIHNlcmlhbGl6YXRpb24KCi0tLQogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwICsrKwog
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgfCAgMTc3ICsr
KysrKysrKysrKysrKysrLS0tLS0tCiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmggICB8ICAgNDIgKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE3MyBpbnNlcnRp
b25zKCspLCA2NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTI0NmU3ZC4uODA4MGFhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTExLTE3ICBJZ29yIE9saXZlaXJhICA8
aWdvci5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtXSzJdIEZpeCBUcmFuc2Zv
cm1PcGVyYXRpb24gc2VyaWFsaXphdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MjUKKworICAgICAgICBTaW1wbGVBcmd1bWVudENvZGVyIGNh
biBlbmNvZGUgYW5kIGRlY29kZSBqdXN0IFBPRCB0eXBlcy4gQW5kIGFjY29yZGluZyB0aGUgCisg
ICAgICAgIElTTy9JRUMgMTQ4ODIsIFBPRCB0eXBlcyBkb2VzIG5vdCBoYXZlIHZpcnR1YWwgbWV0
aG9kcywgaG93ZXZlciBUcmFuc2Zvcm1PcGVyYXRpb24KKyAgICAgICAgaGFzIHB1cmUgdmlydHVh
bCBtZXRob2RzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgVHJhbnNmb3JtT3BlcmF0aW9u
IHN1YmNsYXNzIHNlcmlhbGl6YXRpb24uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAg
ICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlKToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlKToK
KyAgICAgICAgKENvcmVJUEM6OmVuY29kZU9wZXJhdGlvbik6CisgICAgICAgIChDb3JlSVBDOjpk
ZWNvZGVPcGVyYXRpb24pOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aDoKKwogMjAxMS0xMS0xNyAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJvc3Nh
Lm9yZz4KIAogICAgICAgICBbUXRdW1dLMl0gRG9uJ3QgZXhwb3J0IHRoZSBwcml2YXRlIFFRdWlj
a1ZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwCmluZGV4IDY3MDAwZTAuLjIxYjY2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC02NTgsODAgKzY1OCwxNjcgQEAgYm9vbCBB
cmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2Rl
ciogZGVjb2RlciwgVHJhbnMKIH0KIAogCi12b2lkIEFyZ3VtZW50Q29kZXI8TWF0cml4VHJhbnNm
b3JtT3BlcmF0aW9uPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgTWF0
cml4VHJhbnNmb3JtT3BlcmF0aW9uJiBvcGVyYXRpb24pCit2b2lkIEFyZ3VtZW50Q29kZXI8UmVm
UHRyPE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbj4gPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2Rlciog
ZW5jb2RlciwgY29uc3QgTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uKiBvcGVyYXRpb24pCiB7Ci0g
ICAgU2ltcGxlQXJndW1lbnRDb2RlcjxNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24+OjplbmNvZGUo
ZW5jb2Rlciwgb3BlcmF0aW9uKTsKKyAgICBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRyYW5zZm9y
bWF0aW9uTWF0cml4Pjo6ZW5jb2RlKGVuY29kZXIsIG9wZXJhdGlvbi0+bWF0cml4KCkpOwogfQog
Ci1ib29sIEFyZ3VtZW50Q29kZXI8TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uPjo6ZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciogZGVjb2RlciwgTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uJiBvcGVyYXRp
b24pCitib29sIEFyZ3VtZW50Q29kZXI8UmVmUHRyPE1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbj4g
Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVmUHRyPE1hdHJpeFRyYW5zZm9y
bU9wZXJhdGlvbj4mIG9wZXJhdGlvbikKIHsKLSAgICByZXR1cm4gU2ltcGxlQXJndW1lbnRDb2Rl
cjxNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24+OjpkZWNvZGUoZGVjb2Rlciwgb3BlcmF0aW9uKTsK
LX0KKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7CisgICAgaWYgKCFBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2RlKGRlY29kZXIsIG1hdHJp
eCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIG9wZXJhdGlvbiA9IE1hdHJpeFRyYW5z
Zm9ybU9wZXJhdGlvbjo6Y3JlYXRlKG1hdHJpeCk7CisgICAgcmV0dXJuIHRydWU7Cit9CiAKLXZv
aWQgQXJndW1lbnRDb2RlcjxNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbj46OmVuY29kZShBcmd1
bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uJiBv
cGVyYXRpb24pCit2b2lkIEFyZ3VtZW50Q29kZXI8UmVmUHRyPE1hdHJpeDNEVHJhbnNmb3JtT3Bl
cmF0aW9uPiA+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBNYXRyaXgz
RFRyYW5zZm9ybU9wZXJhdGlvbiogb3BlcmF0aW9uKQogewotICAgIFNpbXBsZUFyZ3VtZW50Q29k
ZXI8TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+OjplbmNvZGUoZW5jb2Rlciwgb3BlcmF0aW9u
KTsKKyAgICBBcmd1bWVudENvZGVyPFRyYW5zZm9ybWF0aW9uTWF0cml4Pjo6ZW5jb2RlKGVuY29k
ZXIsIG9wZXJhdGlvbi0+bWF0cml4KCkpOwogfQogCi1ib29sIEFyZ3VtZW50Q29kZXI8TWF0cml4
M0RUcmFuc2Zvcm1PcGVyYXRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBN
YXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbiYgb3BlcmF0aW9uKQorYm9vbCBBcmd1bWVudENvZGVy
PFJlZlB0cjxNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbj4gPjo6ZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciogZGVjb2RlciwgUmVmUHRyPE1hdHJpeDNEVHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0
aW9uKQogewotICAgIHJldHVybiBTaW1wbGVBcmd1bWVudENvZGVyPE1hdHJpeDNEVHJhbnNmb3Jt
T3BlcmF0aW9uPjo6ZGVjb2RlKGRlY29kZXIsIG9wZXJhdGlvbik7Ci19CiAKKyAgICBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBtYXRyaXg7CisgICAgaWYgKCFBcmd1bWVudENvZGVyPFdlYkNvcmU6OlRy
YW5zZm9ybWF0aW9uTWF0cml4Pjo6ZGVjb2RlKGRlY29kZXIsIG1hdHJpeCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotdm9pZCBBcmd1bWVudENvZGVyPFBlcnNwZWN0aXZlVHJhbnNmb3JtT3Bl
cmF0aW9uPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUGVyc3BlY3Rp
dmVUcmFuc2Zvcm1PcGVyYXRpb24mIG9wZXJhdGlvbikKLXsKLSAgICBTaW1wbGVBcmd1bWVudENv
ZGVyPFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uPjo6ZW5jb2RlKGVuY29kZXIsIG9wZXJh
dGlvbik7CisgICAgb3BlcmF0aW9uID0gTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0
ZShtYXRyaXgpOworICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEFyZ3VtZW50Q29kZXI8UGVy
c3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLCBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbiYgb3BlcmF0aW9uKQordm9pZCBBcmd1
bWVudENvZGVyPFJlZlB0cjxQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4gPjo6ZW5jb2Rl
KEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVy
YXRpb24qIG9wZXJhdGlvbikKIHsKLSAgICByZXR1cm4gU2ltcGxlQXJndW1lbnRDb2RlcjxQZXJz
cGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj46OmRlY29kZShkZWNvZGVyLCBvcGVyYXRpb24pOwor
ICAgIEFyZ3VtZW50Q29kZXI8TGVuZ3RoPjo6ZW5jb2RlKGVuY29kZXIsIG9wZXJhdGlvbi0+cGVy
c3BlY3RpdmUoKSk7CiB9CiAKK2Jvb2wgQXJndW1lbnRDb2RlcjxSZWZQdHI8UGVyc3BlY3RpdmVU
cmFuc2Zvcm1PcGVyYXRpb24+ID46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFJl
ZlB0cjxQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4mIG9wZXJhdGlvbikKK3sKKyAgICBM
ZW5ndGggcGVyc3BlY3RpdmU7CisgICAgaWYgKCFBcmd1bWVudENvZGVyPExlbmd0aD46OmRlY29k
ZShkZWNvZGVyLCBwZXJzcGVjdGl2ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG9w
ZXJhdGlvbiA9IFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUocGVyc3BlY3Rp
dmUpOworICAgIHJldHVybiB0cnVlOworfQogCi12b2lkIEFyZ3VtZW50Q29kZXI8Um90YXRlVHJh
bnNmb3JtT3BlcmF0aW9uPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3Qg
Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uJiBvcGVyYXRpb24pCit2b2lkIEFyZ3VtZW50Q29kZXI8
UmVmUHRyPFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4gPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2Rl
ciogZW5jb2RlciwgY29uc3QgUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uKiBvcGVyYXRpb24pCiB7
Ci0gICAgU2ltcGxlQXJndW1lbnRDb2RlcjxSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24+OjplbmNv
ZGUoZW5jb2Rlciwgb3BlcmF0aW9uKTsKKyAgICBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb24qIHRy
YW5zZm9ybU9wZXJhdGlvbiA9IG9wZXJhdGlvbjsKKyAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKHRy
YW5zZm9ybU9wZXJhdGlvbi0+Z2V0T3BlcmF0aW9uVHlwZSgpKTsKKyAgICBlbmNvZGVyLT5lbmNv
ZGUob3BlcmF0aW9uLT54KCkpOworICAgIGVuY29kZXItPmVuY29kZShvcGVyYXRpb24tPnkoKSk7
CisgICAgZW5jb2Rlci0+ZW5jb2RlKG9wZXJhdGlvbi0+eigpKTsKKyAgICBlbmNvZGVyLT5lbmNv
ZGUob3BlcmF0aW9uLT5hbmdsZSgpKTsKIH0KIAotYm9vbCBBcmd1bWVudENvZGVyPFJvdGF0ZVRy
YW5zZm9ybU9wZXJhdGlvbj46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFJvdGF0
ZVRyYW5zZm9ybU9wZXJhdGlvbiYgb3BlcmF0aW9uKQorYm9vbCBBcmd1bWVudENvZGVyPFJlZlB0
cjxSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmRlY29kZShBcmd1bWVudERlY29kZXIqIGRl
Y29kZXIsIFJlZlB0cjxSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24+JiBvcGVyYXRpb24pCiB7Ci0g
ICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29kZXI8Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uPjo6
ZGVjb2RlKGRlY29kZXIsIG9wZXJhdGlvbik7CisgICAgVHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVy
YXRpb25UeXBlIG9wZXJhdGlvblR5cGU7CisgICAgZG91YmxlIHg7CisgICAgZG91YmxlIHk7Cisg
ICAgZG91YmxlIHo7CisgICAgZG91YmxlIGFuZ2xlOworCisgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGVFbnVtKG9wZXJhdGlvblR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUoeCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29k
ZXItPmRlY29kZSh5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKHopKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGUoYW5nbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBvcGVyYXRpb24gPSBSb3Rh
dGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSh4LCB5LCB6LCBhbmdsZSwgb3BlcmF0aW9uVHlw
ZSk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIAotdm9pZCBBcmd1bWVudENvZGVyPFNjYWxlVHJh
bnNmb3JtT3BlcmF0aW9uPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3Qg
U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24mIG9wZXJhdGlvbikKK3ZvaWQgQXJndW1lbnRDb2RlcjxS
ZWZQdHI8U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmVuY29kZShBcmd1bWVudEVuY29kZXIq
IGVuY29kZXIsIGNvbnN0IFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uKiBvcGVyYXRpb24pCiB7Ci0g
ICAgU2ltcGxlQXJndW1lbnRDb2RlcjxTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj46OmVuY29kZShl
bmNvZGVyLCBvcGVyYXRpb24pOworICAgIGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbiogdHJhbnNm
b3JtT3BlcmF0aW9uID0gb3BlcmF0aW9uOworICAgIGVuY29kZXItPmVuY29kZUVudW0odHJhbnNm
b3JtT3BlcmF0aW9uLT5nZXRPcGVyYXRpb25UeXBlKCkpOworICAgIGVuY29kZXItPmVuY29kZShv
cGVyYXRpb24tPngoKSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKG9wZXJhdGlvbi0+eSgpKTsKKyAg
ICBlbmNvZGVyLT5lbmNvZGUob3BlcmF0aW9uLT56KCkpOwogfQogCi1ib29sIEFyZ3VtZW50Q29k
ZXI8U2NhbGVUcmFuc2Zvcm1PcGVyYXRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLCBTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbiYgb3BlcmF0aW9uKQorYm9vbCBBcmd1bWVudENv
ZGVyPFJlZlB0cjxTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4gPjo6ZGVjb2RlKEFyZ3VtZW50RGVj
b2RlciogZGVjb2RlciwgUmVmUHRyPFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9u
KQogewotICAgIHJldHVybiBTaW1wbGVBcmd1bWVudENvZGVyPFNjYWxlVHJhbnNmb3JtT3BlcmF0
aW9uPjo6ZGVjb2RlKGRlY29kZXIsIG9wZXJhdGlvbik7Ci19CisgICAgVHJhbnNmb3JtT3BlcmF0
aW9uOjpPcGVyYXRpb25UeXBlIG9wZXJhdGlvblR5cGU7CisgICAgZG91YmxlIHg7CisgICAgZG91
YmxlIHk7CisgICAgZG91YmxlIHo7CiAKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0ob3Bl
cmF0aW9uVHlwZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXItPmRl
Y29kZSh4KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoeikp
CisgICAgICAgIHJldHVybiBmYWxzZTsKIAotdm9pZCBBcmd1bWVudENvZGVyPFNrZXdUcmFuc2Zv
cm1PcGVyYXRpb24+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBTa2V3
VHJhbnNmb3JtT3BlcmF0aW9uJiBvcGVyYXRpb24pCi17Ci0gICAgU2ltcGxlQXJndW1lbnRDb2Rl
cjxTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPjo6ZW5jb2RlKGVuY29kZXIsIG9wZXJhdGlvbik7Cisg
ICAgb3BlcmF0aW9uID0gU2NhbGVUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSh4LCB5LCB6LCBv
cGVyYXRpb25UeXBlKTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBBcmd1bWVudENvZGVy
PFNrZXdUcmFuc2Zvcm1PcGVyYXRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVy
LCBTa2V3VHJhbnNmb3JtT3BlcmF0aW9uJiBvcGVyYXRpb24pCit2b2lkIEFyZ3VtZW50Q29kZXI8
UmVmUHRyPFNrZXdUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmVuY29kZShBcmd1bWVudEVuY29kZXIq
IGVuY29kZXIsIGNvbnN0IFNrZXdUcmFuc2Zvcm1PcGVyYXRpb24qIG9wZXJhdGlvbikKIHsKLSAg
ICByZXR1cm4gU2ltcGxlQXJndW1lbnRDb2RlcjxTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPjo6ZGVj
b2RlKGRlY29kZXIsIG9wZXJhdGlvbik7CisgICAgY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9uKiB0
cmFuc2Zvcm1PcGVyYXRpb24gPSBvcGVyYXRpb247CisgICAgZW5jb2Rlci0+ZW5jb2RlRW51bSh0
cmFuc2Zvcm1PcGVyYXRpb24tPmdldE9wZXJhdGlvblR5cGUoKSk7CisgICAgZW5jb2Rlci0+ZW5j
b2RlKG9wZXJhdGlvbi0+YW5nbGVYKCkpOworICAgIGVuY29kZXItPmVuY29kZShvcGVyYXRpb24t
PmFuZ2xlWSgpKTsKIH0KIAorYm9vbCBBcmd1bWVudENvZGVyPFJlZlB0cjxTa2V3VHJhbnNmb3Jt
T3BlcmF0aW9uPiA+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQdHI8U2tl
d1RyYW5zZm9ybU9wZXJhdGlvbj4mIG9wZXJhdGlvbikKK3sKKyAgICBUcmFuc2Zvcm1PcGVyYXRp
b246Ok9wZXJhdGlvblR5cGUgb3BlcmF0aW9uVHlwZTsKKyAgICBkb3VibGUgYW5nbGVYOworICAg
IGRvdWJsZSBhbmdsZVk7CisKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0ob3BlcmF0aW9u
VHlwZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShh
bmdsZVgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUo
YW5nbGVZKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgb3BlcmF0aW9uID0gU2tld1Ry
YW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKGFuZ2xlWCwgYW5nbGVZLCBvcGVyYXRpb25UeXBlKTsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KIAotdm9pZCBBcmd1bWVudENvZGVyPFRyYW5zbGF0ZVRyYW5z
Zm9ybU9wZXJhdGlvbj46OmVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFRy
YW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiYgb3BlcmF0aW9uKQordm9pZCBBcmd1bWVudENvZGVy
PFJlZlB0cjxUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmVuY29kZShBcmd1bWVudEVu
Y29kZXIqIGVuY29kZXIsIGNvbnN0IFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiogb3BlcmF0
aW9uKQogewotICAgIFNpbXBsZUFyZ3VtZW50Q29kZXI8VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0
aW9uPjo6ZW5jb2RlKGVuY29kZXIsIG9wZXJhdGlvbik7CisgICAgY29uc3QgVHJhbnNmb3JtT3Bl
cmF0aW9uKiB0cmFuc2Zvcm1PcGVyYXRpb24gPSBvcGVyYXRpb247CisgICAgZW5jb2Rlci0+ZW5j
b2RlRW51bSh0cmFuc2Zvcm1PcGVyYXRpb24tPmdldE9wZXJhdGlvblR5cGUoKSk7CisgICAgQXJn
dW1lbnRDb2RlcjxMZW5ndGg+OjplbmNvZGUoZW5jb2Rlciwgb3BlcmF0aW9uLT54KCkpOworICAg
IEFyZ3VtZW50Q29kZXI8TGVuZ3RoPjo6ZW5jb2RlKGVuY29kZXIsIG9wZXJhdGlvbi0+eSgpKTsK
KyAgICBBcmd1bWVudENvZGVyPExlbmd0aD46OmVuY29kZShlbmNvZGVyLCBvcGVyYXRpb24tPnoo
KSk7CiB9CiAKLWJvb2wgQXJndW1lbnRDb2RlcjxUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24+
OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBUcmFuc2xhdGVUcmFuc2Zvcm1PcGVy
YXRpb24mIG9wZXJhdGlvbikKK2Jvb2wgQXJndW1lbnRDb2RlcjxSZWZQdHI8VHJhbnNsYXRlVHJh
bnNmb3JtT3BlcmF0aW9uPiA+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZWZQ
dHI8VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9uKQogewotICAgIHJldHVy
biBTaW1wbGVBcmd1bWVudENvZGVyPFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj46OmRlY29k
ZShkZWNvZGVyLCBvcGVyYXRpb24pOworICAgIFRyYW5zZm9ybU9wZXJhdGlvbjo6T3BlcmF0aW9u
VHlwZSBvcGVyYXRpb25UeXBlOworICAgIExlbmd0aCB4OworICAgIExlbmd0aCB5OworICAgIExl
bmd0aCB6OworCisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGVFbnVtKG9wZXJhdGlvblR5cGUpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFBcmd1bWVudENvZGVyPExlbmd0aD46OmRl
Y29kZShkZWNvZGVyLCB4KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghQXJndW1l
bnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoZGVjb2RlciwgeSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBpZiAoIUFyZ3VtZW50Q29kZXI8TGVuZ3RoPjo6ZGVjb2RlKGRlY29kZXIsIHopKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBvcGVyYXRpb24gPSBUcmFuc2xhdGVUcmFuc2Zv
cm1PcGVyYXRpb246OmNyZWF0ZSh4LCB5LCB6LCBvcGVyYXRpb25UeXBlKTsKKyAgICByZXR1cm4g
dHJ1ZTsKIH0KIAogdm9pZCBBcmd1bWVudENvZGVyPFJlZlB0cjxUaW1pbmdGdW5jdGlvbj4gPjo6
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgUmVmUHRyPFRpbWluZ0Z1bmN0
aW9uPiYgZnVuY3Rpb24pCkBAIC04MDIsMTEgKzg4OSwxMCBAQCBib29sIEFyZ3VtZW50Q29kZXI8
UmVmUHRyPFRpbWluZ0Z1bmN0aW9uPiA+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVy
LCBSZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogdm9p
ZCBlbmNvZGVPcGVyYXRpb24oQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZWZQdHI8
VHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9uKQogewotICAgIGVuY29kZXItPmVuY29kZSgq
c3RhdGljX2Nhc3Q8Y29uc3QgVCo+KG9wZXJhdGlvbi5nZXQoKSkpOworICAgIEFyZ3VtZW50Q29k
ZXI8UmVmUHRyPFQ+ID46OmVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxjb25zdCBUKj4ob3Bl
cmF0aW9uLmdldCgpKSk7CiB9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxSZWZQdHI8VHJhbnNmb3Jt
T3BlcmF0aW9uPiA+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZWZQ
dHI8VHJhbnNmb3JtT3BlcmF0aW9uPiYgb3BlcmF0aW9uKQpAQCAtODY0LDEyICs5NTAsMTMgQEAg
dm9pZCBBcmd1bWVudENvZGVyPFJlZlB0cjxUcmFuc2Zvcm1PcGVyYXRpb24+ID46OmVuY29kZShB
cmd1bWVudEVuY29kZXIqIGVuY29kZXIKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KLWJvb2wg
ZGVjb2RlT3BlcmF0aW9uKEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgUmVmUHRyPFRyYW5zZm9y
bU9wZXJhdGlvbj4mIG9wZXJhdGlvbiwgUGFzc1JlZlB0cjxUPiBuZXdPcGVyYXRpb24pCitib29s
IGRlY29kZU9wZXJhdGlvbihBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFJlZlB0cjxUcmFuc2Zv
cm1PcGVyYXRpb24+JiBvcGVyYXRpb24pCiB7Ci0gICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoKm5l
d09wZXJhdGlvbi5nZXQoKSkpCisgICAgUmVmUHRyPFQ+IG5ld09wZXJhdGlvbjsKKyAgICBpZiAo
IWRlY29kZXItPmRlY29kZShuZXdPcGVyYXRpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBvcGVyYXRpb24gPSBuZXdPcGVyYXRpb24uZ2V0KCk7CisgICAgb3BlcmF0aW9uID0gbmV3
T3BlcmF0aW9uOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC04ODUsMzQgKzk3MiwzNCBAQCBi
b29sIEFyZ3VtZW50Q29kZXI8UmVmUHRyPFRyYW5zZm9ybU9wZXJhdGlvbj4gPjo6ZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciogZGVjb2RlcgogICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FM
RV9ZOgogICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV9aOgogICAgIGNhc2UgVHJh
bnNmb3JtT3BlcmF0aW9uOjpTQ0FMRV8zRDoKLSAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlv
bihkZWNvZGVyLCBvcGVyYXRpb24sIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoMS4w
LCAxLjAsIHR5cGUpKTsKKyAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxTY2FsZVRyYW5z
Zm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uKTsKIAogICAgIGNhc2UgVHJhbnNmb3Jt
T3BlcmF0aW9uOjpUUkFOU0xBVEU6CiAgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5T
TEFURV9YOgogICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWToKICAgICBj
YXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1o6CiAgICAgY2FzZSBUcmFuc2Zvcm1P
cGVyYXRpb246OlRSQU5TTEFURV8zRDoKLSAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbihk
ZWNvZGVyLCBvcGVyYXRpb24sIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKExl
bmd0aCgwLCBXZWJDb3JlOjpGaXhlZCksIExlbmd0aCgwLCBXZWJDb3JlOjpGaXhlZCksIHR5cGUp
KTsKKyAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxUcmFuc2xhdGVUcmFuc2Zvcm1PcGVy
YXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbik7CiAKICAgICBjYXNlIFRyYW5zZm9ybU9wZXJhdGlv
bjo6Uk9UQVRFOgogICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpST1RBVEVfWDoKICAgICBj
YXNlIFRyYW5zZm9ybU9wZXJhdGlvbjo6Uk9UQVRFX1k6CiAgICAgY2FzZSBUcmFuc2Zvcm1PcGVy
YXRpb246OlJPVEFURV8zRDoKLSAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbihkZWNvZGVy
LCBvcGVyYXRpb24sIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKDAuMCwgdHlwZSkp
OworICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlv
bj4oZGVjb2Rlciwgb3BlcmF0aW9uKTsKIAogICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpT
S0VXOgogICAgIGNhc2UgVHJhbnNmb3JtT3BlcmF0aW9uOjpTS0VXX1g6CiAgICAgY2FzZSBUcmFu
c2Zvcm1PcGVyYXRpb246OlNLRVdfWToKLSAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbihk
ZWNvZGVyLCBvcGVyYXRpb24sIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb246OmNyZWF0ZSgwLjAsIDAu
MCwgdHlwZSkpOworICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPFNrZXdUcmFuc2Zvcm1P
cGVyYXRpb24+KGRlY29kZXIsIG9wZXJhdGlvbik7CiAKICAgICBjYXNlIFRyYW5zZm9ybU9wZXJh
dGlvbjo6TUFUUklYOgotICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uKGRlY29kZXIsIG9w
ZXJhdGlvbiwgTWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uOjpjcmVhdGUoVHJhbnNmb3JtYXRpb25N
YXRyaXgoKSkpOworICAgICAgICByZXR1cm4gZGVjb2RlT3BlcmF0aW9uPE1hdHJpeFRyYW5zZm9y
bU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uKTsKIAogICAgIGNhc2UgVHJhbnNmb3JtT3Bl
cmF0aW9uOjpNQVRSSVhfM0Q6Ci0gICAgICAgIHJldHVybiBkZWNvZGVPcGVyYXRpb24oZGVjb2Rl
ciwgb3BlcmF0aW9uLCBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKFRyYW5zZm9y
bWF0aW9uTWF0cml4KCkpKTsKKyAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJhdGlvbjxNYXRyaXgz
RFRyYW5zZm9ybU9wZXJhdGlvbj4oZGVjb2Rlciwgb3BlcmF0aW9uKTsKIAogICAgIGNhc2UgVHJh
bnNmb3JtT3BlcmF0aW9uOjpQRVJTUEVDVElWRToKLSAgICAgICAgcmV0dXJuIGRlY29kZU9wZXJh
dGlvbihkZWNvZGVyLCBvcGVyYXRpb24sIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uOjpj
cmVhdGUoTGVuZ3RoKDAsIFdlYkNvcmU6OkZpeGVkKSkpOworICAgICAgICByZXR1cm4gZGVjb2Rl
T3BlcmF0aW9uPFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uPihkZWNvZGVyLCBvcGVyYXRp
b24pOwogCiAgICAgY2FzZSBUcmFuc2Zvcm1PcGVyYXRpb246OklERU5USVRZOgogICAgIGNhc2Ug
VHJhbnNmb3JtT3BlcmF0aW9uOjpOT05FOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oCmluZGV4IGU3NmYzYWYuLmU0OTVjOWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTIzNiwzOSArMjM2LDM5
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNmb3JtYXRp
b25NYXRyaXg+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyKiwgV2Vi
Q29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uPiB7Ci0gICAgc3Rh
dGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciosIGNvbnN0IFdlYkNvcmU6Ok1hdHJpeFRy
YW5zZm9ybU9wZXJhdGlvbiYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29k
ZXIqLCBXZWJDb3JlOjpNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb24mKTsKK3RlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJhdGlv
bj4gPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciosIGNvbnN0IFdl
YkNvcmU6Ok1hdHJpeFRyYW5zZm9ybU9wZXJhdGlvbiopOworICAgIHN0YXRpYyBib29sIGRlY29k
ZShBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8V2ViQ29yZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0
aW9uPiYpOwogfTsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpN
YXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbj4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1
bWVudEVuY29kZXIqLCBjb25zdCBXZWJDb3JlOjpNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbiYp
OwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3JlOjpNYXRy
aXgzRFRyYW5zZm9ybU9wZXJhdGlvbiYpOwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxSZWZQdHI8V2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+ID4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqLCBjb25zdCBXZWJDb3JlOjpNYXRyaXgz
RFRyYW5zZm9ybU9wZXJhdGlvbiopOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERl
Y29kZXIqLCBSZWZQdHI8V2ViQ29yZTo6TWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb24+Jik7CiB9
OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5j
b2RlciosIGNvbnN0IFdlYkNvcmU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uJik7Ci0g
ICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciosIFdlYkNvcmU6OlBlcnNwZWN0
aXZlVHJhbnNmb3JtT3BlcmF0aW9uJik7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFJlZlB0cjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbj4gPiB7CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciosIGNvbnN0IFdlYkNvcmU6OlBlcnNw
ZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uKik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3Vt
ZW50RGVjb2RlciosIFJlZlB0cjxXZWJDb3JlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlv
bj4mKTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Um90
YXRlVHJhbnNmb3JtT3BlcmF0aW9uPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciosIGNvbnN0IFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiYpOwotICAg
IHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3JlOjpSb3RhdGVUcmFu
c2Zvcm1PcGVyYXRpb24mKTsKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRy
PFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4gPiB7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciosIGNvbnN0IFdlYkNvcmU6OlJvdGF0ZVRyYW5zZm9ybU9w
ZXJhdGlvbiopOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBSZWZQ
dHI8V2ViQ29yZTo6Um90YXRlVHJhbnNmb3JtT3BlcmF0aW9uPiYpOwogfTsKIAotdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4g
ewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqLCBjb25zdCBXZWJDb3Jl
OjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbiYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1
bWVudERlY29kZXIqLCBXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbiYpOwordGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6U2NhbGVUcmFuc2Zvcm1P
cGVyYXRpb24+ID4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqLCBj
b25zdCBXZWJDb3JlOjpTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbiopOworICAgIHN0YXRpYyBib29s
IGRlY29kZShBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8V2ViQ29yZTo6U2NhbGVUcmFuc2Zvcm1P
cGVyYXRpb24+Jik7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OlNrZXdUcmFuc2Zvcm1PcGVyYXRpb24+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJn
dW1lbnRFbmNvZGVyKiwgY29uc3QgV2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbiYpOwot
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBXZWJDb3JlOjpTa2V3VHJh
bnNmb3JtT3BlcmF0aW9uJik7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFJlZlB0
cjxXZWJDb3JlOjpTa2V3VHJhbnNmb3JtT3BlcmF0aW9uPiA+IHsKKyAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoQXJndW1lbnRFbmNvZGVyKiwgY29uc3QgV2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJh
dGlvbiopOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8
V2ViQ29yZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbj4mKTsKIH07CiAKLXRlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPiB7
Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciosIGNvbnN0IFdlYkNvcmU6
OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShB
cmd1bWVudERlY29kZXIqLCBXZWJDb3JlOjpUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24mKTsK
K3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8UmVmUHRyPFdlYkNvcmU6OlRyYW5zbGF0
ZVRyYW5zZm9ybU9wZXJhdGlvbj4gPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciosIGNvbnN0IFdlYkNvcmU6OlRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbiopOwor
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8V2ViQ29yZTo6
VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uPiYpOwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxSZWZQdHI8V2ViQ29yZTo6VGltaW5nRnVuY3Rpb24+ID4gewotLSAKMS43
LjQuMQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>