<?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>87102</bug_id>
          
          <creation_ts>2012-05-22 01:43:53 -0700</creation_ts>
          <short_desc>[V8] Replace &apos;setDOMException(); return Undefined();&apos; with &apos;return setDOMException();&apos;</short_desc>
          <delta_ts>2012-05-22 15:21:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</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>
          
          <blocked>85330</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>630093</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-22 01:43:53 -0700</bug_when>
    <thetext>We can replace

    setDOMException();
    return v8::Undefined();

with

    return setDOMException();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630104</commentid>
    <comment_count>1</comment_count>
      <attachid>143232</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-05-22 01:51:01 -0700</bug_when>
    <thetext>Created attachment 143232
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630816</commentid>
    <comment_count>2</comment_count>
      <attachid>143232</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 15:21:42 -0700</bug_when>
    <thetext>Comment on attachment 143232
Patch

Clearing flags on attachment: 143232

Committed r118063: &lt;http://trac.webkit.org/changeset/118063&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630817</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 15:21:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143232</attachid>
            <date>2012-05-22 01:51:01 -0700</date>
            <delta_ts>2012-05-22 15:21:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87102-20120522175059.patch</filename>
            <type>text/plain</type>
            <size>27679</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3OTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI2NWMxZDQ3ZDY4M2I0
