<?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>112455</bug_id>
          
          <creation_ts>2013-03-15 11:22:01 -0700</creation_ts>
          <short_desc>Minor cleanup in worker code</short_desc>
          <delta_ts>2013-03-15 12:06:04 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>856125</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-15 11:22:01 -0700</bug_when>
    <thetext>Just a few touches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856136</commentid>
    <comment_count>1</comment_count>
      <attachid>193341</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-15 11:29:24 -0700</bug_when>
    <thetext>Created attachment 193341
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856170</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-15 12:06:04 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r145930&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193341</attachid>
            <date>2013-03-15 11:29:24 -0700</date>
            <delta_ts>2013-03-15 11:32:08 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>WorkerOverrides.txt</filename>
            <type>text/plain</type>
            <size>35240</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTkyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAzLTE1ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1pbm9yIGNsZWFudXAgaW4g
d29ya2VyIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIC0gQWRkZWQgT1ZFUlJJREUga2V5d29yZHMuCisgICAgICAgIC0gVG9uZWQgZG93biBGSVhN
RXMgYWJvdXQgc2luZ2xlIE1lc3NhZ2VQb3J0IHZlcnNpb25zIG9mIGZ1bmN0aW9ucy4gSXQncyBu
b3QgYSBnaXZlbgorICAgICAgICB0aGF0IHdlJ2xsIHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGVtIGV2
ZW4gd2hlbiBpbXBsZW1lbnRpbmcgYXJyYXkgdmVyc2lvbnMuCisgICAgICAgIC0gRXhwbGljaXRs
eSBtYXJrZWQgdmlydHVhbCBkZXN0cnVjdG9ycyBhcyB2aXJ0dWFsLgorCisgICAgICAgICogZG9t
L01lc3NhZ2VFdmVudC5jcHA6CisgICAgICAgICogZG9tL01lc3NhZ2VFdmVudC5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5oOgorICAg
ICAgICBSZW1vdmVkIGFuIHVudXNlZCB2ZXJzaW9uIG9mIHBvc3RNZXNzYWdlKCkgdGhhdCB0b29r
IG5vIE1lc3NhZ2VQb3J0cy4gVGhpcyBtYWtlcworICAgICAgICBpdCBsZXNzIGNvbmZ1c2luZyB3
aHkgTWVzc2FnZVBvcnRBcnJheSBpcyBwYXNzZWQgYnkgcG9pbnRlciwgYW5kIG5vdCBieSByZWZl
cmVuY2UuCisKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6fkRlZGljYXRlZFdvcmtl
ckNvbnRleHQpOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oOgor
ICAgICAgICBBZGRlZCBhIGRlc3RydWN0b3IgaW5zdGVhZCBvZiBhbiBpbXBsaWNpdCBvbmUuCisg
ICAgICAgIFJlbW92ZWQgYW4gdW51c2VkIHZlcnNpb24gb2YgcG9zdE1lc3NhZ2UoKSB0aGF0IHRv
b2sgbm8gTWVzc2FnZVBvcnRzLgorCisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXIuaDog
UmVtb3ZlZCBhbiB1bnVzZWQgdmlydHVhbCBmdW5jdGlvbiAodGhhbmsgeW91IE9WRVJSSURFISkK
KworICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5jcHA6CisgICAgICAgICogZG9tL01lc3NhZ2VQ
b3J0Lmg6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaDoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHdvcmtlcnMvQWJzdHJhY3RXb3JrZXIu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oOgorICAgICAgICAq
IHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVk
V29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyT2JqZWN0UHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oOgorCiAyMDEzLTAzLTE1ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbSlNDXSBSZW1vdmUgY3VzdG9tIFdlYkF1ZGlvIG1hcmsgZnVuY3Rpb25zIHRoYXQg
d2UgY2FuIGdlbmVyYXRlIGluc3RlYWQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2Fn
ZUV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50
LmNwcAkocmV2aXNpb24gMTQ1OTE3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Myw3ICsxNTMsNiBAQCBTZXJpYWxpemVkU2NyaXB0
VmFsdWUqIE1lc3NhZ2VFdmVudDo6ZGF0CiAgICAgcmV0dXJuIG1fZGF0YUFzU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmdldCgpOwogfQogCi0vLyBGSVhNRTogcmVtb3ZlIHRoaXMgd2hlbiB3ZSB1cGRh
dGUgdGhlIE9iakMgYmluZGluZ3MgKGJ1ZyAjMjg3NzQpLgogTWVzc2FnZVBvcnQqIE1lc3NhZ2VF
dmVudDo6bWVzc2FnZVBvcnQoKQogewogICAgIGlmICghbV9wb3J0cykKQEAgLTE2Miw3ICsxNjEs
NiBAQCBNZXNzYWdlUG9ydCogTWVzc2FnZUV2ZW50OjptZXNzYWdlUG9ydCgpCiAgICAgcmV0dXJu
ICgqbV9wb3J0cylbMF0uZ2V0KCk7CiB9CiAKLS8vIEZJWE1FOiByZW1vdmUgdGhpcyB3aGVuIHdl
IHVwZGF0ZSB0aGUgT2JqQyBiaW5kaW5ncyAoYnVnICMyODc3NCkuCiB2b2lkIE1lc3NhZ2VFdmVu
dDo6aW5pdE1lc3NhZ2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnVi
YmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBk
YXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgRE9N
V2luZG93KiBzb3VyY2UsIE1lc3NhZ2VQb3J0KiBwb3J0KQogewogICAgIE93blB0cjxNZXNzYWdl
UG9ydEFycmF5PiBwb3J0czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmgJKHJldmlz
aW9uIDE0NTkxNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTIsOSArOTIsOSBAQCBwdWJsaWM6CiAKICAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgd2hlbiB3ZSBoYXZlIGN1c3RvbSBPYmpDIGJpbmRpbmcgc3VwcG9ydC4KICAgICBTZXJp
YWxpemVkU2NyaXB0VmFsdWUqIGRhdGEoKSBjb25zdDsKLSAgICAvLyBGSVhNRTogcmVtb3ZlIHRo
aXMgd2hlbiB3ZSB1cGRhdGUgdGhlIE9iakMgYmluZGluZ3MgKGJ1ZyAjMjg3NzQpLgorCisgICAg
Ly8gTmVlZGVkIGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1ZyAyODc3NCkuCiAgICAg
TWVzc2FnZVBvcnQqIG1lc3NhZ2VQb3J0KCk7Ci0gICAgLy8gRklYTUU6IHJlbW92ZSB0aGlzIHdo
ZW4gd2UgdXBkYXRlIHRoZSBPYmpDIGJpbmRpbmdzIChidWcgIzI4Nzc0KS4KICAgICB2b2lkIGlu
aXRNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwg
Ym9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwg
Y29uc3QgU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQsIERPTVdpbmRv
dyogc291cmNlLCBNZXNzYWdlUG9ydCopOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJp
bmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlUG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0
LmNwcAkocmV2aXNpb24gMTQ1OTE3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNiBAQCBNZXNzYWdlUG9ydDo6fk1lc3Nh
Z2VQb3J0KCkKICAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5kZXN0cm95ZWRNZXNz
YWdlUG9ydCh0aGlzKTsKIH0KIAotLy8gRklYTUU6IHJlbW92ZSB0aGlzIHdoZW4gd2UgdXBkYXRl
IHRoZSBPYmpDIGJpbmRpbmdzIChidWcgIzI4Nzc0KS4KIHZvaWQgTWVzc2FnZVBvcnQ6OnBvc3RN
ZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdl
UG9ydCogcG9ydCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgTWVzc2FnZVBvcnRBcnJheSBw
b3J0czsKQEAgLTY2LDExICs2NSw2IEBAIHZvaWQgTWVzc2FnZVBvcnQ6OnBvc3RNZXNzYWdlKFBh
c3NSZWZQdHIKICAgICBwb3N0TWVzc2FnZShtZXNzYWdlLCAmcG9ydHMsIGVjKTsKIH0KIAotdm9p
ZCBNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+IG1lc3NhZ2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIHBvc3RNZXNzYWdlKG1lc3Nh
Z2UsIHN0YXRpY19jYXN0PE1lc3NhZ2VQb3J0QXJyYXkqPigwKSwgZWMpOwotfQotCiB2b2lkIE1l
c3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
bWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSogcG9ydHMsIEV4Y2VwdGlvbkNvZGUmIGVj
KQogewogICAgIGlmICghaXNFbnRhbmdsZWQoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9N
ZXNzYWdlUG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dC5oCShyZXZpc2lvbiAxNDU5MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTEgKzU1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBNZXNzYWdlUG9ydCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lc3NhZ2VQb3J0Piwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE1lc3NhZ2VQb3J0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IE1lc3NhZ2VQb3J0KHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpKTsgfQotICAgICAgICB+TWVzc2FnZVBvcnQoKTsKKyAgICAgICAgdmly
dHVhbCB+TWVzc2FnZVBvcnQoKTsKIAotICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
ICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1l
c3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0QXJyYXkqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgICAg
IC8vIEZJWE1FOiByZW1vdmUgdGhpcyB3aGVuIHdlIHVwZGF0ZSB0aGUgT2JqQyBiaW5kaW5ncyAo
YnVnICMyODc3NCkuCisgICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3Mg
KHNlZSBidWcgMjg3NzQpLgogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIEV4Y2VwdGlvbkNvZGUm
KTsKIAogICAgICAgICB2b2lkIHN0YXJ0KCk7CkBAIC04Miw4ICs4MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgICAgICB2b2lkIGNvbnRleHREZXN0cm95ZWQoKTsKIAotICAgICAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OwotICAgICAg
ICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5h
bWUoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICAgICAg
dm9pZCBkaXNwYXRjaE1lc3NhZ2VzKCk7CiAKQEAgLTExMSwxMCArMTEwLDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBwcml2YXRlOgogICAgICAgICBleHBsaWNpdCBNZXNzYWdlUG9ydChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50
VGFyZ2V0KCkgeyByZWYoKTsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdl
dCgpIHsgZGVyZWYoKTsgfQotICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRU
YXJnZXREYXRhKCk7Ci0gICAgICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVu
dFRhcmdldERhdGEoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgT1ZF
UlJJREUgeyByZWYoKTsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgp
IE9WRVJSSURFIHsgZGVyZWYoKTsgfQorICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSog
ZXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7CisgICAgICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRE
YXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKSBPVkVSUklERTsKIAogICAgICAgICBPd25QdHI8
TWVzc2FnZVBvcnRDaGFubmVsPiBtX2VudGFuZ2xlZENoYW5uZWw7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAkocmV2aXNpb24gMTQ1
OTE3KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgfldvcmtlclRocmVhZGFibGVMb2FkZXIoKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoKSBPVkVSUklERTsKIAogICAg
ICAgICBib29sIGRvbmUoKSBjb25zdCB7IHJldHVybiBtX3dvcmtlckNsaWVudFdyYXBwZXItPmRv
bmUoKTsgfQogCkBAIC03Miw4ICs3Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dXNpbmcgUmVmQ291bnRlZDxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPjo6ZGVyZWY7CiAKICAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgeyBy
ZWYoKTsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgeyBk
ZXJlZigpOyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgT1ZF
UlJJREUgeyByZWYoKTsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9h
ZGVyKCkgT1ZFUlJJREUgeyBkZXJlZigpOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICAvLyBD
cmVhdGVzIGEgbG9hZGVyIG9uIHRoZSBtYWluIHRocmVhZCBhbmQgYnJpZGdlcyBjb21tdW5pY2F0
aW9uIGJldHdlZW4KQEAgLTExMiwxNCArMTEyLDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICAgICAgc3RhdGljIHZvaWQgbWFpblRocmVhZENyZWF0ZUxvYWRlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgTWFpblRocmVhZEJyaWRnZSosIFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlcXVlc3REYXRhPiwgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMsIGNvbnN0IFN0cmlu
ZyYgb3V0Z29pbmdSZWZlcnJlcik7CiAgICAgICAgICAgICBzdGF0aWMgdm9pZCBtYWluVGhyZWFk
Q2FuY2VsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNYWluVGhyZWFkQnJpZGdlKik7Ci0gICAg
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5dGVz
U2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7Ci0gICAgICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwotICAgICAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqLCBpbnQgZGF0YUxlbmd0aCk7Ci0gICAgICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUNhY2hlZE1ldGFkYXRhKGNvbnN0IGNoYXIqLCBpbnQgZGF0
YUxlbmd0aCk7Ci0gICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1lKTsKLSAgICAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKLSAgICAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRGYWlsQWNjZXNzQ29udHJvbENoZWNrKGNvbnN0IFJlc291cmNlRXJyb3Im
KTsKLSAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsUmVkaXJlY3RDaGVjaygpOworICAg
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRl
c1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpIE9WRVJSSURFOwor
ICAgICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBPVkVSUklERTsKKyAgICAgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiwgaW50IGRhdGFMZW5n
dGgpIE9WRVJSSURFOworICAgICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDYWNoZWRN
ZXRhZGF0YShjb25zdCBjaGFyKiwgaW50IGRhdGFMZW5ndGgpIE9WRVJSSURFOworICAgICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBkb3VibGUgZmluaXNoVGltZSkgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgT1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmFpbEFjY2Vzc0NvbnRyb2xDaGVjayhjb25zdCBSZXNvdXJjZUVycm9yJikg
T1ZFUlJJREU7CisgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2so
KSBPVkVSUklERTsKIAogICAgICAgICAgICAgLy8gT25seSB0byBiZSB1c2VkIG9uIHRoZSBtYWlu
IHRocmVhZC4KICAgICAgICAgICAgIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBtX21haW5UaHJl
YWRMb2FkZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlzaW9uIDE0NTkxNykK
KysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTIz
OCw3ICsyMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBjcm9zc0Rv
bWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShET01XaW5kb3cqIGFjdGl2ZVdpbmRvdyk7CiAKICAgICAg
ICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVz
c2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSosIGNvbnN0IFN0cmluZyYgdGFyZ2V0T3JpZ2lu
LCBET01XaW5kb3cqIHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAgICAvLyBGSVhNRTog
cmVtb3ZlIHRoaXMgd2hlbiB3ZSB1cGRhdGUgdGhlIE9iakMgYmluZGluZ3MgKGJ1ZyAjMjg3NzQp
LgorICAgICAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGJpbmRpbmdzIChzZWUgYnVnIDI4
Nzc0KS4KICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gbWVzc2FnZSwgTWVzc2FnZVBvcnQqLCBjb25zdCBTdHJpbmcmIHRhcmdldE9yaWdp
biwgRE9NV2luZG93KiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdm9pZCBwb3N0
TWVzc2FnZVRpbWVyRmlyZWQoUGFzc093blB0cjxQb3N0TWVzc2FnZVRpbWVyPik7CiAgICAgICAg
IHZvaWQgZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlPcmlnaW4q
IGludGVuZGVkVGFyZ2V0T3JpZ2luLCBQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RXb3Jr
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2Vy
LmgJKHJldmlzaW9uIDE0NTkxNykKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RX
b3JrZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsMTQgKzUwLDE0IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBBYnN0cmFjdFdvcmtlciA6IHB1YmxpYyBSZWZDb3VudGVkPEFic3Ry
YWN0V29ya2VyPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0IHsK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IEFQSXMKLSAgICAgICAgdmlydHVh
bCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qg
eyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAg
ICAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7IH0KIAogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGVycm9yKTsKIAogICAgICAgICB1c2luZyBSZWZDb3VudGVkPEFic3RyYWN0V29ya2VyPjo6
cmVmOwogICAgICAgICB1c2luZyBSZWZDb3VudGVkPEFic3RyYWN0V29ya2VyPjo6ZGVyZWY7CiAK
LSAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRleHREZXN0cm95ZWQoKTsKKyAgICAgICAgdmlydHVh
bCB2b2lkIGNvbnRleHREZXN0cm95ZWQoKSBPVkVSUklERTsKICAgICAgICAgQWJzdHJhY3RXb3Jr
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgICAgICB2aXJ0dWFsIH5BYnN0cmFjdFdv
cmtlcigpOwogCkBAIC02NywxMCArNjcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBpbnRwdHJfdCBhc0lEKCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJf
dD4odGhpcyk7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZWZFdmVu
dFRhcmdldCgpIHsgcmVmKCk7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJn
ZXQoKSB7IGRlcmVmKCk7IH0KLSAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50
VGFyZ2V0RGF0YSgpOwotICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZl
bnRUYXJnZXREYXRhKCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIE9W
RVJSSURFIHsgcmVmKCk7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQo
KSBPVkVSUklERSB7IGRlcmVmKCk7IH0KKyAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEq
IGV2ZW50VGFyZ2V0RGF0YSgpIE9WRVJSSURFOworICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0
RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkgT1ZFUlJJREU7CiAgICAgICAgIAogICAgICAg
ICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CiAgICAgfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmNwcAkocmV2
aXNpb24gMTQ1OTE3KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJD
b250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLS8vIHN0YXRpYwogUGFzc1JlZlB0cjxEZWRpY2F0ZWRXb3JrZXJDb250ZXh0
PiBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0OjpjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgUGFzc093blB0cjxHcm91cFNldHRpbmdzPiBzZXR0aW5ncywgRGVk
aWNhdGVkV29ya2VyVGhyZWFkKiB0aHJlYWQsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5
UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5
UG9saWN5VHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQogewogICAg
IFJlZlB0cjxEZWRpY2F0ZWRXb3JrZXJDb250ZXh0PiBjb250ZXh0ID0gYWRvcHRSZWYobmV3IERl
ZGljYXRlZFdvcmtlckNvbnRleHQodXJsLCB1c2VyQWdlbnQsIHNldHRpbmdzLCB0aHJlYWQsIHRv
cE9yaWdpbikpOwpAQCAtNTQsMTIgKzUzLDE1IEBAIERlZGljYXRlZFdvcmtlckNvbnRleHQ6OkRl
ZGljYXRlZFdvcmtlckMKIHsKIH0KIAorRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6fkRlZGljYXRl
ZFdvcmtlckNvbnRleHQoKQoreworfQorCiBjb25zdCBBdG9taWNTdHJpbmcmIERlZGljYXRlZFdv
cmtlckNvbnRleHQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAogewogICAgIHJldHVybiBldmVudE5h
bWVzKCkuaW50ZXJmYWNlRm9yRGVkaWNhdGVkV29ya2VyQ29udGV4dDsKIH0KIAotLy8gRklYTUU6
IHJlbW92ZSB0aGlzIHdoZW4gd2UgdXBkYXRlIHRoZSBPYmpDIGJpbmRpbmdzIChidWcgIzI4Nzc0
KS4KIHZvaWQgRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiBwb3J0LCBFeGNlcHRp
b25Db2RlJiBlYykKIHsKICAgICBNZXNzYWdlUG9ydEFycmF5IHBvcnRzOwpAQCAtNjgsMTEgKzcw
LDYgQEAgdm9pZCBEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpwb3N0TWVzc2FnZQogICAgIHBvc3RN
ZXNzYWdlKG1lc3NhZ2UsICZwb3J0cywgZWMpOwogfQogCi12b2lkIERlZGljYXRlZFdvcmtlckNv
bnRleHQ6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNz
YWdlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwb3N0TWVzc2FnZShtZXNzYWdlLCBzdGF0
aWNfY2FzdDxNZXNzYWdlUG9ydEFycmF5Kj4oMCksIGVjKTsKLX0KLQogdm9pZCBEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Ojpwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4gbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSogcG9ydHMsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogewogICAgIC8vIERpc2VudGFuZ2xlIHRoZSBwb3J0IGluIHByZXBhcmF0aW9uIGZvciBz
ZW5kaW5nIGl0IHRvIHRoZSByZW1vdGUgY29udGV4dC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oCShyZXZpc2lvbiAxNDU5MTcpCisr
KyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDUsMjMgKzQ1LDI0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwdWJs
aWM6CiAgICAgICAgIHR5cGVkZWYgV29ya2VyQ29udGV4dCBCYXNlOwogICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxEZWRpY2F0ZWRXb3JrZXJDb250ZXh0PiBjcmVhdGUoY29uc3QgS1VSTCYsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+LCBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQqLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUs
IFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CisgICAgICAgIHZpcnR1YWwg
fkRlZGljYXRlZFdvcmtlckNvbnRleHQoKTsKIAotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWRp
Y2F0ZWRXb3JrZXJDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gdHJ1ZTsgfQogCiAgICAgICAgIC8vIE92ZXJyaWRkZW4gdG8gYWxsb3cgdXMgdG8gY2hlY2sg
b3VyIHBlbmRpbmcgYWN0aXZpdHkgYWZ0ZXIgZXhlY3V0aW5nIGltcG9ydGVkIHNjcmlwdC4KLSAg
ICAgICAgdmlydHVhbCB2b2lkIGltcG9ydFNjcmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVy
bHMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGltcG9ydFNjcmlwdHMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMsIEV4Y2VwdGlvbkNvZGUmKSBPVkVSUklERTsKIAog
ICAgICAgICAvLyBFdmVudFRhcmdldAotICAgICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0
cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOwogCi0gICAgICAgIHZvaWQgcG9z
dE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+LCBjb25zdCBNZXNzYWdlUG9ydEFycmF5KiwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAg
ICAvLyBGSVhNRTogcmVtb3ZlIHRoaXMgd2hlbiB3ZSB1cGRhdGUgdGhlIE9iakMgYmluZGluZ3Mg
KGJ1ZyAjMjg3NzQpLgorICAgICAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGJpbmRpbmdz
IChzZWUgYnVnIDI4Nzc0KS4KICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIE1lc3NhZ2VQb3J0KiwgRXhjZXB0aW9uQ29kZSYpOwogCiAg
ICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobWVzc2FnZSk7CiAKICAgICAg
ICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkKiB0aHJlYWQoKTsKKwogICAgIHByaXZhdGU6CiAgICAg
ICAgIERlZGljYXRlZFdvcmtlckNvbnRleHQoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+LCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQq
LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pOwogICAgIH07CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgJKHJldmlz
aW9uIDE0NTkxNykKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDExICs0MywxMSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQ+IGNyZWF0ZShjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBjb25zdCBHcm91cFNldHRpbmdzKiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBX
b3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRN
b2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpIZWFkZXJUeXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKTsKICAg
ICAgICAgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5KCkgY29uc3QgeyByZXR1
cm4gbV93b3JrZXJPYmplY3RQcm94eTsgfQotICAgICAgICB+RGVkaWNhdGVkV29ya2VyVGhyZWFk
KCk7CisgICAgICAgIHZpcnR1YWwgfkRlZGljYXRlZFdvcmtlclRocmVhZCgpOwogCiAgICAgcHJv
dGVjdGVkOgotICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V29ya2VyQ29udGV4dD4gY3JlYXRl
V29ya2VyQ29udGV4dChjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFBhc3NP
d25QdHI8R3JvdXBTZXR0aW5ncz4sIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+IHRvcE9yaWdpbik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBydW5FdmVudExvb3AoKTsK
KyAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdvcmtlckNvbnRleHQ+IGNyZWF0ZVdvcmtlckNv
bnRleHQoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdy
b3VwU2V0dGluZ3M+LCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0
b3BPcmlnaW4pIE9WRVJSSURFOworICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wKCkg
T1ZFUlJJREU7CiAKICAgICBwcml2YXRlOgogICAgICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQo
Y29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBHcm91cFNldHRpbmdz
KiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlck9i
amVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRT
ZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlLCBjb25zdCBT
ZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
U2hhcmVkV29ya2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXIuaAkocmV2aXNpb24gMTQ1OTE3KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9T
aGFyZWRXb3JrZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTMgKzQ1LDExIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBNZXNzYWdlUG9ydCogcG9ydCgpIGNvbnN0IHsgcmV0dXJu
IG1fcG9ydC5nZXQoKTsgfQogCi0gICAgICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBp
bnRlcmZhY2VOYW1lKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5n
JiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBleHBsaWNpdCBTaGFyZWRXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogCi0gICAg
ICAgIHZpcnR1YWwgU2hhcmVkV29ya2VyKiB0b1NoYXJlZFdvcmtlcigpIHsgcmV0dXJuIHRoaXM7
IH0KLQogICAgICAgICBSZWZQdHI8TWVzc2FnZVBvcnQ+IG1fcG9ydDsKICAgICB9OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuaAkocmV2aXNp
b24gMTQ1OTE3KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDE5ICs0NywyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFdvcmtlckNvbnRleHQ+IGNyZWF0ZShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
UGFzc093blB0cjxHcm91cFNldHRpbmdzPiwgU2hhcmVkV29ya2VyVGhyZWFkKiwgY29uc3QgU3Ry
aW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVy
VHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKTsKICAgICAgICAgdmlydHVhbCB+U2hhcmVk
V29ya2VyQ29udGV4dCgpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1NoYXJlZFdvcmtlckNv
bnRleHQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1No
YXJlZFdvcmtlckNvbnRleHQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKICAg
ICAgICAgLy8gRXZlbnRUYXJnZXQKLSAgICAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcm
IGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJp
bmcmIGludGVyZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsKIAogICAgICAgICAvLyBTZXR0ZXJz
L0dldHRlcnMgZm9yIGF0dHJpYnV0ZXMgaW4gU2hhcmVkV29ya2VyQ29udGV4dC5pZGwKICAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb25uZWN0KTsKICAgICAgICAgU3Ry
aW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KIAogICAgICAgICBTaGFyZWRXb3Jr
ZXJUaHJlYWQqIHRocmVhZCgpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgU2hhcmVkV29ya2Vy
Q29udGV4dChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgUGFzc093blB0cjxHcm91cFNldHRpbmdzPiwgU2hhcmVkV29ya2VyVGhyZWFkKik7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5n
JiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4
Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4p
IE9WRVJSSURFOwogCiAgICAgICAgIFN0cmluZyBtX25hbWU7CiAgICAgfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuaAkocmV2aXNpb24gMTQ1OTE3
KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsMTAgKzQwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBTaGFyZWRXb3JrZXJUaHJlYWQgOiBwdWJsaWMgV29ya2VyVGhyZWFkIHsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFdvcmtlclRocmVhZD4gY3JlYXRlKGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBj
b25zdCBHcm91cFNldHRpbmdzKiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2Fk
ZXJQcm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBj
b25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpIZWFkZXJUeXBlKTsKLSAgICAgICAgflNoYXJlZFdvcmtlclRocmVhZCgpOworICAgICAgICB2
aXJ0dWFsIH5TaGFyZWRXb3JrZXJUaHJlYWQoKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAg
dmlydHVhbCBQYXNzUmVmUHRyPFdvcmtlckNvbnRleHQ+IGNyZWF0ZVdvcmtlckNvbnRleHQoY29u
c3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGlu
Z3M+LCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpIZWFkZXJUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4p
OworICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V29ya2VyQ29udGV4dD4gY3JlYXRlV29ya2Vy
Q29udGV4dChjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFBhc3NPd25QdHI8
R3JvdXBTZXR0aW5ncz4sIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+
IHRvcE9yaWdpbikgT1ZFUlJJREU7CiAKICAgICBwcml2YXRlOgogICAgICAgICBTaGFyZWRXb3Jr
ZXJUaHJlYWQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGNvbnN0IEdyb3VwU2V0dGluZ3MqLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUs
IFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRT
dGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNw
cAkocmV2aXNpb24gMTQ1OTE3KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw2IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgV29y
a2VyOjppbnRlcmZhY2VOYW0KICAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvcldv
cmtlcjsKIH0KIAotLy8gRklYTUU6IHJlbW92ZSB0aGlzIHdoZW4gd2UgdXBkYXRlIHRoZSBPYmpD
IGJpbmRpbmdzIChidWcgIzI4Nzc0KS4KIHZvaWQgV29ya2VyOjpwb3N0TWVzc2FnZShQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSwgTWVzc2FnZVBvcnQqIHBvcnQsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIE1lc3NhZ2VQb3J0QXJyYXkgcG9ydHM7CkBAIC0xMDMs
MTEgKzEwMiw2IEBAIHZvaWQgV29ya2VyOjpwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmkKICAg
ICBwb3N0TWVzc2FnZShtZXNzYWdlLCAmcG9ydHMsIGVjKTsKIH0KIAotdm9pZCBXb3JrZXI6OnBv
c3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBFeGNl
cHRpb25Db2RlJiBlYykKLXsKLSAgICBwb3N0TWVzc2FnZShtZXNzYWdlLCBzdGF0aWNfY2FzdDxN
ZXNzYWdlUG9ydEFycmF5Kj4oMCksIGVjKTsKLX0KLQogdm9pZCBXb3JrZXI6OnBvc3RNZXNzYWdl
KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBjb25zdCBNZXNzYWdl
UG9ydEFycmF5KiBwb3J0cywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgLy8gRGlzZW50YW5n
bGUgdGhlIHBvcnQgaW4gcHJlcGFyYXRpb24gZm9yIHNlbmRpbmcgaXQgdG8gdGhlIHJlbW90ZSBj
b250ZXh0LgpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCShyZXZpc2lvbiAxNDU5MTcpCisr
KyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCwx
OCArNTQsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxXb3JrZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiB1
cmwsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdmlydHVhbCB+V29ya2VyKCk7CiAKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAg
ICAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdCBP
VkVSUklERTsKIAotICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZvaWQgcG9z
dE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsIGNvbnN0
IE1lc3NhZ2VQb3J0QXJyYXkqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgICAgIC8vIEZJWE1FOiBy
ZW1vdmUgdGhpcyB3aGVuIHdlIHVwZGF0ZSB0aGUgT2JqQyBiaW5kaW5ncyAoYnVnICMyODc3NCku
CisgICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBidWcgMjg3
NzQpLgogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgICAg
ICB2b2lkIHRlcm1pbmF0ZSgpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBjYW5TdXNwZW5kKCkg
Y29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdG9wKCk7Ci0gICAgICAgIHZpcnR1YWwgYm9v
bCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGNhblN1
c3BlbmQoKSBjb25zdCBPVkVSUklERTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSBPVkVS
UklERTsKKyAgICAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IE9W
RVJSSURFOwogICAgIAogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1l
c3NhZ2UpOwogCkBAIC03MywxMSArNzIsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBleHBsaWNpdCBXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogCiAgICAgICAgIC8v
IFdvcmtlclNjcmlwdExvYWRlckNsaWVudCBjYWxsYmFja3MKLSAgICAgICAgdmlydHVhbCB2b2lk
IGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUZpbmlzaGVkKCk7Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgT1ZFUlJJREU7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlGaW5pc2hlZCgpIE9WRVJSSURFOwogCi0gICAgICAgIHZpcnR1YWwgdm9p
ZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVm
RXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50
VGFyZ2V0KCkgT1ZFUlJJREUgeyByZWYoKTsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZF
dmVudFRhcmdldCgpIE9WRVJSSURFIHsgZGVyZWYoKTsgfQogCiAgICAgICAgIFJlZlB0cjxXb3Jr
ZXJTY3JpcHRMb2FkZXI+IG1fc2NyaXB0TG9hZGVyOwogICAgICAgICBXb3JrZXJDb250ZXh0UHJv
eHkqIG1fY29udGV4dFByb3h5OyAvLyBUaGUgcHJveHkgb3V0bGl2ZXMgdGhlIHdvcmtlciB0byBw
ZXJmb3JtIHRocmVhZCBzaHV0ZG93bi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5oCShyZXZpc2lvbiAxNDU5MTcpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtNTksOSArNTksOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5Xb3JrZXJDb250ZXh0KCk7
CiAKLSAgICAgICAgdmlydHVhbCBib29sIGlzV29ya2VyQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJu
IHRydWU7IH0KKyAgICAgICAgdmlydHVhbCBib29sIGlzV29ya2VyQ29udGV4dCgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIHRydWU7IH0KIAotICAgICAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKKyAgICAgICAgdmlydHVh
bCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qg
T1ZFUlJJREU7CiAKICAgICAgICAgdmlydHVhbCBib29sIGlzU2hhcmVkV29ya2VyQ29udGV4dCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlZGljYXRl
ZFdvcmtlckNvbnRleHQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtNzIsNyArNzIsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGNvbnN0IEdyb3VwU2V0dGluZ3MqIGdyb3Vw
U2V0dGluZ3MoKSB7IHJldHVybiBtX2dyb3VwU2V0dGluZ3MuZ2V0KCk7IH0KICAgICAgICAgdmly
dHVhbCBTdHJpbmcgdXNlckFnZW50KGNvbnN0IEtVUkwmKSBjb25zdDsKIAotICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpIE9W
RVJSSURFOwogCiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIHNjcmlwdCgpIHsgcmV0
dXJuIG1fc2NyaXB0LmdldCgpOyB9CiAgICAgICAgIHZvaWQgY2xlYXJTY3JpcHQoKSB7IG1fc2Ny
aXB0LmNsZWFyKCk7IH0KQEAgLTg0LDcgKzg0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7CiAKLSAgICAgICAgdmlydHVh
bCB2b2lkIHBvc3RUYXNrKFBhc3NPd25QdHI8VGFzaz4pOyAvLyBFeGVjdXRlcyB0aGUgdGFzayBv
biBjb250ZXh0J3MgdGhyZWFkIGFzeW5jaHJvbm91c2x5LgorICAgICAgICB2aXJ0dWFsIHZvaWQg
cG9zdFRhc2soUGFzc093blB0cjxUYXNrPikgT1ZFUlJJREU7IC8vIEV4ZWN1dGVzIHRoZSB0YXNr
IG9uIGNvbnRleHQncyB0aHJlYWQgYXN5bmNocm9ub3VzbHkuCiAKICAgICAgICAgLy8gV29ya2Vy
R2xvYmFsU2NvcGUKICAgICAgICAgV29ya2VyQ29udGV4dCogc2VsZigpIHsgcmV0dXJuIHRoaXM7
IH0KQEAgLTEwNCwxMCArMTA0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9p
ZCBjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpOwogCiAgICAgICAgIC8vIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQKLSAgICAgICAgdmlydHVhbCBXb3JrZXJFdmVudFF1ZXVlKiBldmVudFF1ZXVl
KCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgV29ya2VyRXZlbnRRdWV1ZSogZXZlbnRRdWV1ZSgp
IGNvbnN0IE9WRVJSSURFOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRleHRUaHJlYWQo
KSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzSlNFeGVjdXRpb25Gb3JiaWRkZW4oKSBj
b25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0IE9WRVJS
SURFOworICAgICAgICB2aXJ0dWFsIGJvb2wgaXNKU0V4ZWN1dGlvbkZvcmJpZGRlbigpIGNvbnN0
IE9WRVJSSURFOwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlciogd29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigpIHsgcmV0dXJuIG1fd29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5nZXQoKTsgfQpAQCAtMTQ0LDI1ICsxNDQsMjUgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwmLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgUGFzc093blB0cjxHcm91cFNldHRpbmdzPiwgV29ya2VyVGhy
ZWFkKiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKICAgICAgICAgdm9p
ZCBhcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb250
ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CiAK
LSAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShjb25zdCBTdHJpbmcm
IGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIGludCBsaW5lTnVtYmVyLCBQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOworICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhj
ZXB0aW9uVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgaW50IGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPikg
T1ZFUlJJREU7CiAgICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29ya2VyQ29uc29sZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlZlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSB7IHJlZigpOyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSB7IGRlcmVmKCk7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIHJl
ZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBPVkVSUklERSB7IHJlZigpOyB9CisgICAgICAgIHZp
cnR1YWwgdm9pZCBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBPVkVSUklERSB7IGRlcmVm
KCk7IH0KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9Ci0g
ICAgICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKLSAgICAg
ICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOworICAg
ICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSB7IHJlZigpOyB9Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgeyBkZXJlZigp
OyB9CisgICAgICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKSBP
VkVSUklERTsKKyAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFy
Z2V0RGF0YSgpIE9WRVJSSURFOwogCi0gICAgICAgIHZpcnR1YWwgY29uc3QgS1VSTCYgdmlydHVh
bFVSTCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGNvbnN0IEtVUkwmIHZpcnR1YWxVUkwoKSBj
b25zdCBPVkVSUklERTsKICAgICAgICAgdmlydHVhbCBLVVJMIHZpcnR1YWxDb21wbGV0ZVVSTChj
b25zdCBTdHJpbmcmKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkTWVzc2FnZShN
ZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0
Q2FsbFN0YWNrPiwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRp
ZmllciA9IDApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxv
bmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElk
ZW50aWZpZXIgPSAwKSBPVkVSUklERTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCkgT1ZFUlJJREU7CiAKLSAgICAg
ICAgdmlydHVhbCBFdmVudFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpOworICAgICAgICB2aXJ0
dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFyZ2V0KCkgT1ZFUlJJREU7CiAKICAgICAgICAg
S1VSTCBtX3VybDsKICAgICAgICAgU3RyaW5nIG1fdXNlckFnZW50OwpJbmRleDogU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAkocmV2aXNpb24gMTQ1OTE3
KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MywzNiArNTMsMzYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
ICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJDb250ZXh0UHJveHkuCiAgICAgICAgIC8v
IChPbmx5IHVzZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckNvbnRleHQoY29uc3QgS1VSTCYgc2NyaXB0
VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBX
b3JrZXJUaHJlYWRTdGFydE1vZGUpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29y
a2VyQ29udGV4dCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckNv
bnRleHQoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzT3duUHRyPE1lc3Nh
Z2VQb3J0Q2hhbm5lbEFycmF5Pik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0
aXZpdHkoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHdvcmtlck9iamVjdERlc3Ryb3ll
ZCgpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJDb250ZXh0KGNvbnN0IEtVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlKSBPVkVSUklERTsKKyAgICAgICAgdmlydHVhbCB2
b2lkIHRlcm1pbmF0ZVdvcmtlckNvbnRleHQoKSBPVkVSUklERTsKKyAgICAgICAgdmlydHVhbCB2
b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJDb250ZXh0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pIE9WRVJSSURFOwor
ICAgICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgT1ZFUlJJREU7
CisgICAgICAgIHZpcnR1YWwgdm9pZCB3b3JrZXJPYmplY3REZXN0cm95ZWQoKSBPVkVSUklERTsK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdFRvSW5z
cGVjdG9yKFdvcmtlckNvbnRleHRQcm94eTo6UGFnZUluc3BlY3RvciopOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlzY29ubmVjdEZyb21JbnNwZWN0b3IoKTsKLSAgICAgICAgdmlydHVhbCB2b2lk
IHNlbmRNZXNzYWdlVG9JbnNwZWN0b3IoY29uc3QgU3RyaW5nJik7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBjb25uZWN0VG9JbnNwZWN0b3IoV29ya2VyQ29udGV4dFByb3h5OjpQYWdlSW5zcGVjdG9y
KikgT1ZFUlJJREU7CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJvbUluc3BlY3Rv
cigpIE9WRVJSSURFOworICAgICAgICB2aXJ0dWFsIHZvaWQgc2VuZE1lc3NhZ2VUb0luc3BlY3Rv
cihjb25zdCBTdHJpbmcmKSBPVkVSUklERTsKICNlbmRpZgogCiAgICAgICAgIC8vIEltcGxlbWVu
dGF0aW9ucyBvZiBXb3JrZXJPYmplY3RQcm94eS4KICAgICAgICAgLy8gKE9ubHkgdXNlIHRoZXNl
IG1ldGhvZHMgaW4gdGhlIHdvcmtlciBjb250ZXh0IHRocmVhZC4pCi0gICAgICAgIHZpcnR1YWwg
dm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAg
ICAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0
TWVzc2FnZVRvV29ya2VyT2JqZWN0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
UGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pIE9WRVJSSURFOworICAgICAgICB2
aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpIE9WRVJS
SURFOworICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmpl
Y3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgT1ZFUlJJREU7CiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9QYWdlSW5z
cGVjdG9yKGNvbnN0IFN0cmluZyYpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSW5zcGVj
dG9yU3RhdGVDb29raWUoY29uc3QgU3RyaW5nJik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0
TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmKSBPVkVSUklERTsKKyAgICAgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUluc3BlY3RvclN0YXRlQ29va2llKGNvbnN0IFN0cmluZyYpIE9W
RVJSSURFOwogI2VuZGlmCi0gICAgICAgIHZpcnR1YWwgdm9pZCBjb25maXJtTWVzc2FnZUZyb21X
b3JrZXJPYmplY3QoYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVwb3J0UGVuZGluZ0FjdGl2aXR5KGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KTsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIHdvcmtlckNvbnRleHRDbG9zZWQoKTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIHdvcmtlckNvbnRleHREZXN0cm95ZWQoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGNvbmZp
cm1NZXNzYWdlRnJvbVdvcmtlck9iamVjdChib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkgT1ZFUlJJ
REU7CisgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRQZW5kaW5nQWN0aXZpdHkoYm9vbCBoYXNQ
ZW5kaW5nQWN0aXZpdHkpIE9WRVJSSURFOworICAgICAgICB2aXJ0dWFsIHZvaWQgd29ya2VyQ29u
dGV4dENsb3NlZCgpIE9WRVJSSURFOworICAgICAgICB2aXJ0dWFsIHZvaWQgd29ya2VyQ29udGV4
dERlc3Ryb3llZCgpIE9WRVJSSURFOwogCiAgICAgICAgIC8vIEltcGxlbWVudGF0aW9uIG9mIFdv
cmtlckxvYWRlclByb3h5LgogICAgICAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgb24g
ZGlmZmVyZW50IHRocmVhZHMgdG8gc2NoZWR1bGUgbG9hZGluZwogICAgICAgICAvLyByZXF1ZXN0
cyBhbmQgdG8gc2VuZCBjYWxsYmFja3MgYmFjayB0byBXb3JrZXJDb250ZXh0LgotICAgICAgICB2
aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb0xvYWRlcihQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OlRhc2s+KTsKLSAgICAgICAgdmlydHVhbCBib29sIHBvc3RUYXNrRm9yTW9kZVRvV29y
a2VyQ29udGV4dChQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+LCBjb25z
dCBTdHJpbmcmIG1vZGUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tUb0xvYWRlcihQ
YXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+KSBPVkVSUklERTsKKyAgICAg
ICAgdmlydHVhbCBib29sIHBvc3RUYXNrRm9yTW9kZVRvV29ya2VyQ29udGV4dChQYXNzT3duUHRy
PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+LCBjb25zdCBTdHJpbmcmIG1vZGUpIE9WRVJS
SURFOwogCiAgICAgICAgIHZvaWQgd29ya2VyVGhyZWFkQ3JlYXRlZChQYXNzUmVmUHRyPERlZGlj
YXRlZFdvcmtlclRocmVhZD4pOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck9iamVjdFByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPYmplY3RQcm94eS5oCShyZXZpc2lvbiAxNDU5MTcpCisrKyBTb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck9iamVjdFByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0UGVuZGluZ0Fj
dGl2aXR5KGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KSA9IDA7CiAKICAgICAgICAgLy8gTm8gbmVl
ZCB0byBub3RpZnkgdGhlIHBhcmVudCBwYWdlIGNvbnRleHQgd2hlbiBkZWRpY2F0ZWQgd29ya2Vy
cyBhcmUgY2xvc2luZy4KLSAgICAgICAgdmlydHVhbCB2b2lkIHdvcmtlckNvbnRleHRDbG9zZWQo
KSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIHdvcmtlckNvbnRleHRDbG9zZWQoKSBPVkVSUklE
RSB7IH0KICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgJKHJldmlzaW9uIDE0NTkxNykKKysr
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY3LDExICs2NywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wg
ZmFpbGVkKCkgY29uc3QgeyByZXR1cm4gbV9mYWlsZWQ7IH0KICAgICAgICAgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAKLSAgICAgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIC8qaWRlbnRpZmll
ciovLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCk7Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91
YmxlKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYp
OwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2soKTsKKyAgICAgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIC8qaWRlbnRpZmll
ciovLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgT1ZFUlJJREU7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkgT1ZF
UlJJREU7CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgZG91YmxlKSBPVkVSUklERTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIE9WRVJSSURFOworICAgICAgICB2aXJ0dWFsIHZv
aWQgZGlkRmFpbFJlZGlyZWN0Q2hlY2soKSBPVkVSUklERTsKIAogI2lmIFBMQVRGT1JNKENIUk9N
SVVNKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQogICAgICAgICB2b2lkIHNldFRhcmdldFR5cGUo
UmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRUeXBlIHRhcmdldFR5cGUpIHsgbV90YXJnZXRUeXBlID0g
dGFyZ2V0VHlwZTsgfQo=
</data>
<flag name="review"
          id="214847"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>