<?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>233998</bug_id>
          
          <creation_ts>2021-12-08 04:21:46 -0800</creation_ts>
          <short_desc>GraphicsContextGLCocoa should signal forceContextLost immediately if prepareForDisplay fails to allocate drawing buffer</short_desc>
          <delta_ts>2021-12-15 04:22:15 -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>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>221664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821503</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-08 04:21:46 -0800</bug_when>
    <thetext>GraphicsContextGLCocoa should signal forceContextLost immediately if prepareForDisplay fails to allocate next drawing buffer

Currently it expects to signal failure when makeContextCurrent fails when called with null drawing buffer

The makeContextCurrent is used universally to make the context current, also during initialisation when we do not yet have a drawing buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822002</commentid>
    <comment_count>1</comment_count>
      <attachid>446500</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-08 22:19:55 -0800</bug_when>
    <thetext>Created attachment 446500
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824313</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-15 04:22:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/86516651&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446500</attachid>
            <date>2021-12-08 22:19:55 -0800</date>
            <delta_ts>2021-12-08 22:43:35 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-233998-20211209081953.patch</filename>
            <type>text/plain</type>
            <size>18781</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWM3YmYyYjlmMWNjMDhk
MjBhODg1Nzc3ODZiODMxNTg5MWI4MGI2Ni4uYzNjNmZjNmMyZDQ2YjQ5MDQ5ZGMxNGYzOTAyOGJl
NjYyNGQzZTVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEyLTA4ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRSBkZWxpdmVycyBjb250ZXh0IGxvc3QgdHdpY2Ugd2hlbiByZXNoYXBlIGZhaWxz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5OTQK
KworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBSZXB1cnBv
c2UgcmVzaGFwZUZCT3MgcmV0dXJuIHZhbHVlIHRvIHNpZ25pZnkgZXJyb3IgaW5zdGVhZCBvZgor
ICAgICAgICAibXVzdCByZWJpbmQgZmJvIi4KKyAgICAgICAgUHJldmlvdXNseSByZXNoYXBGQk9z
IHdvdWxkIGNvbnRpbnVlIGFmdGVyIHRoZSBjYWxsZWQgZnVuY3Rpb25zIHdvdWxkCisgICAgICAg
IGhhdmUgZXJyb3JzLiBUaGUgZnVuY3Rpb24gd291bGQgY2FsbCB0aGUgZm9yY2VDb250ZXh0TG9z
dCB1cG9uCisgICAgICAgIGZpcnN0IGVycm9yIGluIHJlc2hhcGVEaXNwbGF5QnVmZmVyQmFja2lu
ZyBhbmQgdGhlbiBzZWNvbmQgdGltZQorICAgICAgICBpbiByZXNoYXBlRkJPcyBkdXJpbmcgbGFz
dCBlcnJvciBjaGVjayBgaWYgKGVycm9yICE9IEdMX05PX0VSUk9SKWAKKworICAgICAgICBSZW1v
dmUgbG9naWMgZm9yIGF2b2lkaW5nIHRoZSByZWJpbmQgb2YgY2xpZW50IGZib3MsIGFzIHRoYXQg
aXMgY3VycmVudGx5CisgICAgICAgIG5vdCBjb3JyZWN0IGluIGFsbCBicmFuY2hlcy4KKyAgICAg
ICAgSW5zdGVhZCwgYWx3YXlzIHJlYmluZCB0aGUgY2xpZW50IEZCTy4gQU5HTEUgd2lsbCBvcHRp
bWl6ZSB0aGVzZS4KKyAgICAgICAgTGF0ZXIgb24sIHN0YXRlIG1hbmFnZW1lbnQgY2FuIGJlIG1h
ZGUgbW9yZSBjb3JyZWN0IHdpdGggcmViaW5kCisgICAgICAgIGF2b2lkYW5jZSB1c2luZyBsYXJn
ZXIgZGlydHkgc3RhdGUgc3RvcmUuCisKKyAgICAgICAgQWRkcyBhIHVuaXQgdGVzdCB0ZXN0aW5n
IHRoZSBiZWhhdmlvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cmVzaGFwZUZCT3MpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVkZWQpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOgorCiAyMDIxLTEy
LTA4ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAg
U2hvdyBjb3JyZWN0IGNvbnRlbnQgbWVudSBmb3IgaW1hZ2VzIHNlcnZpY2VzIGNoZXZyb24uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGlj
c0NvbnRleHRHTEFOR0xFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Fu
Z2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCmluZGV4IDRlMzA2ZjQ1MDAyMDY4MzIwZGUw
YTZhNjEwNjlkMDE0MzViNzAyYzEuLmMzNzM3Y2E4OGQ2OGRmN2FiZmMzMGEzMmEyNjEwNzBmZWYz
NDYxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xl
L0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCkBAIC0xOTIsNyArMTky
LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjp2YWxpZGF0ZUF0dHJpYnV0ZXMoKQog
ICAgIHZhbGlkYXRlRGVwdGhTdGVuY2lsKHBhY2tlZERlcHRoU3RlbmNpbEV4dGVuc2lvbk5hbWUp
OwogfQogCi1ib29sIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlc2hhcGVGQk9zKGNvbnN0IElu
dFNpemUmIHNpemUpCitHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpSZXN1bHQgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRTo6cmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAgICBhdXRv
IGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsKICAgICBjb25zdCBpbnQgd2lkdGggPSBzaXpl
LndpZHRoKCk7CkBAIC0yMjYsMTkgKzIyNiwxOSBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMQU5H
TEU6OnJlc2hhcGVGQk9zKGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgICAgIH0KICAgICAgICAg
R0xfQmluZFJlbmRlcmJ1ZmZlcihHTF9SRU5ERVJCVUZGRVIsIDApOwogICAgICAgICBpZiAoR0xf
Q2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHTF9GUkFNRUJVRkZFUikgIT0gR0xfRlJBTUVCVUZGRVJf
Q09NUExFVEUpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBjbGVhbnVwLgotICAgICAgICAgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoZmFsc2Us
ICJoZXJlMSIpOworICAgICAgICAgICAgcmV0dXJuIFJlc3VsdDo6RmFpbHVyZTsKICAgICAgICAg
fQogICAgIH0KIAogICAgIC8vIHJlc2l6ZSByZWd1bGFyIEZCTwogICAgIEdMX0JpbmRGcmFtZWJ1
ZmZlcihHTF9GUkFNRUJVRkZFUiwgbV9mYm8pOwogCi0gICAgaWYgKCFyZXNoYXBlRGlzcGxheUJ1
ZmZlckJhY2tpbmcoKSkgewotICAgICAgICBSRUxFQVNFX0xPRyhXZWJHTCwgIkZhdGFsOiBVbmFi
bGUgdG8gYWxsb2NhdGUgYmFja2luZyBzdG9yZSBvZiBzaXplICVkIHggJWQiLCB3aWR0aCwgaGVp
Z2h0KTsKLSAgICAgICAgZm9yY2VDb250ZXh0TG9zdCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICBpZiAocmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkgPT0gUmVzdWx0OjpGYWlsdXJl
KSB7CisgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoZmFsc2UsICJoZXJlMiIpOworICAgICAg
ICByZXR1cm4gUmVzdWx0OjpGYWlsdXJlOwogICAgIH0KKwogICAgIGlmIChtX3ByZXNlcnZlRHJh
d2luZ0J1ZmZlclRleHR1cmUpIHsKICAgICAgICAgLy8gVGhlIGNvbnRleHQgcmVxdWlyZXMgdGhl
IHVzZSBvZiBhbiBpbnRlcm1lZGlhdGUgdGV4dHVyZSBpbiBvcmRlciB0byBpbXBsZW1lbnQKICAg
ICAgICAgLy8gcHJlc2VydmVEcmF3aW5nQnVmZmVyOnRydWUgd2l0aG91dCBhbnRpYWxpYXNpbmcu
CkBAIC0yNTksMTcgKzI1OSwxMSBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlc2hh
cGVGQk9zKGNvbnN0IEludFNpemUmIHNpemUpCiAKICAgICBhdHRhY2hEZXB0aEFuZFN0ZW5jaWxC
dWZmZXJJZk5lZWRlZChtX2ludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0
KTsKIAotICAgIGJvb2wgbXVzdFJlc3RvcmVGQk8gPSB0cnVlOwotICAgIGlmIChhdHRycy5hbnRp
YWxpYXMpIHsKLSAgICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBtX211
bHRpc2FtcGxlRkJPKTsKLSAgICAgICAgaWYgKG1fc3RhdGUuYm91bmREcmF3RkJPID09IG1fbXVs
dGlzYW1wbGVGQk8gJiYgbV9zdGF0ZS5ib3VuZFJlYWRGQk8gPT0gbV9tdWx0aXNhbXBsZUZCTykK
LSAgICAgICAgICAgIG11c3RSZXN0b3JlRkJPID0gZmFsc2U7Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgaWYgKG1fc3RhdGUuYm91bmREcmF3RkJPID09IG1fZmJvICYmIG1fc3RhdGUuYm91bmRSZWFk
RkJPID09IG1fZmJvKQotICAgICAgICAgICAgbXVzdFJlc3RvcmVGQk8gPSBmYWxzZTsKKyAgICBp
ZiAoR0xfQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhHTF9GUkFNRUJVRkZFUikgIT0gR0xfRlJBTUVC
VUZGRVJfQ09NUExFVEUpIHsKKyAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShmYWxzZSwgImhl
cmUzIik7CisgICAgICAgIHJldHVybiBSZXN1bHQ6OkZhaWx1cmU7CiAgICAgfQotCi0gICAgcmV0
dXJuIG11c3RSZXN0b3JlRkJPOworICAgIHJldHVybiBSZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAKIHZv
aWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZO
ZWVkZWQoR0x1aW50IGludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpCkBAIC0yOTEsMTEgKzI4NSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6
YXR0YWNoRGVwdGhBbmRTdGVuY2lsQnVmZmVySWZOZWVkZWQoR0x1aW50IGludGVybmFsCiAgICAg
ICAgIH0KICAgICAgICAgR0xfQmluZFJlbmRlcmJ1ZmZlcihHTF9SRU5ERVJCVUZGRVIsIDApOwog
ICAgIH0KLQotICAgIGlmIChHTF9DaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMX0ZSQU1FQlVGRkVS
KSAhPSBHTF9GUkFNRUJVRkZFUl9DT01QTEVURSkgewotICAgICAgICAvLyBGSVhNRTogY2xlYW51
cAotICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIH0KIH0KIAogdm9pZCBHcmFwaGljc0Nv
bnRleHRHTEFOR0xFOjpyZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KGNvbnN0IEludFJl
Y3QmIHJlY3QpCkBAIC02MTAsNyArNTk5LDExIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RTo6cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpCiAgICAgVGVtcG9yYXJ5QU5HTEVTZXR0
aW5nIHNjb3BlZERpdGhlcihHTF9ESVRIRVIsIEdMX0ZBTFNFKTsKICAgICBTY29wZWRCdWZmZXJC
aW5kaW5nIHNjb3BlZFBpeGVsVW5wYWNrQnVmZmVyUmVzZXQoR0xfUElYRUxfVU5QQUNLX0JVRkZF
UiwgMCwgbV9pc0ZvcldlYkdMMik7CiAKLSAgICBib29sIG11c3RSZXN0b3JlRkJPID0gcmVzaGFw
ZUZCT3MoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7CisgICAgaWYgKHJlc2hhcGVGQk9zKHsgd2lk
dGgsIGhlaWdodCB9KSA9PSBSZXN1bHQ6OkZhaWx1cmUpIHsKKyAgICAgICAgZm9yY2VDb250ZXh0
TG9zdCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgYXV0byBhdHRycyA9IGNvbnRl
eHRBdHRyaWJ1dGVzKCk7CiAKICAgICAvLyBJbml0aWFsaXplIHJlbmRlcmJ1ZmZlcnMgdG8gMC4K
QEAgLTY1NSwxMSArNjQ4LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBl
KGludCB3aWR0aCwgaW50IGhlaWdodCkKICAgICAgICAgR0xfU3RlbmNpbE1hc2tTZXBhcmF0ZShH
TF9CQUNLLCBzdGVuY2lsTWFza0JhY2spOwogICAgIH0KIAotICAgIGlmIChtdXN0UmVzdG9yZUZC
TykgewotICAgICAgICBHTF9CaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0R0w6OkZSQU1F
QlVGRkVSLCBtX3N0YXRlLmJvdW5kRHJhd0ZCTyk7Ci0gICAgICAgIGlmIChtX2lzRm9yV2ViR0wy
ICYmIG1fc3RhdGUuYm91bmREcmF3RkJPICE9IG1fc3RhdGUuYm91bmRSZWFkRkJPKQotICAgICAg
ICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dEdMOjpSRUFEX0ZSQU1FQlVG
RkVSLCBtX3N0YXRlLmJvdW5kUmVhZEZCTyk7Ci0gICAgfQorICAgIEdMX0JpbmRGcmFtZWJ1ZmZl
cihHcmFwaGljc0NvbnRleHRHTDo6RlJBTUVCVUZGRVIsIG1fc3RhdGUuYm91bmREcmF3RkJPKTsK
KyAgICBpZiAobV9pc0ZvcldlYkdMMiAmJiBtX3N0YXRlLmJvdW5kRHJhd0ZCTyAhPSBtX3N0YXRl
LmJvdW5kUmVhZEZCTykKKyAgICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4
dEdMOjpSRUFEX0ZSQU1FQlVGRkVSLCBtX3N0YXRlLmJvdW5kUmVhZEZCTyk7CiAKICAgICBhdXRv
IGVycm9yID0gR0xfR2V0RXJyb3IoKTsKICAgICBpZiAoZXJyb3IgIT0gR0xfTk9fRVJST1IpIHsK
QEAgLTI4OTAsMTAgKzI4ODEsMTAgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjptdWx0
aURyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFKEdDR0xlbnVtIG1vZGUsIEdDR0wKICAgICBHTF9N
dWx0aURyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFKG1vZGUsIGNvdW50cy5kYXRhLCB0eXBlLCBw
b2ludGVycy5kYXRhKCksIGluc3RhbmNlQ291bnRzLmRhdGEsIGRyYXdjb3VudCk7CiB9CiAKLWJv
b2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkKK0dy
YXBoaWNzQ29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjp3YWl0
QW5kVXBkYXRlT2xkZXN0RnJhbWUoKQogewogICAgIHNpemVfdCBvbGRlc3RGcmFtZUNvbXBsZXRp
b25GZW5jZSA9IG1fb2xkZXN0RnJhbWVDb21wbGV0aW9uRmVuY2UrKyAlIG1heFBlbmRpbmdGcmFt
ZXM7Ci0gICAgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKKyAgICBSZXN1bHQgcmVzdWx0ID0gUmVzdWx0
OjpTdWNjZXNzOwogICAgIGlmIChTY29wZWRHTEZlbmNlIGZlbmNlID0gV1RGTW92ZShtX2ZyYW1l
Q29tcGxldGlvbkZlbmNlc1tvbGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZV0pKSB7CiAgICAgICAg
IC8vIFdhaXQgc28gdGhhdCByZW5kZXJpbmcgZG9lw5hzIG5vdCBnZXQgbW9yZSB0aGFuIG1heFBl
bmRpbmdGcmFtZXMgZnJhbWVzIGFoZWFkLgogICAgICAgICBHTGJpdGZpZWxkIGZsYWdzID0gR0xf
U1lOQ19GTFVTSF9DT01NQU5EU19CSVQ7CkBAIC0yOTAzLDEyICsyODk0LDEyIEBAIGJvb2wgR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRTo6d2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCkKICAgICAgICAg
Ly8gVGhpcyBtZWFucyB0aGUgY3JlYXRpb24gb2YgdGhpcyBmZW5jZSBoYXMgYWxyZWFkeSBiZWVu
IGZsdXNoZWQuCiAgICAgICAgIGZsYWdzID0gMDsKICNlbmRpZgotICAgICAgICBHTGVudW0gcmVz
dWx0ID0gR0xfQ2xpZW50V2FpdFN5bmMoZmVuY2UsIGZsYWdzLCBtYXhGcmFtZUR1cmF0aW9uLm5h
bm9zZWNvbmRzQXM8R0x1aW50NjQ+KCkpOwotICAgICAgICBBU1NFUlQocmVzdWx0ICE9IEdMX1dB
SVRfRkFJTEVEKTsKLSAgICAgICAgc3VjY2VzcyA9IHJlc3VsdCAhPSBHTF9XQUlUX0ZBSUxFRCAm
JiByZXN1bHQgIT0gR0xfVElNRU9VVF9FWFBJUkVEOworICAgICAgICBHTGVudW0gd2FpdFJlc3Vs
dCA9IEdMX0NsaWVudFdhaXRTeW5jKGZlbmNlLCBmbGFncywgbWF4RnJhbWVEdXJhdGlvbi5uYW5v
c2Vjb25kc0FzPEdMdWludDY0PigpKTsKKyAgICAgICAgQVNTRVJUKHdhaXRSZXN1bHQgIT0gR0xf
V0FJVF9GQUlMRUQpOworICAgICAgICByZXN1bHQgPSB3YWl0UmVzdWx0ICE9IEdMX1dBSVRfRkFJ
TEVEICYmIHdhaXRSZXN1bHQgIT0gR0xfVElNRU9VVF9FWFBJUkVEID8gUmVzdWx0OjpTdWNjZXNz
IDogUmVzdWx0OjpGYWlsdXJlOwogICAgIH0KICAgICBtX2ZyYW1lQ29tcGxldGlvbkZlbmNlc1tv
bGRlc3RGcmFtZUNvbXBsZXRpb25GZW5jZV0uZmVuY2VTeW5jKCk7Ci0gICAgcmV0dXJuIHN1Y2Nl
c3M7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xF
OjpzaW11bGF0ZUV2ZW50Rm9yVGVzdGluZyhTaW11bGF0ZWRFdmVudEZvclRlc3RpbmcgZXZlbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
bmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKaW5kZXggNDNkNWQyOTBkZDY4MmNhNTk2NTYw
MTEwYTY2YTVhN2RhOGY4NTJhMC4uM2MzM2M1ZjYxOTdkOGVkZmM2NzJlMTFkNjI3ZDE0NjhiOTYw
MGM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUv
R3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaApAQCAtMzgzLDE5ICszODMsMjEg
QEAgcHJvdGVjdGVkOgogICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IHJlYWRDb21wb3Np
dGVkUmVzdWx0cygpOwogICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IHJlYWRQaXhlbHNG
b3JQYWludFJlc3VsdHMoKTsKIAotICAgIGJvb2wgcmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYp
OworICAgIGVudW0gY2xhc3MgUmVzdWx0IDogYm9vbCB7CisgICAgICAgIEZhaWx1cmUgPSBmYWxz
ZSwKKyAgICAgICAgU3VjY2VzcyA9IHRydWUKKyAgICB9OworICAgIFJlc3VsdCByZXNoYXBlRkJP
cyhjb25zdCBJbnRTaXplJikgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIHZvaWQgcHJlcGFyZVRl
eHR1cmVJbXBsKCk7CiAgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KGNv
bnN0IEludFJlY3QmID0gSW50UmVjdCgpKTsKICAgICB2b2lkIGF0dGFjaERlcHRoQW5kU3RlbmNp
bEJ1ZmZlcklmTmVlZGVkKEdDR0x1aW50IGludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCBpbnQg
d2lkdGgsIGludCBoZWlnaHQpOwotCi0gICAgYm9vbCByZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tp
bmcoKTsKKyAgICBSZXN1bHQgcmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkgV0FSTl9VTlVT
RURfUkVUVVJOOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIGJvb2wgYWxsb2NhdGVBbmRCaW5k
RGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKLSAgICBib29sIGJpbmREaXNwbGF5QnVmZmVyQmFja2lu
ZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBwYnVmZmVyKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIFJlc3VsdCBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVm
ZmVyQmFja2luZygpIFdBUk5fVU5VU0VEX1JFVFVSTjsKKyAgICBSZXN1bHQgYmluZERpc3BsYXlC
dWZmZXJCYWNraW5nKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IGJhY2tpbmcsIHZvaWQqIHBi
dWZmZXIpIFdBUk5fVU5VU0VEX1JFVFVSTjsKICAgICBzdGF0aWMgYm9vbCBtYWtlQ3VycmVudChQ
bGF0Zm9ybUdyYXBoaWNzQ29udGV4dEdMRGlzcGxheSwgUGxhdGZvcm1HcmFwaGljc0NvbnRleHRH
TCk7CiAjZW5kaWYKLSAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIGNvbnRleHQgc2hvdWxkIGJlIGxv
c3QgZHVlIHRvIHRpbWVvdXQuCi0gICAgYm9vbCB3YWl0QW5kVXBkYXRlT2xkZXN0RnJhbWUoKSBX
QVJOX1VOVVNFRF9SRVRVUk47CisgICAgUmVzdWx0IHdhaXRBbmRVcGRhdGVPbGRlc3RGcmFtZSgp
IFdBUk5fVU5VU0VEX1JFVFVSTjsKIAogICAgIC8vIFBsYXRmb3JtIHNwZWNpZmljIGJlaGF2aW9y
IGZvciByZWxlYXNlUmVzb3VyY2VzKCk7CiAgICAgc3RhdGljIHZvaWQgcGxhdGZvcm1SZWxlYXNl
VGhyZWFkUmVzb3VyY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQppbmRleCA1
YWYzNWNjMzhhOGIyNzJmODgxNmZmZWJhYzNiZDczN2NiMDUwZDJlLi45ZTRmNTdhZDViNjFkNTA5
NDQ4ZTQwZDUxYTkxYzIxZjA4M2M1ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMQ29jb2Eu
bW0KQEAgLTUzMyw3ICs1MzMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMQ29jb2E6OnVwZGF0
ZUNvbnRleHRPbkRpc3BsYXlSZWNvbmZpZ3VyYXRpb24oKQogfQogI2VuZGlmCiAKLWJvb2wgR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRTo6cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkKK0dyYXBo
aWNzQ29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBl
RGlzcGxheUJ1ZmZlckJhY2tpbmcoKQogewogICAgIEFTU0VSVCghZ2V0SW50ZXJuYWxGcmFtZWJ1
ZmZlclNpemUoKS5pc0VtcHR5KCkpOwogICAgIC8vIFJlc2V0IHRoZSBjdXJyZW50IGJhY2tidWZm
ZXIgbm93IGJlZm9yZSBhbGxvY2F0aW5nIGEgbmV3IG9uZSBpbiBvcmRlciB0byBzbGlnaHRseSBy
ZWR1Y2UgbWVtb3J5IHByZXNzdXJlLgpAQCAtNTUxLDEyICs1NTEsMTIgQEAgYm9vbCBHcmFwaGlj
c0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRGlzcGxheUJ1ZmZlckJhY2tpbmcoKQogICAgIHJldHVy
biBhbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOwogfQogCi1ib29sIEdyYXBo
aWNzQ29udGV4dEdMQU5HTEU6OmFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKCkK
K0dyYXBoaWNzQ29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjph
bGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpCiB7CiAgICAgQVNTRVJUKCFnZXRJ
bnRlcm5hbEZyYW1lYnVmZmVyU2l6ZSgpLmlzRW1wdHkoKSk7CiAgICAgYXV0byBiYWNraW5nID0g
SU9TdXJmYWNlOjpjcmVhdGUoZ2V0SW50ZXJuYWxGcmFtZWJ1ZmZlclNpemUoKSwgRGVzdGluYXRp
b25Db2xvclNwYWNlOjpTUkdCKCkpOwogICAgIGlmICghYmFja2luZykKLSAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICByZXR1cm4gUmVzdWx0OjpGYWlsdXJlOwogCiAgICAgYmFja2luZy0+
bWlncmF0ZUNvbG9yU3BhY2VUb1Byb3BlcnRpZXMoKTsKIApAQCAtNTc2LDIyICs1NzYsMjIgQEAg
Ym9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVy
QmFja2luZygpCiAgICAgfTsKICAgICBFR0xTdXJmYWNlIHBidWZmZXIgPSBFR0xfQ3JlYXRlUGJ1
ZmZlckZyb21DbGllbnRCdWZmZXIobV9kaXNwbGF5T2JqLCBFR0xfSU9TVVJGQUNFX0FOR0xFLCBi
YWNraW5nLT5zdXJmYWNlKCksIG1fY29uZmlnT2JqLCBzdXJmYWNlQXR0cmlidXRlcyk7CiAgICAg
aWYgKCFwYnVmZmVyKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBSZXN1
bHQ6OkZhaWx1cmU7CiAgICAgcmV0dXJuIGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhXVEZNb3Zl
KGJhY2tpbmcpLCBwYnVmZmVyKTsKIH0KIAotYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpi
aW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4gYmFja2lu
Zywgdm9pZCogcGJ1ZmZlcikKK0dyYXBoaWNzQ29udGV4dEdMQU5HTEU6OlJlc3VsdCBHcmFwaGlj
c0NvbnRleHRHTEFOR0xFOjpiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoc3RkOjp1bmlxdWVfcHRy
PElPU3VyZmFjZT4gYmFja2luZywgdm9pZCogcGJ1ZmZlcikKIHsKICAgICBHQ0dMZW51bSB0ZXh0
dXJlVGFyZ2V0ID0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKICAgICBTY29wZWRSZXN0
b3JlVGV4dHVyZUJpbmRpbmcgcmVzdG9yZUJpbmRpbmcoZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJn
ZXRRdWVyeUZvckRyYXdpbmdUYXJnZXQodGV4dHVyZVRhcmdldCksIHRleHR1cmVUYXJnZXQsIHRl
eHR1cmVUYXJnZXQgIT0gVEVYVFVSRV9SRUNUQU5HTEVfQVJCKTsKICAgICBHTF9CaW5kVGV4dHVy
ZSh0ZXh0dXJlVGFyZ2V0LCBtX3RleHR1cmUpOwogICAgIGlmICghRUdMX0JpbmRUZXhJbWFnZSht
X2Rpc3BsYXlPYmosIHBidWZmZXIsIEVHTF9CQUNLX0JVRkZFUikpIHsKICAgICAgICAgRUdMX0Rl
c3Ryb3lTdXJmYWNlKG1fZGlzcGxheU9iaiwgcGJ1ZmZlcik7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuIFJlc3VsdDo6RmFpbHVyZTsKICAgICB9CiAgICAgbV9kaXNwbGF5
QnVmZmVyUGJ1ZmZlciA9IHBidWZmZXI7CiAgICAgbV9kaXNwbGF5QnVmZmVyQmFja2luZyA9IFdU
Rk1vdmUoYmFja2luZyk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIFJlc3VsdDo6U3Vj
Y2VzczsKIH0KIAogYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjptYWtlQ3VycmVudChQbGF0
Zm9ybUdyYXBoaWNzQ29udGV4dEdMRGlzcGxheSBkaXNwbGF5LCBQbGF0Zm9ybUdyYXBoaWNzQ29u
dGV4dEdMIGNvbnRleHQpCkBAIC02NzUsOCArNjc1LDEwIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cHJlcGFyZUZvckRpc3BsYXkoKQogewogICAgIGlmIChtX2xheWVyQ29tcG9zaXRl
ZCkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghbWFrZUNvbnRleHRDdXJyZW50KCkpCisgICAg
aWYgKCFtYWtlQ29udGV4dEN1cnJlbnQoKSkgeworICAgICAgICBmb3JjZUNvbnRleHRMb3N0KCk7
CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgcHJlcGFyZVRleHR1cmVJbXBsKCk7CiAKICAg
ICAvLyBUaGUgSU9TdXJmYWNlIHdpbGwgYmUgdXNlZCBmcm9tIG90aGVyIGdyYXBoaWNzIHN1YnN5
c3RlbSwgc28gZmx1c2ggR0wgY29tbWFuZHMuCkBAIC02OTAsMjIgKzY5MiwyNSBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dEdMQU5HTEU6OnByZXBhcmVGb3JEaXNwbGF5KCkKIAogICAgIGJvb2wgaGFz
TmV3QmFja2luZyA9IGZhbHNlOwogICAgIGlmIChyZWN5Y2xlZEJ1ZmZlci5zdXJmYWNlICYmIHJl
Y3ljbGVkQnVmZmVyLnN1cmZhY2UtPnNpemUoKSA9PSBnZXRJbnRlcm5hbEZyYW1lYnVmZmVyU2l6
ZSgpKSB7Ci0gICAgICAgIGhhc05ld0JhY2tpbmcgPSBiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmco
V1RGTW92ZShyZWN5Y2xlZEJ1ZmZlci5zdXJmYWNlKSwgcmVjeWNsZWRCdWZmZXIuaGFuZGxlKTsK
KyAgICAgICAgaGFzTmV3QmFja2luZyA9IGJpbmREaXNwbGF5QnVmZmVyQmFja2luZyhXVEZNb3Zl
KHJlY3ljbGVkQnVmZmVyLnN1cmZhY2UpLCByZWN5Y2xlZEJ1ZmZlci5oYW5kbGUpID09IFJlc3Vs
dDo6U3VjY2VzczsKICAgICAgICAgcmVjeWNsZWRCdWZmZXIuaGFuZGxlID0gbnVsbHB0cjsKICAg
ICB9CiAgICAgcmVjeWNsZWRCdWZmZXIuc3VyZmFjZS5yZXNldCgpOwogICAgIGlmIChyZWN5Y2xl
ZEJ1ZmZlci5oYW5kbGUpCiAgICAgICAgIEVHTF9EZXN0cm95U3VyZmFjZShtX2Rpc3BsYXlPYmos
IHJlY3ljbGVkQnVmZmVyLmhhbmRsZSk7CiAKLSAgICAvLyBFcnJvciB3aWxsIGJlIGhhbmRsZWQg
YnkgbmV4dCBjYWxsIHRvIG1ha2VDb250ZXh0Q3VycmVudCgpIHdoaWNoIHdpbGwgbm90aWNlIGxh
Y2sgb2YgZGlzcGxheSBidWZmZXIuCi0gICAgaWYgKCFoYXNOZXdCYWNraW5nKQotICAgICAgICBh
bGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygpOworICAgIGlmICghaGFzTmV3QmFj
a2luZykgeworICAgICAgICBpZiAoYWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmco
KSA9PSBSZXN1bHQ6OkZhaWx1cmUpIHsKKyAgICAgICAgICAgIGZvcmNlQ29udGV4dExvc3QoKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KIAogICAgIG1hcmtMYXllckNv
bXBvc2l0ZWQoKTsKIAogICAgIGlmIChtX3VzZUZlbmNlU3luY0ZvckRpc3BsYXlSYXRlTGltaXQp
IHsKLSAgICAgICAgYm9vbCBzdWNjZXNzID0gd2FpdEFuZFVwZGF0ZU9sZGVzdEZyYW1lKCk7Ci0g
ICAgICAgIFVOVVNFRF9WQVJJQUJMRShzdWNjZXNzKTsgLy8gRklYTUU6IGltcGxlbWVudCBjb250
ZXh0IGxvc3QuCisgICAgICAgIFJlc3VsdCByZXN1bHQgPSB3YWl0QW5kVXBkYXRlT2xkZXN0RnJh
bWUoKTsKKyAgICAgICAgVU5VU0VEX1ZBUklBQkxFKHJlc3VsdCk7IC8vIEZJWE1FOiBpbXBsZW1l
bnQgY29udGV4dCBsb3N0LgogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFO
R0xFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGlj
c0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAKaW5kZXggY2ZhZDg0MzhlODQ1OTUwMTJl
ZjE5MzNmZjZiZjgzN2YyNTI0NmE3NS4uOTVlMWM4NjhkNzE0MTJhZjdlZGFkOGNkMzg1ZjZkNzdm
Mjg0Y2FmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJl
TWFwcGVyQU5HTEUuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRH
TEFOR0xFOjpwcmVwYXJlRm9yRGlzcGxheSgpCiB7CiB9CiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cmVzaGFwZURpc3BsYXlCdWZmZXJCYWNraW5nKCkKK0dyYXBoaWNzQ29udGV4dEdM
QU5HTEU6OlJlc3VsdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRGlzcGxheUJ1ZmZl
ckJhY2tpbmcoKQogewogICAgIGF1dG8gYXR0cnMgPSBjb250ZXh0QXR0cmlidXRlcygpOwogICAg
IGNvbnN0IGF1dG8gc2l6ZSA9IGdldEludGVybmFsRnJhbWVidWZmZXJTaXplKCk7CkBAIC0yMDEs
NyArMjAxLDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpyZXNoYXBlRGlzcGxheUJ1
ZmZlckJhY2tpbmcoKQogICAgIEdMX0JpbmRUZXh0dXJlKHRleHR1cmVUYXJnZXQsIG1fdGV4dHVy
ZSk7CiAgICAgR0xfVGV4SW1hZ2UyRCh0ZXh0dXJlVGFyZ2V0LCAwLCBpbnRlcm5hbENvbG9yRm9y
bWF0LCB3aWR0aCwgaGVpZ2h0LCAwLCBjb2xvckZvcm1hdCwgR0xfVU5TSUdORURfQllURSwgMCk7
CiAgICAgR0xfRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FU
VEFDSE1FTlQwLCB0ZXh0dXJlVGFyZ2V0LCBtX3RleHR1cmUsIDApOwotICAgIHJldHVybiB0cnVl
OworICAgIHJldHVybiBSZXN1bHQ6OlN1Y2Nlc3M7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cGxhdGZvcm1SZWxlYXNlVGhyZWFkUmVzb3VyY2VzKCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmNWZkM2ZmYTU5YzE4NjAyNjEx
MGQ3ODZlYjcwMDIwODYzZTRhYzcwLi41ZTJkYWI1OWUzYmUwMDBmNWU0ODc1ZGNhMjQ0YzRjZDQ2
Zjk2ZWU2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTItMDggIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVu
QGFwcGxlLmNvbT4KKworICAgICAgICBHcmFwaGljc0NvbnRleHRHTEFOR0xFIGRlbGl2ZXJzIGNv
bnRleHQgbG9zdCB0d2ljZSB3aGVuIHJlc2hhcGUgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzk5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIEFkZCBhIHRlc3QgdGVzdGluZyB0aGF0IGlmIGFs
bG9jYXRpb24gb2YgdGhlIGJhY2tpbmcgc3RvcmUgZmFpbHMsCisgICAgICAgIGZvcmNlQ29udGV4
dExvc3QgR3JhcGhpY3NDb250ZXh0R0w6OkNsaWVudCBmdW5jdGlvbiBpcyBjYWxsZWQKKyAgICAg
ICAgb25jZSBhbmQgb25seSBvbmNlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL2NvY29hL1Rlc3RHcmFwaGljc0NvbnRleHRHTENvY29hLm1tOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVF9GKToKKwogMjAyMS0xMi0wOCAgS3lsZSBQaWRkaW5ndG9uICA8a3Bp
ZGRpbmd0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNDYXRhbHlzdF0gVXBkYXRlIGhlYWRl
ciBzZWFyY2ggcGF0aHMgZm9yIEFOR0xFIENhdGFseXN0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvVGVzdEdyYXBoaWNzQ29udGV4dEdMQ29jb2Eu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvVGVzdEdyYXBoaWNz
Q29udGV4dEdMQ29jb2EubW0KaW5kZXggODc2Yzc0NDgwOGY0MzYxZTNjZDUyZjUzZmZkNmY2MDAz
YThhMGY4Ny4uYWY3MDRkODI2YTYzM2RhMTAxMDk0NmU2NDRhYjk5MzlmYWM3NmQwOCAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL1Rlc3RHcmFwaGlj
c0NvbnRleHRHTENvY29hLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9jb2NvYS9UZXN0R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQpAQCAtNDAsNiArNDAsNDQgQEAg
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCiBuYW1lc3BhY2UgewogCitjbGFzcyBNb2NrR3Jh
cGhpY3NDb250ZXh0R0xDbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0w6
OkNsaWVudCB7CitwdWJsaWM6CisgICAgdm9pZCBkaWRDb21wb3NpdGUoKSBvdmVycmlkZSB7IGRp
ZENvbXBvc2l0ZUNhbGxlZCsrOyB9OworICAgIHZvaWQgZm9yY2VDb250ZXh0TG9zdCgpIG92ZXJy
aWRlIHsgZm9yY2VDb250ZXh0TG9zdENhbGxlZCsrOyB9OworICAgIHZvaWQgcmVjeWNsZUNvbnRl
eHQoKSBvdmVycmlkZSB7IHJlY3ljbGVDb250ZXh0Q2FsbGVkKys7IH07CisgICAgdm9pZCBkaXNw
YXRjaENvbnRleHRDaGFuZ2VkTm90aWZpY2F0aW9uKCkgb3ZlcnJpZGUgeyBkaXNwYXRjaENvbnRl
eHRDaGFuZ2VkTm90aWZpY2F0aW9uQ2FsbGVkKys7IH0KKyAgICBpbnQgZGlkQ29tcG9zaXRlQ2Fs
bGVkIHsgMCB9OworICAgIGludCBmb3JjZUNvbnRleHRMb3N0Q2FsbGVkIHsgMCB9OworICAgIGlu
dCByZWN5Y2xlQ29udGV4dENhbGxlZCB7IDAgfTsKKyAgICBpbnQgZGlzcGF0Y2hDb250ZXh0Q2hh
bmdlZE5vdGlmaWNhdGlvbkNhbGxlZCB7IDAgfTsKK307CisKK2NsYXNzIFRlc3RlZEdyYXBoaWNz
Q29udGV4dEdMQ29jb2EgOiBwdWJsaWMgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xDb2NvYSB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZlB0cjxUZXN0ZWRHcmFwaGljc0NvbnRleHRHTENvY29h
PiBjcmVhdGUoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiYgYXR0cmlidXRl
cykKKyAgICB7CisgICAgICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKCpuZXcgVGVzdGVkR3Jh
cGhpY3NDb250ZXh0R0xDb2NvYShXVEZNb3ZlKGF0dHJpYnV0ZXMpKSk7CisgICAgICAgIHJldHVy
biBjb250ZXh0OworICAgIH0KKyAgICBSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllckNvbnRl
bnRzRGlzcGxheURlbGVnYXRlPiBsYXllckNvbnRlbnRzRGlzcGxheURlbGVnYXRlKCkgZmluYWwg
eyByZXR1cm4gbnVsbHB0cjsgfQorCisgICAgdm9pZCBzZXRGYWlsTmV4dERpc3BsYXlCdWZmZXJB
bGxvY2F0aW9uRm9yVGVzdGluZygpIHsgbV9mYWlsTmV4dERpc3BsYXlCdWZmZXJBbGxvY2F0aW9u
Rm9yVGVzdGluZyA9IHRydWU7IH0KK3Byb3RlY3RlZDoKKyAgICBSZXN1bHQgYWxsb2NhdGVBbmRC
aW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgaWYgKG1f
ZmFpbE5leHREaXNwbGF5QnVmZmVyQWxsb2NhdGlvbkZvclRlc3RpbmcpCisgICAgICAgICAgICBy
ZXR1cm4gUmVzdWx0OjpGYWlsdXJlOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0R0xDb2NvYTo6YWxsb2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKTsKKyAg
ICB9CisKK3ByaXZhdGU6CisgICAgVGVzdGVkR3JhcGhpY3NDb250ZXh0R0xDb2NvYShXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0cmlidXRlcykKKyAgICAgICAgOiBXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTENvY29hKFdURk1vdmUoYXR0cmlidXRlcykpCisgICAgewor
ICAgIH0KKyAgICBib29sIG1fZmFpbE5leHREaXNwbGF5QnVmZmVyQWxsb2NhdGlvbkZvclRlc3Rp
bmcgeyBmYWxzZSB9OworfTsKKwogY2xhc3MgR3JhcGhpY3NDb250ZXh0R0xDb2NvYVRlc3QgOiBw
dWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKIHB1YmxpYzoKICAgICB2b2lkIFNldFVwKCkgb3ZlcnJp
ZGUgLy8gTk9MSU5UCkBAIC0yMjYsNiArMjY0LDE4IEBAIFRFU1RfRihHcmFwaGljc0NvbnRleHRH
TENvY29hVGVzdCwgVW5yZWN5Y2xlZERpc3BsYXlCdWZmZXJzTm9MZWFrcykKICAgICBFWFBFQ1Rf
VFJVRShtZW1vcnlGb290cHJpbnRDaGFuZ2VkQnkobGFzdEZvb3RwcmludCwgZm9vdHByaW50Q2hh
bmdlLCBmb290cHJpbnRFcnJvcikpOwogfQogCitURVNUX0YoR3JhcGhpY3NDb250ZXh0R0xDb2Nv
YVRlc3QsIEFsbG9jYXRpb25GYWlsdXJlT25SZXNoYXBlTG9zZXNDb250ZXh0KQoreworICAgIGF1
dG8gY29udGV4dCA9IGNyZWF0ZURlZmF1bHRUZXN0Q29udGV4dCh7IDIwLCAyMCB9KTsKKyAgICBB
U1NFUlRfTkUoY29udGV4dCwgbnVsbHB0cik7CisgICAgTW9ja0dyYXBoaWNzQ29udGV4dEdMQ2xp
ZW50IGNsaWVudDsKKyAgICBjb250ZXh0LT5hZGRDbGllbnQoY2xpZW50KTsKKyAgICBFWFBFQ1Rf
RVEoMCwgY2xpZW50LmZvcmNlQ29udGV4dExvc3RDYWxsZWQpOworICAgIGNvbnRleHQtPnNldEZh
aWxOZXh0RGlzcGxheUJ1ZmZlckFsbG9jYXRpb25Gb3JUZXN0aW5nKCk7CisgICAgY29udGV4dC0+
cmVzaGFwZSgxNSwgMTUpOworICAgIEVYUEVDVF9FUSgxLCBjbGllbnQuZm9yY2VDb250ZXh0TG9z
dENhbGxlZCk7Cit9CisKIH0KIAogI2VuZGlmCg==
</data>
<flag name="commit-queue"
          id="471919"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>