NDMzN2FjYjIxZDEwYjFmNDg4YjliMWUxZS4uMGJhZWM0NjliYmVmYmNkYzcyN2Y0ZWVhZjNiYWU3
ZDYwNTMxYWQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDEyLTA1LTIyICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFJlcGxhY2Ug
J3NldERPTUV4Y2VwdGlvbigpOyByZXR1cm4gVW5kZWZpbmVkKCk7JyB3aXRoICdyZXR1cm4gc2V0
RE9NRXhjZXB0aW9uKCk7JworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODcxMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzCisKKyAgICAgICAgICAgIHNldERPTUV4Y2VwdGlv
bigpOworICAgICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKworICAgICAgICB3aXRo
CisKKyAgICAgICAgICAgIHJldHVybiBzZXRET01FeGNlcHRpb24oKTsKKworICAgICAgICBJbiBh
ZGRpdGlvbiwganVzdCBpbiBjYXNlLCB0aGlzIHBhdGNoIHJlcGxhY2VzCisKKyAgICAgICAgICAg
IGlmICguLi4pCisgICAgICAgICAgICAgICAgc2V0RE9NRXhjZXB0aW9uKCk7CisgICAgICAgICAg
ICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgICAgIHdpdGgKKworICAgICAgICAgICAg
aWYgKC4uLikKKyAgICAgICAgICAgICAgICByZXR1cm4gc2V0RE9NRXhjZXB0aW9uKCk7CisgICAg
ICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgICAgIGJlY2F1c2UgcGVvcGxl
IG1pZ2h0IGluc2VydCBzb21lIGNvZGUganVzdCBhYm92ZQorICAgICAgICAncmV0dXJuIHY4OjpV
bmRlZmluZWQoKScgaW4gdGhlIGZ1dHVyZS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdl
IGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZm
ZXJWaWV3Q3VzdG9tLmg6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RXZWJHTEFycmF5V2l0
aEFycmF5QnVmZmVyQXJndW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6c2V0V2ViR0xBcnJheUhl
bHBlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldpbmRvd1NldFRpbWVvdXRJbXBsKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWOERhdGFWaWV3OjpnZXRJbnQ4Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhEYXRh
Vmlldzo6Z2V0VWludDhDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOERhdGFWaWV3Ojpz
ZXRJbnQ4Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhEYXRhVmlldzo6c2V0VWludDhD
YWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0b3J5RW50cnlT
eW5jQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RGlyZWN0b3J5RW50cnlTeW5jOjpn
ZXREaXJlY3RvcnlDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOERpcmVjdG9yeUVudHJ5
U3luYzo6Z2V0RmlsZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhI
VE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
T3B0aW9uc0NvbGxlY3Rpb246OmFkZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhOb2RlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm9kZTo6aW5zZXJ0
QmVmb3JlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2RlOjpyZXBsYWNlQ2hpbGRD
YWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOE5vZGU6OnJlbW92ZUNoaWxkQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6VjhOb2RlOjphcHBlbmRDaGlsZENhbGxiYWNrKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VjhTVkdMZW5ndGg6OnZhbHVlQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6VjhTVkdMZW5ndGg6OmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzQ2FsbGJhY2spOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRPYmplY3RQYXJhbWV0ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6VjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBh
cmFtZXRlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpnZXRQYXJhbWV0ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6Z2V0UHJvZ3JhbVBhcmFtZXRlckNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRTaGFkZXJQYXJhbWV0ZXJDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0VW5pZm9y
bUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnZlcnRleEF0dHJpYkFuZFVuaWZvcm1IZWxw
ZXJmKToKKyAgICAgICAgKFdlYkNvcmU6OnVuaWZvcm1IZWxwZXJpKToKKyAgICAgICAgKFdlYkNv
cmU6OnVuaWZvcm1NYXRyaXhIZWxwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4WE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlQWNjZXNzb3JHZXR0ZXIpOgorCiAyMDEyLTA1
LTIyICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zv
cm1zXVtNZXRlcl1bUHJvZ3Jlc3NdIENoYW5nZSBmdW5jdGlvbiBzaWduYXR1cmUgb2YgcGFyc2VU
b0RvdWJsZUZvck51bWJlclR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgKaW5kZXggMjM5NWYyNDcw
MzFhYTJkOGVkNzI2Y2E5NTUyYThmOGFlMjJiNmQ4My4uZDhiZWMwMDQ3YjYzZDUzMjk2OGY2YjA4
ZmUyMmFhMzIzMjEyZTE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgKQEAgLTgwLDEwICs4MCw4
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RXZWJHTEFycmF5V2l0aEFycmF5QnVm
ZmVyQXJndW1lbnQoY29uc3Qgdjg6OkFyZ3VtCiAgICAgICAgIGxlbmd0aCA9IChidWYtPmJ5dGVM
ZW5ndGgoKSAtIG9mZnNldCkgLyBzaXplb2YoRWxlbWVudFR5cGUpOwogICAgIH0KICAgICBSZWZQ
dHI8QXJyYXlDbGFzcz4gYXJyYXkgPSBBcnJheUNsYXNzOjpjcmVhdGUoYnVmLCBvZmZzZXQsIGxl
bmd0aCk7Ci0gICAgaWYgKCFhcnJheSkgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRp
b24oSU5ERVhfU0laRV9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICAgICAgcmV0dXJuIHY4
OjpIYW5kbGU8djg6OlZhbHVlPigpOwotICAgIH0KKyAgICBpZiAoIWFycmF5KQorICAgICAgICBy
ZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKElOREVYX1NJWkVfRVJSLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAgICAgLy8gVHJhbnNmb3JtIHRoZSBob2xkZXIgaW50byBhIHdyYXBwZXIgb2Jq
ZWN0IGZvciB0aGUgYXJyYXkuCiAgICAgVjhET01XcmFwcGVyOjpzZXRET01XcmFwcGVyKGFyZ3Mu
SG9sZGVyKCksIHR5cGUsIGFycmF5LmdldCgpKTsKICAgICBpZiAoaGFzSW5kZXhlcikKQEAgLTE4
OCwxMCArMTg2LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdFdlYkdMQXJyYXko
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgV3JhcHBlclR5cGUKIHRlbXBsYXRlIDxjbGFzcyBD
UGx1c1BsdXNBcnJheVR5cGUsIGNsYXNzIEphdmFTY3JpcHRXcmFwcGVyQXJyYXlUeXBlPgogdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHNldFdlYkdMQXJyYXlIZWxwZXIoY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKIHsKLSAgICBpZiAoYXJncy5MZW5ndGgoKSA8IDEpIHsKLSAgICAgICAgVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICAg
ICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwotICAgIH0KKyAgICBpZiAoYXJncy5M
ZW5ndGgoKSA8IDEpCisgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oU1lO
VEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAgICAgQ1BsdXNQbHVzQXJyYXlUeXBlKiBp
bXBsID0gSmF2YVNjcmlwdFdyYXBwZXJBcnJheVR5cGU6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OwogCkBAIC0yMDIsNyArMTk4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHNldFdlYkdMQXJy
YXlIZWxwZXIoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICAgICAgaWYgKGFyZ3MuTGVu
Z3RoKCkgPT0gMikKICAgICAgICAgICAgIG9mZnNldCA9IHRvVUludDMyKGFyZ3NbMV0pOwogICAg
ICAgICBpZiAoIWltcGwtPnNldChzcmMsIG9mZnNldCkpCi0gICAgICAgICAgICBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oSU5ERVhfU0laRV9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAg
ICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oSU5ERVhfU0laRV9FUlIsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9
CiAKQEAgLTIxNSwyMyArMjExLDIyIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzZXRXZWJHTEFy
cmF5SGVscGVyKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgICAgIHVpbnQzMl90IGxl
bmd0aCA9IHRvVUludDMyKGFycmF5LT5HZXQodjg6OlN0cmluZzo6TmV3KCJsZW5ndGgiKSkpOwog
ICAgICAgICBpZiAob2Zmc2V0ID4gaW1wbC0+bGVuZ3RoKCkKICAgICAgICAgICAgIHx8IG9mZnNl
dCArIGxlbmd0aCA+IGltcGwtPmxlbmd0aCgpCi0gICAgICAgICAgICB8fCBvZmZzZXQgKyBsZW5n
dGggPCBvZmZzZXQpCisgICAgICAgICAgICB8fCBvZmZzZXQgKyBsZW5ndGggPCBvZmZzZXQpIHsK
ICAgICAgICAgICAgIC8vIE91dCBvZiByYW5nZSBvZmZzZXQgb3Igb3ZlcmZsb3cKLSAgICAgICAg
ICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihJTkRFWF9TSVpFX0VSUiwgYXJncy5HZXRJc29s
YXRlKCkpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGlmICghZmFzdFNldEluc3RhbGxl
ZChhcmdzLkhvbGRlcigpKSkgewotICAgICAgICAgICAgICAgIGluc3RhbGxGYXN0U2V0KGFyZ3Mu
SG9sZGVyKCkpOwotICAgICAgICAgICAgICAgIGNvcHlFbGVtZW50cyhhcmdzLkhvbGRlcigpLCBh
cnJheSwgb2Zmc2V0KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZm9y
ICh1aW50MzJfdCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQotICAgICAgICAgICAgICAgICAgICBp
bXBsLT5zZXQob2Zmc2V0ICsgaSwgYXJyYXktPkdldChpKS0+TnVtYmVyVmFsdWUoKSk7Ci0gICAg
ICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKElO
REVYX1NJWkVfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoIWZhc3RTZXRJbnN0YWxsZWQoYXJncy5Ib2xkZXIoKSkpIHsKKyAgICAgICAgICAgIGluc3Rh
bGxGYXN0U2V0KGFyZ3MuSG9sZGVyKCkpOworICAgICAgICAgICAgY29weUVsZW1lbnRzKGFyZ3Mu
SG9sZGVyKCksIGFycmF5LCBvZmZzZXQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Zm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQorICAgICAgICAgICAgICAgIGlt
cGwtPnNldChvZmZzZXQgKyBpLCBhcnJheS0+R2V0KGkpLT5OdW1iZXJWYWx1ZSgpKTsKICAgICAg
ICAgfQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIH0KIAotICAgIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAg
cmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oU1lOVEFYX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3Vz
dG9tLmNwcAppbmRleCA5ODI0YjAxY2VkNjM0ZTFkYTM2MGJkZGZlYjc2NDFiY2RmMzliMDUxLi41
NWNhMDA5ZGQ5M2RkZDIxYzM2ZDlkM2NhMDFhZWJjY2E1OTY5NDI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAK
QEAgLTc5LDEwICs3OSw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBXaW5kb3dTZXRUaW1lb3V0
SW1wbChjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLCBib29sIHNpbmdsCiAgICAgRE9NV2luZG93
KiBpbXAgPSBWOERPTVdpbmRvdzo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0Q29udGV4dCA9IHN0YXRpY19jYXN0PFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqPihpbXAtPmRvY3VtZW50KCkpOwogCi0gICAgaWYgKCFzY3JpcHRDb250ZXh0
KSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihJTlZBTElEX0FDQ0VTU19FUlIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAg
ICB9CisgICAgaWYgKCFzY3JpcHRDb250ZXh0KQorICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKElOVkFMSURfQUNDRVNTX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwogCiAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGZ1bmN0aW9uID0gYXJnc1swXTsKICAgICBXVEY6OlN0
cmluZyBmdW5jdGlvblN0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcAppbmRleCA5NTQxODhlM2I5YTRlMTY3YWY5
N2E1MmRkZGYwODcwZjcyZDEzODAwLi44Yzk0MzAwZjUzYjIzMmVlMTFjMjYwOTU5NmIxNjk3ODk4
YzBlN2YzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
YXRhVmlld0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RGF0YVZpZXdDdXN0b20uY3BwCkBAIC03NCwxMCArNzQsOCBAQCB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhEYXRhVmlldzo6Z2V0SW50OENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgRVhDRVBUSU9OX0JMT0NLKHVuc2ln
bmVkLCBieXRlT2Zmc2V0LCB0b1VJbnQzMihhcmdzWzBdKSk7CiAgICAgaW50OF90IHJlc3VsdCA9
IGltcC0+Z2V0SW50OChieXRlT2Zmc2V0LCBlYyk7Ci0gICAgaWYgKFVOTElLRUxZKGVjKSkgewot
ICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsK
LSAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwotICAgIH0KKyAgICBpZiAo
VU5MSUtFTFkoZWMpKQorICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVj
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpJbnRlZ2VyOjpOZXcocmVzdWx0
KTsKIH0KIApAQCAtOTEsMTAgKzg5LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGF0YVZp
ZXc6OmdldFVpbnQ4Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKICAgICBFWENFUFRJT05fQkxPQ0sodW5zaWduZWQsIGJ5dGVPZmZz
ZXQsIHRvVUludDMyKGFyZ3NbMF0pKTsKICAgICB1aW50OF90IHJlc3VsdCA9IGltcC0+Z2V0VWlu
dDgoYnl0ZU9mZnNldCwgZWMpOwotICAgIGlmIChVTkxJS0VMWShlYykpIHsKLSAgICAgICAgVjhQ
cm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgICAgIHJl
dHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKLSAgICB9CisgICAgaWYgKFVOTElLRUxZKGVj
KSkKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJ
c29sYXRlKCkpOwogICAgIHJldHVybiB2ODo6SW50ZWdlcjo6TmV3KHJlc3VsdCk7CiB9CiAKQEAg
LTExMCw3ICsxMDYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6c2V0SW50
OENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgRVhDRVBUSU9OX0JMT0NL
KGludCwgdmFsdWUsIHRvSW50MzIoYXJnc1sxXSkpOwogICAgIGltcC0+c2V0SW50OChieXRlT2Zm
c2V0LCBzdGF0aWNfY2FzdDxpbnQ4X3Q+KHZhbHVlKSwgZWMpOwogICAgIGlmIChVTkxJS0VMWShl
YykpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwogfQogCkBA
IC0xMjYsNyArMTIyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGF0YVZpZXc6OnNldFVp
bnQ4Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICBFWENFUFRJT05fQkxP
Q0soaW50LCB2YWx1ZSwgdG9JbnQzMihhcmdzWzFdKSk7CiAgICAgaW1wLT5zZXRVaW50OChieXRl
T2Zmc2V0LCBzdGF0aWNfY2FzdDx1aW50OF90Pih2YWx1ZSksIGVjKTsKICAgICBpZiAoVU5MSUtF
TFkoZWMpKQotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJn
cy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGlyZWN0
b3J5RW50cnlTeW5jQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERpcmVjdG9yeUVudHJ5U3luY0N1c3RvbS5jcHAKaW5kZXggNTEzNWJjZTMzOGNmMTY3MzAy
ZDVkY2M5YjlhYzg1OWRhYzgwYzA3Yi4uNzEzYjgwZjMwZDQ2NmZiYzY1MjA2ZTZhMWZiZWQ1Mzk5
MzFmMTgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGlyZWN0b3J5RW50cnlTeW5jQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhEaXJlY3RvcnlFbnRyeVN5bmNDdXN0b20uY3BwCkBAIC05OCwxNSArOTgs
MTEgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJl
Y3RvcnlDYWxsYmFjayhjb25zdCB2ODo6QXJndW0KICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
ICAgICBTVFJJTkdfVE9fVjhQQVJBTUVURVJfRVhDRVBUSU9OX0JMT0NLKFY4UGFyYW1ldGVyPD4s
IHBhdGgsIGFyZ3NbMF0pOwogICAgIFJlZlB0cjxXZWJLaXRGbGFncz4gZmxhZ3MgPSBnZXRGbGFn
cyhhcmdzWzFdLCBlYyk7Ci0gICAgaWYgKFVOTElLRUxZKGVjKSkgewotICAgICAgICBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICAgICAgcmV0dXJu
IHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwotICAgIH0KKyAgICBpZiAoVU5MSUtFTFkoZWMpKQor
ICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xh
dGUoKSk7CiAgICAgUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gcmVzdWx0ID0gaW1wLT5nZXRE
aXJlY3RvcnkocGF0aCwgZmxhZ3MsIGVjKTsKLSAgICBpZiAoVU5MSUtFTFkoZWMpKSB7Ci0gICAg
ICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwotICAg
ICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Ci0gICAgfQorICAgIGlmIChVTkxJ
S0VMWShlYykpCisgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOChyZXN1bHQucmVsZWFzZSgpLCBhcmdz
LkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTExNywxNSArMTEzLDExIEBAIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOERpcmVjdG9yeUVudHJ5U3luYzo6Z2V0RmlsZUNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgU1RSSU5HX1RPX1Y4UEFS
QU1FVEVSX0VYQ0VQVElPTl9CTE9DSyhWOFBhcmFtZXRlcjw+LCBwYXRoLCBhcmdzWzBdKTsKICAg
ICBSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzID0gZ2V0RmxhZ3MoYXJnc1sxXSwgZWMpOwotICAg
IGlmIChVTkxJS0VMWShlYykpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVj
LCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4oKTsKLSAgICB9CisgICAgaWYgKFVOTElLRUxZKGVjKSkKKyAgICAgICAgcmV0dXJuIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIFJlZlB0cjxG
aWxlRW50cnlTeW5jPiByZXN1bHQgPSBpbXAtPmdldEZpbGUocGF0aCwgZmxhZ3MsIGVjKTsKLSAg
ICBpZiAoVU5MSUtFTFkoZWMpKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOwotICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFs
dWU+KCk7Ci0gICAgfQorICAgIGlmIChVTkxJS0VMWShlYykpCisgICAgICAgIHJldHVybiBWOFBy
b3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4g
dG9WOChyZXN1bHQucmVsZWFzZSgpLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxPcHRpb25zQ29sbGVj
dGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
T3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwCmluZGV4IDJlYzZmMTE5YmNiYTNhNmFmZGY3YzFh
ZTA1NmJiMTIzYzMyNTE3NmUuLjQ0MTg3Yzk3OWZlMGUwMmE5MDZjYTk1M2FlNDdkMGEyZTBmZTU0
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxP
cHRpb25zQ29sbGVjdGlvbkN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcApAQCAtNTUsMTAgKzU1
LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpyZW1v
dmVDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnQKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhU
TUxPcHRpb25zQ29sbGVjdGlvbjo6YWRkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJn
cykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5IVE1MT3B0aW9uc0NvbGxlY3Rpb24uYWRkKCkiKTsK
LSAgICBpZiAoIVY4SFRNTE9wdGlvbkVsZW1lbnQ6Okhhc0luc3RhbmNlKGFyZ3NbMF0pKSB7Ci0g
ICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihUWVBFX01JU01BVENIX0VSUiwgYXJncy5H
ZXRJc29sYXRlKCkpOwotICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwotICAgIH0KKyAg
ICBpZiAoIVY4SFRNTE9wdGlvbkVsZW1lbnQ6Okhhc0luc3RhbmNlKGFyZ3NbMF0pKQorICAgICAg
ICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFRZUEVfTUlTTUFUQ0hfRVJSLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAgICAgSFRNTE9wdGlvbnNDb2xsZWN0aW9uKiBpbXAgPSBWOEhUTUxP
cHRpb25zQ29sbGVjdGlvbjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgSFRNTE9wdGlv
bkVsZW1lbnQqIG9wdGlvbiA9IFY4SFRNTE9wdGlvbkVsZW1lbnQ6OnRvTmF0aXZlKHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4odjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkpOwog
CkBAIC03OSw4ICs3Nyw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxPcHRpb25zQ29s
bGVjdGlvbjo6YWRkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICAgICAgICAgIGlt
cC0+YWRkKG9wdGlvbiwgaW5kZXgsIGVjKTsKICAgICB9CiAKLSAgICBpZiAoZWMgIT0gMCkKLSAg
ICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Cisg
ICAgaWYgKGVjKQorICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApp
bmRleCA3MWU0NzFhMjY5YWM5OTM2OWIxNDg4MTZhZDg0NWZmNWYyNWMwYzE0Li4zODQ4ZDVjOWMz
NzcwZTkzNTQ5M2M0MWVmZWRiNjI0ODRlMzFhNDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApAQCAtNzMsMTAgKzczLDggQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKICAgICBOb2RlKiBuZXdDaGlsZCA9IFY4Tm9kZTo6SGFzSW5z
dGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46
OkNhc3QoYXJnc1swXSkpIDogMDsKICAgICBOb2RlKiByZWZDaGlsZCA9IFY4Tm9kZTo6SGFzSW5z
dGFuY2UoYXJnc1sxXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46
OkNhc3QoYXJnc1sxXSkpIDogMDsKICAgICBib29sIHN1Y2Nlc3MgPSBpbXAtPmluc2VydEJlZm9y
ZShuZXdDaGlsZCwgcmVmQ2hpbGQsIGVjLCB0cnVlKTsKLSAgICBpZiAoZWMpIHsKLSAgICAgICAg
VjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgICAg
IHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKLSAgICB9CisgICAgaWYgKGVjKQorICAg
ICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUo
KSk7CiAgICAgaWYgKHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybiBhcmdzWzBdOwogICAgIHJldHVy
biB2ODo6TnVsbCgpOwpAQCAtOTIsMTAgKzkwLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
Tm9kZTo6cmVwbGFjZUNoaWxkQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAg
ICBOb2RlKiBuZXdDaGlsZCA9IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6
OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKICAg
ICBOb2RlKiBvbGRDaGlsZCA9IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOE5vZGU6
OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMDsKICAg
ICBib29sIHN1Y2Nlc3MgPSBpbXAtPnJlcGxhY2VDaGlsZChuZXdDaGlsZCwgb2xkQ2hpbGQsIGVj
LCB0cnVlKTsKLSAgICBpZiAoZWMpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4oKTsKLSAgICB9CisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0
RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgaWYgKHN1Y2Nlc3MpCiAg
ICAgICAgIHJldHVybiBhcmdzWzFdOwogICAgIHJldHVybiB2ODo6TnVsbCgpOwpAQCAtMTA5LDEw
ICsxMDUsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2RlOjpyZW1vdmVDaGlsZENhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
CiAgICAgTm9kZSogb2xkQ2hpbGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhO
b2RlOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7
CiAgICAgYm9vbCBzdWNjZXNzID0gaW1wLT5yZW1vdmVDaGlsZChvbGRDaGlsZCwgZWMpOwotICAg
IGlmIChlYykgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKLSAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwotICAg
IH0KKyAgICBpZiAoZWMpCisgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24o
ZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoc3VjY2VzcykKICAgICAgICAgcmV0dXJu
IGFyZ3NbMF07CiAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CkBAIC0xMjcsMTAgKzEyMSw4IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vZGU6OmFwcGVuZENoaWxkQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBOb2RlKiBu
ZXdDaGlsZCA9IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6OnRvTmF0aXZl
KHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKICAgICBib29sIHN1
Y2Nlc3MgPSBpbXAtPmFwcGVuZENoaWxkKG5ld0NoaWxkLCBlYywgdHJ1ZSApOwotICAgIGlmIChl
YykgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKLSAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwotICAgIH0KKyAg
ICBpZiAoZWMpCisgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoc3VjY2VzcykKICAgICAgICAgcmV0dXJuIGFyZ3Nb
MF07CiAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHTGVuZ3RoQ3VzdG9tLmNwcAppbmRleCAxMGEwNzM1ZGE0
NDY0ZWM5NGI1YzcxMjdhMTc3MWI2YzBmNzliNTNjLi43NmZiZjcyNTEwOGEwNzJiOWY0MTY1NzRi
NTM0YWU2ZjIyNjdlYjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTVkdMZW5ndGhDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFNWR0xlbmd0aEN1c3RvbS5jcHAKQEAgLTQ5LDEwICs0OSw4IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6dmFsdWVBY2Nlc3NvckdldHRlcih2ODo6TG9j
YWw8djg6OlN0cmluZz4gbmFtCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgU1ZHTGVu
Z3RoQ29udGV4dCBsZW5ndGhDb250ZXh0KHdyYXBwZXItPmNvbnRleHRFbGVtZW50KCkpOwogICAg
IGZsb2F0IHZhbHVlID0gaW1wLnZhbHVlKGxlbmd0aENvbnRleHQsIGVjKTsKLSAgICBpZiAoVU5M
SUtFTFkoZWMpKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgaW5mby5H
ZXRJc29sYXRlKCkpOwotICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Ci0g
ICAgfQorICAgIGlmIChVTkxJS0VMWShlYykpCisgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjg6Ok51bWJl
cjo6TmV3KHZhbHVlKTsKIH0KIApAQCAtODQsMTAgKzgyLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4U1ZHTGVuZ3RoOjpjb252ZXJ0VG9TcGVjaWZpZWRVbml0c0NhbGxiYWNrKGNvbnN0IHY4
OjpBcmcKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5TVkdMZW5ndGguY29udmVydFRvU3BlY2lmaWVk
VW5pdHMiKTsKICAgICBTVkdQcm9wZXJ0eVRlYXJPZmY8U1ZHTGVuZ3RoPiogd3JhcHBlciA9IFY4
U1ZHTGVuZ3RoOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKLSAgICBpZiAod3JhcHBlci0+cm9s
ZSgpID09IEFuaW1WYWxSb2xlKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihO
T19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlIsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICAgICAg
cmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwotICAgIH0KKyAgICBpZiAod3JhcHBlci0+
cm9sZSgpID09IEFuaW1WYWxSb2xlKQorICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhj
ZXB0aW9uKE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiwgYXJncy5HZXRJc29sYXRlKCkpOwog
CiAgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPCAxKQogICAgICAgICByZXR1cm4gVjhQcm94eTo6dGhy
b3dOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihhcmdzLkdldElzb2xhdGUoKSk7CkBAIC05OCw5ICs5
NCw5IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFNWR0xlbmd0aDo6Y29udmVydFRvU3BlY2lm
aWVkVW5pdHNDYWxsYmFjayhjb25zdCB2ODo6QXJnCiAgICAgU1ZHTGVuZ3RoQ29udGV4dCBsZW5n
dGhDb250ZXh0KHdyYXBwZXItPmNvbnRleHRFbGVtZW50KCkpOwogICAgIGltcC5jb252ZXJ0VG9T
cGVjaWZpZWRVbml0cyh1bml0VHlwZSwgbGVuZ3RoQ29udGV4dCwgZWMpOwogICAgIGlmIChVTkxJ
S0VMWShlYykpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJ
c29sYXRlKCkpOwotICAgIGVsc2UKLSAgICAgICAgd3JhcHBlci0+Y29tbWl0Q2hhbmdlKCk7Cisg
ICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKworICAgIHdyYXBwZXItPmNvbW1pdENoYW5nZSgpOwogICAgIHJldHVybiB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKaW5kZXggZWU5ZDFhN2M0NjVjZjgxYzk4NzliZDMzNGY4NWFiNGMzMWZiMDJiMy4uNWUyYTEx
ZjU5NThiZDdiZGNhMmI0ZGI4NTNkMzJjNjI2MTUxOGY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCkBAIC0yNDIsMTAgKzI0Miw4IEBAIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gZ2V0T2JqZWN0UGFyYW1ldGVyKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Ms
IE9iamVjCiAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
LSAgICBpZiAoZWMpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdz
LkdldElzb2xhdGUoKSk7Ci0gICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Ci0gICAgfQor
ICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB0b1Y4T2JqZWN0KGluZm8sIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKIH0KIApAQCAtMzIwLDEwICszMTgsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFt
ZXRlcgogICAgIHVuc2lnbmVkIGF0dGFjaG1lbnQgPSB0b0ludDMyKGFyZ3NbMV0pOwogICAgIHVu
c2lnbmVkIHBuYW1lID0gdG9JbnQzMihhcmdzWzJdKTsKICAgICBXZWJHTEdldEluZm8gaW5mbyA9
IGNvbnRleHQtPmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcih0YXJnZXQsIGF0dGFj
aG1lbnQsIHBuYW1lLCBlYyk7Ci0gICAgaWYgKGVjKSB7Ci0gICAgICAgIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwotICAgICAgICByZXR1cm4gdjg6OlVu
ZGVmaW5lZCgpOwotICAgIH0KKyAgICBpZiAoZWMpCisgICAgICAgIHJldHVybiBWOFByb3h5Ojpz
ZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdG9WOE9i
amVjdChpbmZvLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTMzOCwxMCArMzM0LDggQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRQYXJhbWV0
ZXJDYWxsYmFjayhjb25zdCB2ODo6QXIKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRl
eHQgPSBWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAg
ICAgdW5zaWduZWQgcG5hbWUgPSB0b0ludDMyKGFyZ3NbMF0pOwogICAgIFdlYkdMR2V0SW5mbyBp
bmZvID0gY29udGV4dC0+Z2V0UGFyYW1ldGVyKHBuYW1lLCBlYyk7Ci0gICAgaWYgKGVjKSB7Ci0g
ICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwot
ICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwotICAgIH0KKyAgICBpZiAoZWMpCisgICAg
ICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgp
KTsKICAgICByZXR1cm4gdG9WOE9iamVjdChpbmZvLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAK
QEAgLTM1OSwxMCArMzUzLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJp
bmdDb250ZXh0OjpnZXRQcm9ncmFtUGFyYW1ldGVyQ2FsbGJhY2soY29uc3QKICAgICBXZWJHTFBy
b2dyYW0qIHByb2dyYW0gPSBWOFdlYkdMUHJvZ3JhbTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBW
OFdlYkdMUHJvZ3JhbTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdz
WzBdKSkgOiAwOwogICAgIHVuc2lnbmVkIHBuYW1lID0gdG9JbnQzMihhcmdzWzFdKTsKICAgICBX
ZWJHTEdldEluZm8gaW5mbyA9IGNvbnRleHQtPmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwg
cG5hbWUsIGVjKTsKLSAgICBpZiAoZWMpIHsKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0
aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7Ci0gICAgfQorICAgIGlmIChlYykKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIHJldHVybiB0b1Y4T2JqZWN0KGlu
Zm8sIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKIH0KIApAQCAtMzg2LDEwICszNzgsOCBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFNoYWRlclBhcmFtZXRl
ckNhbGxiYWNrKGNvbnN0CiAgICAgV2ViR0xTaGFkZXIqIHNoYWRlciA9IFY4V2ViR0xTaGFkZXI6
Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhXZWJHTFNoYWRlcjo6dG9OYXRpdmUodjg6OkhhbmRs
ZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOwogICAgIHVuc2lnbmVkIHBuYW1lID0g
dG9JbnQzMihhcmdzWzFdKTsKICAgICBXZWJHTEdldEluZm8gaW5mbyA9IGNvbnRleHQtPmdldFNo
YWRlclBhcmFtZXRlcihzaGFkZXIsIHBuYW1lLCBlYyk7Ci0gICAgaWYgKGVjKSB7Ci0gICAgICAg
IFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwotICAgICAg
ICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwotICAgIH0KKyAgICBpZiAoZWMpCisgICAgICAgIHJl
dHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICByZXR1cm4gdG9WOE9iamVjdChpbmZvLCBhcmdzLkdldElzb2xhdGUoKSk7CiB9CiAKQEAgLTQz
MiwxMCArNDIyLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpnZXRVbmlmb3JtQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3UKICAgICBXZWJHTFVuaWZvcm1M
b2NhdGlvbiogbG9jYXRpb24gPSB0b1dlYkdMVW5pZm9ybUxvY2F0aW9uKGFyZ3NbMV0sIG9rKTsK
IAogICAgIFdlYkdMR2V0SW5mbyBpbmZvID0gY29udGV4dC0+Z2V0VW5pZm9ybShwcm9ncmFtLCBs
b2NhdGlvbiwgZWMpOwotICAgIGlmIChlYykgewotICAgICAgICBWOFByb3h5OjpzZXRET01FeGNl
cHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmlu
ZWQoKTsKLSAgICB9CisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHRvVjhPYmplY3Qo
aW5mbywgYXJncy5HZXRJc29sYXRlKCkpOwogfQogCkBAIC01MTcsNyArNTA1LDcgQEAgc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2ZXJ0ZXhBdHRyaWJBbmRVbmlmb3JtSGVscGVyZihjb25z
dCB2ODo6QXJndW1lbnRzJgogICAgICAgICAgICAgZGVmYXVsdDogQVNTRVJUX05PVF9SRUFDSEVE
KCk7IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIFY4UHJv
eHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwog
ICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIH0KIApAQCAtNTI5LDggKzUxNyw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmVydGV4QXR0cmliQW5kVW5pZm9ybUhl
bHBlcmYoY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICBmbG9hdCogZGF0YSA9IGpzQXJyYXlUb0Zs
b2F0QXJyYXkoYXJyYXksIGxlbik7CiAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBjb25zaWRlciBkaWZmZXJlbnQgLyBiZXR0ZXIgZXhjZXB0aW9uIHR5cGUuCi0gICAgICAgIFY4
UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0g
ICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKKyAgICAgICAgcmV0dXJuIFY4
UHJveHk6OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAg
ICAgfQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHN3aXRjaCAoZnVuY3Rpb25Ub0Nh
bGwpIHsKQEAgLTU0Niw3ICs1MzMsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZl
cnRleEF0dHJpYkFuZFVuaWZvcm1IZWxwZXJmKGNvbnN0IHY4OjpBcmd1bWVudHMmCiAgICAgfQog
ICAgIGZhc3RGcmVlKGRhdGEpOwogICAgIGlmIChlYykKLSAgICAgICAgVjhQcm94eTo6c2V0RE9N
RXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIHJldHVybiBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjg6
OlVuZGVmaW5lZCgpOwogfQogCkBAIC01ODMsNyArNTcwLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB1bmlmb3JtSGVscGVyaShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAg
ICAgICAgICAgZGVmYXVsdDogQVNTRVJUX05PVF9SRUFDSEVEKCk7IGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGlmIChlYykKLSAgICAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihl
YywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgICAgICByZXR1cm4gdjg6OlVu
ZGVmaW5lZCgpOwogICAgIH0KIApAQCAtNTk1LDggKzU4Miw3IEBAIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdW5pZm9ybUhlbHBlcmkoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywKICAg
ICBpbnQqIGRhdGEgPSBqc0FycmF5VG9JbnRBcnJheShhcnJheSwgbGVuKTsKICAgICBpZiAoIWRh
dGEpIHsKICAgICAgICAgLy8gRklYTUU6IGNvbnNpZGVyIGRpZmZlcmVudCAvIGJldHRlciBleGNl
cHRpb24gdHlwZS4KLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKLSAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVl
PigpOworICAgICAgICByZXR1cm4gVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKFNZTlRBWF9FUlIs
IGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICB9CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAg
ICAgc3dpdGNoIChmdW5jdGlvblRvQ2FsbCkgewpAQCAtNjA4LDcgKzU5NCw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdW5pZm9ybUhlbHBlcmkoY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncywKICAgICB9CiAgICAgZmFzdEZyZWUoZGF0YSk7CiAgICAgaWYgKGVjKQotICAgICAgICBW
OFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOwog
ICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiB9CiAKQEAgLTY5NCw3ICs2ODAsNyBAQCBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1NYXRyaXhIZWxwZXIoY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncywKICAgICAgICAgICAgIGRlZmF1bHQ6IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OyBicmVhazsKICAgICAgICAgfQogICAgICAgICBpZiAoZWMpCi0gICAgICAgICAgICBWOFByb3h5
OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgICAgIHJl
dHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICB9CiAKQEAgLTcwNiw4ICs2OTIsNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuaWZvcm1NYXRyaXhIZWxwZXIoY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncywKICAgICBmbG9hdCogZGF0YSA9IGpzQXJyYXlUb0Zsb2F0QXJy
YXkoYXJyYXksIGxlbik7CiAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgIC8vIEZJWE1FOiBjb25z
aWRlciBkaWZmZXJlbnQgLyBiZXR0ZXIgZXhjZXB0aW9uIHR5cGUuCi0gICAgICAgIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7Ci0gICAgICAg
IHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6
OnNldERPTUV4Y2VwdGlvbihTWU5UQVhfRVJSLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgfQog
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIHN3aXRjaCAobWF0cml4U2l6ZSkgewpAQCAt
NzE4LDcgKzcwMyw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdW5pZm9ybU1hdHJp
eEhlbHBlcihjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzLAogICAgIH0KICAgICBmYXN0RnJlZShk
YXRhKTsKICAgICBpZiAoZWMpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYywg
YXJncy5HZXRJc29sYXRlKCkpOyAKKyAgICAgICAgcmV0dXJuIFY4UHJveHk6OnNldERPTUV4Y2Vw
dGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOyAKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCmluZGV4IGRkN2E1
ZDVlMGFlZTIxNDU4ZjRiOWFiODJlMWIzYTA4MzY3NGIzOWQuLmU4NjFlNGFjYmIwOWFiNzJlNzVl
OTI5ODI3MzYxY2E5Y2JmZDkxM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2JzZXJ2ZXJDdXN0
b20uY3BwCkBAIC0xMTIsNyArMTEyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4V2ViS2l0
TXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2ZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWUKICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBpbXAtPm9ic2VydmUodGFyZ2V0LCBvcHRpb25zLCBh
dHRyaWJ1dGVGaWx0ZXIsIGVjKTsKICAgICBpZiAoZWMpCi0gICAgICAgIFY4UHJveHk6OnNldERP
TUV4Y2VwdGlvbihlYywgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICByZXR1cm4gVjhQcm94
eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBhcmdzLkdldElzb2xhdGUoKSk7CiAgICAgcmV0dXJuIHY4
OjpIYW5kbGU8djg6OlZhbHVlPigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKaW5kZXgg
NjYxNjNiYTVlYWMzOWVkM2FiNWU4OGE2MmNkMThmODEwOWFiYTQ5ZS4uNTg3ZmUzZTIzYzNlYzkx
NmNmYTMyNGZiMzQ2OWM2ZWE3NmJiNmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAt
NzQsMTAgKzc0LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6OnJl
c3BvbnNlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHIKICAgICAgICAgewogICAgICAg
ICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgICAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSB4bWxIdHRwUmVxdWVzdC0+cmVzcG9uc2VYTUwoZWMpOwotICAgICAgICAgICAgaWYgKGVj
KSB7Ci0gICAgICAgICAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdl
dElzb2xhdGUoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChlYykKKyAgICAgICAgICAgICAgICByZXR1cm4g
VjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAg
ICAgICByZXR1cm4gdG9WOChkb2N1bWVudCwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgICAgICB9
CiAKQEAgLTg2LDEwICs4NCw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFhNTEh0dHBSZXF1
ZXN0OjpyZXNwb25zZUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyCiAgICAgICAgIHsK
ICAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgICAgICAgICAgQmxvYiogYmxv
YiA9IHhtbEh0dHBSZXF1ZXN0LT5yZXNwb25zZUJsb2IoZWMpOwotICAgICAgICAgICAgaWYgKGVj
KSB7Ci0gICAgICAgICAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdl
dElzb2xhdGUoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChlYykKKyAgICAgICAgICAgICAgICByZXR1cm4g
VjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAg
ICAgICByZXR1cm4gdG9WOChibG9iLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgICAgIH0KICNl
bHNlCkBAIC0xMDAsMTAgKzk2LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJl
cXVlc3Q6OnJlc3BvbnNlQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHIKICAgICAgICAg
ewogICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgICAgICBBcnJheUJ1
ZmZlciogYXJyYXlCdWZmZXIgPSB4bWxIdHRwUmVxdWVzdC0+cmVzcG9uc2VBcnJheUJ1ZmZlcihl
Yyk7Ci0gICAgICAgICAgICBpZiAoZWMpIHsKLSAgICAgICAgICAgICAgICBWOFByb3h5OjpzZXRE
T01FeGNlcHRpb24oZWMsIGluZm8uR2V0SXNvbGF0ZSgpKTsKLSAgICAgICAgICAgICAgICByZXR1
cm4gdjg6OlVuZGVmaW5lZCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGVjKQor
ICAgICAgICAgICAgICAgIHJldHVybiBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oZWMsIGluZm8u
R2V0SXNvbGF0ZSgpKTsKICAgICAgICAgICAgIHJldHVybiB0b1Y4KGFycmF5QnVmZmVyLCBpbmZv
LkdldElzb2xhdGUoKSk7CiAgICAgICAgIH0KICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>