<?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>55770</bug_id>
          
          <creation_ts>2011-03-04 06:03:38 -0800</creation_ts>
          <short_desc>Web Inspector: move dispatching of didCommitLoad to agents into InspectorInstrumentation</short_desc>
          <delta_ts>2011-03-04 07:16:27 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>54112</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>362444</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-04 06:03:38 -0800</bug_when>
    <thetext>Web Inspector: move dispatching of didCommitLoad to agents into InspectorInstrumentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362446</commentid>
    <comment_count>1</comment_count>
      <attachid>84734</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-04 06:06:41 -0800</bug_when>
    <thetext>Created attachment 84734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362450</commentid>
    <comment_count>2</comment_count>
      <attachid>84734</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-04 06:20:23 -0800</bug_when>
    <thetext>Comment on attachment 84734
Patch

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

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:551
&gt; +        domAgent-&gt;reset();

setDocument will call reset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362459</commentid>
    <comment_count>3</comment_count>
      <attachid>84738</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-04 06:33:30 -0800</bug_when>
    <thetext>Created attachment 84738
Patch for landing

Addressed review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362479</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-04 07:16:27 -0800</bug_when>
    <thetext>Committed r80350: &lt;http://trac.webkit.org/changeset/80350&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84734</attachid>
            <date>2011-03-04 06:06:41 -0800</date>
            <delta_ts>2011-03-04 06:20:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55770-20110304170638.patch</filename>
            <type>text/plain</type>
            <size>28152</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzMzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMjIxYWY3OTE4OWFlNWUz
ZDE1NzA3MmNmOGJhNDMxZTY2MzRhNmMyLi5hYjA5MWMxZWM5MGVkMzQ5NGIxODE3ZjI4ZTBkNmUw
Y2Q2YTQ4YjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEtMDMtMDQgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbW92ZSBkaXNwYXRjaGlu
ZyBvZiBkaWRDb21taXRMb2FkIHRvIGFnZW50cyBpbnRvIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU3NzAK
KworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQWdlbnQ6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6
SW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6
On5JbnNwZWN0b3JDU1NBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6fkluc3BlY3RvckRhdGFi
YXNlQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21t
aXRMb2FkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21t
aXRMb2FkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6SW5zcGVjdG9yUHJvZmlsZXJB
Z2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50Ojp+SW5zcGVj
dG9yUHJvZmlsZXJBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFn
ZW50OjphZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29u
c29sZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpzdGFydFVz
ZXJJbml0aWF0ZWRQcm9maWxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmls
ZXJBZ2VudDo6c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JQcm9maWxlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Oklu
c3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50
czo6aW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0Fn
ZW50czo6c2V0SW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVu
dGluZ0FnZW50czo6aW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JEYXRhYmFzZUFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckRh
dGFiYXNlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckRlYnVn
Z2VyQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVj
dG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGlu
Z0FnZW50czo6c2V0SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JQcm9maWxlckFn
ZW50KToKKwogMjAxMS0wMy0wMyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKaW5kZXggNDJiMjExZWY0N2I4YzFlY2UzMDkw
MjNhYjA0ZWZkNTlkOTQ5M2ZkOS4uOTBlYmZiMDU4Y2U5OGE1NTRjNTZmZmIzNmE1NGNjZjUyMjE5
Y2FlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCkBA
IC0xMzksNyArMTM5LDcgQEAgSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KFBhZ2UqIHBh
Z2UsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQogICAgICwgbV9pbnN0cnVtZW50aW5nQWdlbnRz
KG5ldyBJbnN0cnVtZW50aW5nQWdlbnRzKCkpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0SG9zdChJ
bmplY3RlZFNjcmlwdEhvc3Q6OmNyZWF0ZSh0aGlzKSkKICAgICAsIG1fZG9tQWdlbnQoSW5zcGVj
dG9yRE9NQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1faW5qZWN0
ZWRTY3JpcHRIb3N0LmdldCgpKSkKLSAgICAsIG1fY3NzQWdlbnQobmV3IEluc3BlY3RvckNTU0Fn
ZW50KG1fZG9tQWdlbnQuZ2V0KCkpKQorICAgICwgbV9jc3NBZ2VudChuZXcgSW5zcGVjdG9yQ1NT
QWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2RvbUFnZW50LmdldCgpKSkKICNp
ZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJh
c2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSkpCiAjZW5kaWYKQEAg
LTE1Niw3ICsxNTYsNyBAQCBJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQoUGFnZSogcGFn
ZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCiAgICAgLCBtX2RlYnVnZ2VyQWdlbnQoSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6Y3JlYXRl
KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgcGFnZSwgbV9pbmpl
Y3RlZFNjcmlwdEhvc3QuZ2V0KCkpKQogICAgICwgbV9icm93c2VyRGVidWdnZXJBZ2VudChJbnNw
ZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5n
ZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9kb21BZ2VudC5nZXQoKSwgbV9kZWJ1Z2dlckFnZW50Lmdl
dCgpLCB0aGlzKSkKLSAgICAsIG1fcHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50
OjpjcmVhdGUodGhpcykpCisgICAgLCBtX3Byb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9jb25zb2xlQWdlbnQu
Z2V0KCksIHBhZ2UpKQogI2VuZGlmCiB7CiAgICAgQVNTRVJUX0FSRyhwYWdlLCBwYWdlKTsKQEAg
LTUwMyw1NSArNTAzLDE0IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnJlc3RvcmVQcm9maWxlcihQ
cm9maWxlclJlc3RvcmVBY3Rpb24gYWN0aW9uKQogCiB2b2lkIEluc3BlY3RvckFnZW50OjpkaWRD
b21taXRMb2FkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7Ci0gICAgaWYgKCFlbmFibGVkKCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNv
dXJjZUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50
KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZENvbW1pdExvYWQobG9hZGVyKTsKLQotICAg
IEFTU0VSVChtX2luc3BlY3RlZFBhZ2UpOwotCi0gICAgaWYgKGxvYWRlci0+ZnJhbWUoKSA9PSBt
X2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpKSB7Ci0gICAgICAgIGlmIChtX2Zyb250ZW5kKQot
ICAgICAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmluc3BlY3RlZFVSTENoYW5nZWQo
bG9hZGVyLT51cmwoKS5zdHJpbmcoKSk7Ci0KLSAgICAgICAgbV9pbmplY3RlZFNjcmlwdEhvc3Qt
PmRpc2NhcmRJbmplY3RlZFNjcmlwdHMoKTsKLSAgICAgICAgbV9jb25zb2xlQWdlbnQtPnJlc2V0
KCk7Ci0KLSAgICAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQg
PSBtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkKLSAgICAg
ICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZENvbW1pdExvYWQoKTsKLQotI2lmIEVOQUJMRShKQVZB
U0NSSVBUX0RFQlVHR0VSKQotICAgICAgICBpZiAoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogZGVi
dWdnZXJBZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dCgpKSB7Ci0gICAgICAgICAgICBLVVJMIHVybCA9IGluc3BlY3RlZFVSTFdpdGhvdXRGcmFnbWVu
dCgpOwotICAgICAgICAgICAgZGVidWdnZXJBZ2VudC0+aW5zcGVjdGVkVVJMQ2hhbmdlZCh1cmwp
OwotICAgICAgICAgICAgaWYgKEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBicm93c2Vy
RGVidWdnZXJBZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQnJvd3NlckRl
YnVnZ2VyQWdlbnQoKSkKLSAgICAgICAgICAgICAgICBicm93c2VyRGVidWdnZXJBZ2VudC0+aW5z
cGVjdGVkVVJMQ2hhbmdlZCh1cmwpOwotICAgICAgICB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShK
QVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBVU0UoSlNDKQotICAgICAgICBtX3Byb2ZpbGVyQWdlbnQt
PnN0b3BVc2VySW5pdGlhdGVkUHJvZmlsaW5nKHRydWUpOwotICAgICAgICBtX3Byb2ZpbGVyQWdl
bnQtPnJlc2V0U3RhdGUoKTsKLSNlbmRpZgotCi0gICAgICAgIGlmIChtX2Zyb250ZW5kKSB7Ci0g
ICAgICAgICAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+cmVzZXQoKTsKLSAgICAgICAgICAg
IG1fZG9tQWdlbnQtPnJlc2V0KCk7Ci0gICAgICAgICAgICBtX2Nzc0FnZW50LT5yZXNldCgpOwot
ICAgICAgICB9CisgICAgaWYgKG1fZnJvbnRlbmQpIHsKKyAgICAgICAgbV9mcm9udGVuZC0+aW5z
cGVjdG9yKCktPmluc3BlY3RlZFVSTENoYW5nZWQobG9hZGVyLT51cmwoKS5zdHJpbmcoKSk7Cisg
ICAgICAgIG1fZnJvbnRlbmQtPmluc3BlY3RvcigpLT5yZXNldCgpOworICAgIH0KKyAgICBtX2lu
amVjdGVkU2NyaXB0SG9zdC0+ZGlzY2FyZEluamVjdGVkU2NyaXB0cygpOwogI2lmIEVOQUJMRShX
T1JLRVJTKQotICAgICAgICBtX3dvcmtlcnMuY2xlYXIoKTsKKyAgICBtX3dvcmtlcnMuY2xlYXIo
KTsKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAgICAgICAgbV9kYXRhYmFzZUFnZW50
LT5jbGVhclJlc291cmNlcygpOwotI2VuZGlmCi0jaWYgRU5BQkxFKERPTV9TVE9SQUdFKQotICAg
ICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+Y2xlYXJSZXNvdXJjZXMoKTsKLSNlbmRpZgotICAgICAg
ICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRz
LT5pbnNwZWN0b3JET01BZ2VudCgpKQotICAgICAgICAgICAgZG9tQWdlbnQtPnNldERvY3VtZW50
KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCkpOwotICAgIH0KIH0KIAog
dm9pZCBJbnNwZWN0b3JBZ2VudDo6ZG9tQ29udGVudExvYWRlZEV2ZW50RmlyZWQoRG9jdW1lbnRM
b2FkZXIqIGxvYWRlciwgY29uc3QgS1VSTCYgdXJsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggZjQwNmMwYTYxZTI0NWVkODExMmI2N2Qz
MmY2YmI0ZTUzOTcyZGE1Ni4uYjk2MDcxZGE2ZTQ2YzFiZjBiNWExMjU3ODUwOGI3NjAwNzI5MWU5
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
CkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKKyNp
bmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1
ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldExpc3QuaCIKQEAgLTE0MiwxNyAr
MTQzLDIwIEBAIENTU1N0eWxlUnVsZSogSW5zcGVjdG9yQ1NTQWdlbnQ6OmFzQ1NTU3R5bGVSdWxl
KFN0eWxlQmFzZSogc3R5bGVCYXNlKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxDU1NTdHlsZVJ1
bGUqPihydWxlKTsKIH0KIAotSW5zcGVjdG9yQ1NTQWdlbnQ6Okluc3BlY3RvckNTU0FnZW50KElu
c3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKLSAgICA6IG1fZG9tQWdlbnQoZG9tQWdlbnQpCitJ
bnNwZWN0b3JDU1NBZ2VudDo6SW5zcGVjdG9yQ1NTQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQorICAgIDog
bV9pbnN0cnVtZW50aW5nQWdlbnRzKGluc3RydW1lbnRpbmdBZ2VudHMpCisgICAgLCBtX2RvbUFn
ZW50KGRvbUFnZW50KQogICAgICwgbV9sYXN0U3R5bGVTaGVldElkKDEpCiAgICAgLCBtX2xhc3RS
dWxlSWQoMSkKICAgICAsIG1fbGFzdFN0eWxlSWQoMSkKIHsKICAgICBtX2RvbUFnZW50LT5zZXRE
T01MaXN0ZW5lcih0aGlzKTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3Rv
ckNTU0FnZW50KHRoaXMpOwogfQogCiBJbnNwZWN0b3JDU1NBZ2VudDo6fkluc3BlY3RvckNTU0Fn
ZW50KCkKIHsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNTU0FnZW50
KDApOwogICAgIC8vIERPTSBhZ2VudCBzaG91bGQgYmUgZGVzdHJveWVkIGFmdGVyIENTUyBhZ2Vu
dC4KICAgICBtX2RvbUFnZW50LT5zZXRET01MaXN0ZW5lcigwKTsKICAgICBtX2RvbUFnZW50ID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2Vu
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKaW5kZXgg
NzcwYjM5NzE2ZmVkNzM5ZDVlMGJlY2QyYmY5ZjNhN2QyNmQ1N2Y4My4uNGUzZjU3YTY1NjRjODM4
Y2E5Y2IxYTI1NjM5YjQxNzJmNWM4M2JiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNTU0FnZW50LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgQ1NTU3R5bGVTaGVl
dDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEluc3BlY3RvckZyb250
ZW5kOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKIGNsYXNzIE5hbWVOb2RlTWFwOwogY2xh
c3MgTm9kZTsKIGNsYXNzIFN0eWxlQmFzZTsKQEAgLTUxLDExICs1MiwxMiBAQCBjbGFzcyBTdHls
ZUJhc2U7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAogY2xhc3MgSW5zcGVjdG9yQ1NTQWdlbnQg
OiBwdWJsaWMgSW5zcGVjdG9yRE9NQWdlbnQ6OkRPTUxpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JDU1NBZ2VudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENTU1N0
eWxlU2hlZXQqIHBhcmVudFN0eWxlU2hlZXQoU3R5bGVCYXNlKik7CiAgICAgc3RhdGljIENTU1N0
eWxlUnVsZSogYXNDU1NTdHlsZVJ1bGUoU3R5bGVCYXNlKik7CiAKLSAgICBleHBsaWNpdCBJbnNw
ZWN0b3JDU1NBZ2VudChJbnNwZWN0b3JET01BZ2VudCopOworICAgIEluc3BlY3RvckNTU0FnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JET01BZ2VudCopOwogICAgIH5JbnNwZWN0
b3JDU1NBZ2VudCgpOwogCiAgICAgdm9pZCByZXNldCgpOwpAQCAtOTYsNiArOTgsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVET01Ob2RlKE5vZGUqKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTW9kaWZ5RE9NQXR0cihFbGVtZW50Kik7CiAKKyAgICBJbnN0cnVtZW50aW5n
QWdlbnRzKiBtX2luc3RydW1lbnRpbmdBZ2VudHM7CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1f
ZG9tQWdlbnQ7CiAKICAgICBJZFRvSW5zcGVjdG9yU3R5bGVTaGVldCBtX2lkVG9JbnNwZWN0b3JT
dHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRhdGFiYXNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRh
dGFiYXNlQWdlbnQuY3BwCmluZGV4IDU1NzZiMzFkZTczM2Y3NDllZWFkMzY2ZDMwZTdmOTQ3YmE2
MGMzYmMuLjQ1ZWM0MmFkOWVmYmY3YjFmYTdmNjFmMGMxMjMxMmNiYjI2OGRhZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAK
QEAgLTI0MCw4ICsyNDAsNiBAQCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpJbnNwZWN0b3JEYXRh
YmFzZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbgogCiBJbnNwZWN0b3JE
YXRhYmFzZUFnZW50Ojp+SW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpCiB7Ci0gICAgaWYgKG1fZnJv
bnRlbmRQcm92aWRlcikKLSAgICAgICAgY2xlYXJGcm9udGVuZCgpOwogICAgIG1faW5zdHJ1bWVu
dGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgwKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApp
bmRleCA0YjUwOTc4NDBkYTMzYWM5ZjNiNGI1YTQ3YTVhOWExNjg4YzJlNTI4Li5lNjIxY2RjMTVi
M2UxNzYxZjAxZGI0MGQ2YzAyNTVjZTEyMTc1ZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNDEsNiArNDEs
NyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2Vy
QWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDU1NBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFiYXNlQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgpAQCAtNTA3LDggKzUwOCw0OSBAQCB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVEZXRhY2hlZEZyb21QYXJlbnRJbXBsKElu
c3BlY3RvckFnZW50KiBpbnNwZQogICAgICAgICByZXNvdXJjZUFnZW50LT5mcmFtZURldGFjaGVk
RnJvbVBhcmVudChmcmFtZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRDb21taXRMb2FkSW1wbChJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQsIERvY3VtZW50
TG9hZGVyKiBsb2FkZXIpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0
TG9hZEltcGwoUGFnZSogcGFnZSwgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50LCBEb2N1
bWVudExvYWRlciogbG9hZGVyKQogeworICAgIGlmICghaW5zcGVjdG9yQWdlbnQtPmVuYWJsZWQo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3BlY3RvckFnZW50LT5pbnN0cnVtZW50aW5nQWdlbnRzKCk7CisgICAg
aWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCisgICAgICAgIHJlc291cmNlQWdlbnQt
PmRpZENvbW1pdExvYWQobG9hZGVyKTsKKworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdlLT5t
YWluRnJhbWUoKTsKKyAgICBpZiAobG9hZGVyLT5mcmFtZSgpICE9IG1haW5GcmFtZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgICAg
IGNvbnNvbGVBZ2VudC0+cmVzZXQoKTsKKyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikK
KyAgICBpZiAoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogZGVidWdnZXJBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMtPmluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKSkgeworICAgICAgICBLVVJMIHVy
bCA9IGluc3BlY3RvckFnZW50LT5pbnNwZWN0ZWRVUkxXaXRob3V0RnJhZ21lbnQoKTsKKyAgICAg
ICAgZGVidWdnZXJBZ2VudC0+aW5zcGVjdGVkVVJMQ2hhbmdlZCh1cmwpOworICAgICAgICBpZiAo
SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQqIGJyb3dzZXJEZWJ1Z2dlckFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQoKSkKKyAgICAg
ICAgICAgIGJyb3dzZXJEZWJ1Z2dlckFnZW50LT5pbnNwZWN0ZWRVUkxDaGFuZ2VkKHVybCk7Cisg
ICAgfQorI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIFVTRShKU0Mp
CisgICAgaWYgKEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIHByb2ZpbGVyQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQcm9maWxlckFnZW50KCkpIHsKKyAgICAgICAgcHJvZmls
ZXJBZ2VudC0+c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcodHJ1ZSk7CisgICAgICAgIHByb2Zp
bGVyQWdlbnQtPnJlc2V0U3RhdGUoKTsKKyAgICB9CisjZW5kaWYKKyAgICBpZiAoSW5zcGVjdG9y
Q1NTQWdlbnQqIGNzc0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ1NTQWdl
bnQoKSkKKyAgICAgICAgY3NzQWdlbnQtPnJlc2V0KCk7CisjaWYgRU5BQkxFKERBVEFCQVNFKQor
ICAgIGlmIChJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBkYXRhYmFzZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy0+aW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpKQorICAgICAgICBkYXRhYmFzZUFn
ZW50LT5jbGVhclJlc291cmNlcygpOworI2VuZGlmCisjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQor
ICAgIGlmIChJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2VudCA9IGluc3Ry
dW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpKQorICAgICAgICBkb21T
dG9yYWdlQWdlbnQtPmNsZWFyUmVzb3VyY2VzKCk7CisjZW5kaWYKKyAgICBpZiAoSW5zcGVjdG9y
RE9NQWdlbnQqIGRvbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRE9NQWdl
bnQoKSkgeworICAgICAgICBkb21BZ2VudC0+cmVzZXQoKTsKKyAgICAgICAgZG9tQWdlbnQtPnNl
dERvY3VtZW50KG1haW5GcmFtZS0+ZG9jdW1lbnQoKSk7CisgICAgfQogICAgIGluc3BlY3RvckFn
ZW50LT5kaWRDb21taXRMb2FkKGxvYWRlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjNmIxYzEwMmU2ZTc3
Zjc1ZWE4MTgwNTk0MjYwMzc1Mjg1MGJkMGQxLi4yZWE0ZTRmNWFhZDYwOGRkODM5YzIzZDYzYTAy
MGJlMTkwNGJiYTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0yNDMsNyArMjQzLDcgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgdm9pZCBkb21Db250ZW50TG9hZGVkRXZlbnRGaXJlZEltcGwoSW5zcGVjdG9yQWdlbnQq
LCBGcmFtZSosIGNvbnN0IEtVUkwmKTsKICAgICBzdGF0aWMgdm9pZCBsb2FkRXZlbnRGaXJlZElt
cGwoSW5zcGVjdG9yQWdlbnQqLCBGcmFtZSosIGNvbnN0IEtVUkwmKTsKICAgICBzdGF0aWMgdm9p
ZCBmcmFtZURldGFjaGVkRnJvbVBhcmVudEltcGwoSW5zcGVjdG9yQWdlbnQqLCBGcmFtZSopOwot
ICAgIHN0YXRpYyB2b2lkIGRpZENvbW1pdExvYWRJbXBsKEluc3BlY3RvckFnZW50KiwgRG9jdW1l
bnRMb2FkZXIqKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkSW1wbChQYWdlKiwgSW5z
cGVjdG9yQWdlbnQqLCBEb2N1bWVudExvYWRlciopOwogCiAgICAgc3RhdGljIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsV3JpdGVIVE1MSW1wbChJbnNwZWN0b3JBZ2VudCosIHVu
c2lnbmVkIGludCBsZW5ndGgsIHVuc2lnbmVkIGludCBzdGFydExpbmUpOwogICAgIHN0YXRpYyB2
b2lkIGRpZFdyaXRlSFRNTEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
JiwgdW5zaWduZWQgaW50IGVuZExpbmUpOwpAQCAtNzQzLDggKzc0MywxMyBAQCBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lRGV0YWNoZWRGcm9tUGFyZW50KEZyYW1l
KiBmcmFtZSkKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0
TG9hZChGcmFtZSogZnJhbWUsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7CiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKLSAgICBpZiAoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50ID0gaW5z
cGVjdG9yQWdlbnRGb3JGcmFtZShmcmFtZSkpCi0gICAgICAgIGRpZENvbW1pdExvYWRJbXBsKGlu
c3BlY3RvckFnZW50LCBsb2FkZXIpOworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsK
KyAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAg
IHJldHVybjsKKyAgICBpZiAoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50ID0gaW5zcGVj
dG9yQWdlbnRGb3JQYWdlKHBhZ2UpKQorICAgICAgICBkaWRDb21taXRMb2FkSW1wbChwYWdlLCBp
bnNwZWN0b3JBZ2VudCwgbG9hZGVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggZmEyYzQ4ZTNl
ZTA4MjM3OWIwMDlhOWQxOGNhOTBlNWFkOGZiZTE0ZC4uODg2NzAyMzk5MDZhYmVkNDNiMWJiOWE2
YjFmNzAyYmM1ZmJmYjNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQcm9maWxlckFnZW50LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIklu
c3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50
cy5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0RGVidWdTZXJ2ZXIuaCIKQEAgLTU2LDE0ICs1NywxNSBAQCBzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgVXNlckluaXRpYXRlZFByb2ZpbGVOYW1lID0gIm9yZy53ZWJraXQucHJvZmlsZXMudXNl
ci1pbgogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IENQVVByb2ZpbGVUeXBlID0gIkNQVSI7CiBz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgSGVhcFByb2ZpbGVUeXBlID0gIkhFQVAiOwogCi1QYXNz
T3duUHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNy
ZWF0ZShJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQpCitQYXNzT3duUHRyPEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQ+IEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNyZWF0ZShJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNv
bnNvbGVBZ2VudCwgUGFnZSogaW5zcGVjdGVkUGFnZSkKIHsKLSAgICBPd25QdHI8SW5zcGVjdG9y
UHJvZmlsZXJBZ2VudD4gYWdlbnQgPSBhZG9wdFB0cihuZXcgSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dChpbnNwZWN0b3JBZ2VudCkpOwotICAgIHJldHVybiBhZ2VudC5yZWxlYXNlKCk7CisgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JQcm9maWxlckFnZW50KGluc3RydW1lbnRpbmdBZ2Vu
dHMsIGNvbnNvbGVBZ2VudCwgaW5zcGVjdGVkUGFnZSkpOwogfQogCi1JbnNwZWN0b3JQcm9maWxl
ckFnZW50OjpJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JB
Z2VudCkKLSAgICA6IG1faW5zcGVjdG9yQWdlbnQoaW5zcGVjdG9yQWdlbnQpCitJbnNwZWN0b3JQ
cm9maWxlckFnZW50OjpJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50
LCBQYWdlKiBpbnNwZWN0ZWRQYWdlKQorICAgIDogbV9pbnN0cnVtZW50aW5nQWdlbnRzKGluc3Ry
dW1lbnRpbmdBZ2VudHMpCisgICAgLCBtX2NvbnNvbGVBZ2VudChjb25zb2xlQWdlbnQpCisgICAg
LCBtX2luc3BlY3RlZFBhZ2UoaW5zcGVjdGVkUGFnZSkKICAgICAsIG1fZnJvbnRlbmQoMCkKICAg
ICAsIG1fZW5hYmxlZChmYWxzZSkKICAgICAsIG1fcmVjb3JkaW5nVXNlckluaXRpYXRlZFByb2Zp
bGUoZmFsc2UpCkBAIC03MSwxMCArNzMsMTIgQEAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6SW5z
cGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQpCiAgICAg
LCBtX25leHRVc2VySW5pdGlhdGVkUHJvZmlsZU51bWJlcigxKQogICAgICwgbV9uZXh0VXNlcklu
aXRpYXRlZEhlYXBTbmFwc2hvdE51bWJlcigxKQogeworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50
cy0+c2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCh0aGlzKTsKIH0KIAogSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudDo6fkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKQogeworICAgIG1faW5zdHJ1bWVudGlu
Z0FnZW50cy0+c2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgwKTsKIH0KIAogdm9pZCBJbnNwZWN0
b3JQcm9maWxlckFnZW50OjphZGRQcm9maWxlKFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJw
UHJvZmlsZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCkBA
IC05Myw3ICs5Nyw3IEBAIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRkUHJvZmlsZUZp
bmlzaGVkTWVzc2FnZVRvQ29uc29sZShQYXNzUmVmUHRyPFNjcmlwCiAgICAgUmVmUHRyPFNjcmlw
dFByb2ZpbGU+IHByb2ZpbGUgPSBwcnBQcm9maWxlOwogICAgIFN0cmluZyB0aXRsZSA9IHByb2Zp
bGUtPnRpdGxlKCk7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJQcm9maWxlIFwi
d2Via2l0LXByb2ZpbGU6Ly8iLCBDUFVQcm9maWxlVHlwZSwgJy8nLCBlbmNvZGVXaXRoVVJMRXNj
YXBlU2VxdWVuY2VzKHRpdGxlKSwgJyMnLCBTdHJpbmc6Om51bWJlcihwcm9maWxlLT51aWQoKSks
ICJcIiBmaW5pc2hlZC4iKTsKLSAgICBtX2luc3BlY3RvckFnZW50LT5jb25zb2xlQWdlbnQoKS0+
YWRkTWVzc2FnZVRvQ29uc29sZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBMb2dN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CisgICAgbV9jb25z
b2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0NvbnNvbGUoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgTG9nTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwog
fQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2Fn
ZVRvQ29uc29sZShjb25zdCBTdHJpbmcmIHRpdGxlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCkKQEAgLTEwMSw3ICsxMDUsNyBAQCB2b2lkIEluc3BlY3RvclBy
b2ZpbGVyQWdlbnQ6OmFkZFN0YXJ0UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZShjb25zdCBTdHJp
bmcmIHRpdAogICAgIGlmICghbV9mcm9udGVuZCkKICAgICAgICAgcmV0dXJuOwogICAgIFN0cmlu
ZyBtZXNzYWdlID0gbWFrZVN0cmluZygiUHJvZmlsZSBcIndlYmtpdC1wcm9maWxlOi8vIiwgQ1BV
UHJvZmlsZVR5cGUsICcvJywgZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyh0aXRsZSksICIj
MFwiIHN0YXJ0ZWQuIik7Ci0gICAgbV9pbnNwZWN0b3JBZ2VudC0+Y29uc29sZUFnZW50KCktPmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgTG9nTWVz
c2FnZUxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOworICAgIG1fY29uc29s
ZUFnZW50LT5hZGRNZXNzYWdlVG9Db25zb2xlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5
cGUsIExvZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0K
IAogUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNy
ZWF0ZVByb2ZpbGVIZWFkZXIoY29uc3QgU2NyaXB0UHJvZmlsZSYgcHJvZmlsZSkKQEAgLTI0Nyw3
ICsyNTEsNyBAQCB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OnN0YXJ0VXNlckluaXRpYXRl
ZFByb2ZpbGluZygpCiAgICAgbV9yZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZSA9IHRydWU7
CiAgICAgU3RyaW5nIHRpdGxlID0gZ2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZSh0
cnVlKTsKICNpZiBVU0UoSlNDKQotICAgIEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRTdGF0ZSA9IHRv
SlNET01XaW5kb3cobV9pbnNwZWN0b3JBZ2VudC0+aW5zcGVjdGVkUGFnZSgpLT5tYWluRnJhbWUo
KSwgZGVidWdnZXJXb3JsZCgpKS0+Z2xvYmFsRXhlYygpOworICAgIEpTQzo6RXhlY1N0YXRlKiBz
Y3JpcHRTdGF0ZSA9IHRvSlNET01XaW5kb3cobV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKSwg
ZGVidWdnZXJXb3JsZCgpKS0+Z2xvYmFsRXhlYygpOwogI2Vsc2UKICAgICBTY3JpcHRTdGF0ZSog
c2NyaXB0U3RhdGUgPSAwOwogI2VuZGlmCkBAIC0yNjMsNyArMjY3LDcgQEAgdm9pZCBJbnNwZWN0
b3JQcm9maWxlckFnZW50OjpzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZyhib29sIGlnbm9yZVBy
b2ZpbGUpCiAgICAgbV9yZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZSA9IGZhbHNlOwogICAg
IFN0cmluZyB0aXRsZSA9IGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUoKTsKICNp
ZiBVU0UoSlNDKQotICAgIEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRTdGF0ZSA9IHRvSlNET01XaW5k
b3cobV9pbnNwZWN0b3JBZ2VudC0+aW5zcGVjdGVkUGFnZSgpLT5tYWluRnJhbWUoKSwgZGVidWdn
ZXJXb3JsZCgpKS0+Z2xvYmFsRXhlYygpOworICAgIEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRTdGF0
ZSA9IHRvSlNET01XaW5kb3cobV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKSwgZGVidWdnZXJX
b3JsZCgpKS0+Z2xvYmFsRXhlYygpOwogI2Vsc2UKICAgICAvLyBVc2UgbnVsbCBzY3JpcHQgc3Rh
dGUgdG8gYXZvaWQgZmlsdGVyaW5nIGJ5IGNvbnRleHQgc2VjdXJpdHkgdG9rZW4uCiAgICAgLy8g
QWxsIGZ1bmN0aW9ucyBmcm9tIGFsbCBpZnJhbWVzIHNob3VsZCBiZSB2aXNpYmxlIGZyb20gSW5z
cGVjdG9yIFVJLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKaW5kZXggZjcxYmM2YTczMDQwZjU2ZmMxYWRkYzU3YTkyNzIxMDNjZDkwZjcz
ZS4uODM5ZDgwMTQ0MzMzZDAyNTQ1Mjg5M2RkMTNkMmQ4ODU4ZGExOTQ3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC00Miw5
ICs0MiwxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnNwZWN0b3JBcnJheTsK
LWNsYXNzIEluc3BlY3RvckFnZW50OworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yRnJvbnRlbmQ7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CitjbGFzcyBJbnN0
cnVtZW50aW5nQWdlbnRzOworY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdEhlYXBTbmFwc2hvdDsK
IGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKQEAgLTUzLDcgKzU1LDcgQEAgdHlwZWRlZiBTdHJpbmcg
RXJyb3JTdHJpbmc7CiBjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50IHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9maWxlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJB
Z2VudD4gY3JlYXRlKEluc3BlY3RvckFnZW50Kik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5z
cGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0
b3JDb25zb2xlQWdlbnQqLCBQYWdlKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJB
Z2VudCgpOwogCiAgICAgdm9pZCBhZGRQcm9maWxlKFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4g
cHJwUHJvZmlsZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwp
OwpAQCAtODIsMTEgKzg0LDEzIEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBIYXNoTWFwPHVuc2ln
bmVkIGludCwgUmVmUHRyPFNjcmlwdFByb2ZpbGU+ID4gUHJvZmlsZXNNYXA7CiAgICAgdHlwZWRl
ZiBIYXNoTWFwPHVuc2lnbmVkIGludCwgUmVmUHRyPFNjcmlwdEhlYXBTbmFwc2hvdD4gPiBIZWFw
U25hcHNob3RzTWFwOwogCi0gICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JBZ2Vu
dCopOworICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIElu
c3BlY3RvckNvbnNvbGVBZ2VudCosIFBhZ2UqKTsKICAgICBQYXNzUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gY3JlYXRlUHJvZmlsZUhlYWRlcihjb25zdCBTY3JpcHRQcm9maWxlJiBwcm9maWxlKTsK
ICAgICBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gY3JlYXRlU25hcHNob3RIZWFkZXIoY29u
c3QgU2NyaXB0SGVhcFNuYXBzaG90JiBzbmFwc2hvdCk7CiAKLSAgICBJbnNwZWN0b3JBZ2VudCog
bV9pbnNwZWN0b3JBZ2VudDsKKyAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBtX2luc3RydW1lbnRp
bmdBZ2VudHM7CisgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKKyAg
ICBQYWdlKiBtX2luc3BlY3RlZFBhZ2U7CiAgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OlByb2ZpbGVy
KiBtX2Zyb250ZW5kOwogICAgIGJvb2wgbV9lbmFibGVkOwogICAgIGJvb2wgbV9yZWNvcmRpbmdV
c2VySW5pdGlhdGVkUHJvZmlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1
bWVudGluZ0FnZW50cy5oCmluZGV4IDdhNzY3NmY2ZGQ3ZmViMDJkYzU5YWFlZTFmM2ViM2QxMmYz
YTE3OGQuLmM1M2VmMDAzNjhlZDQwODkzYTFlMzU2NTlhNDg3MTY1MTVlOTQyMDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtMzgsNiAr
MzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OworY2xhc3Mg
SW5zcGVjdG9yQ1NTQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKQEAgLTQ2
LDcgKzQ3LDYgQEAgY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKIGNsYXNzIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OwogY2xhc3MgSW5z
cGVjdG9yUnVudGltZUFnZW50OwotY2xhc3MgSW5zcGVjdG9yU3RvcmFnZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKIAogY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50cyB7CkBA
IC01NCwzMCArNTQsMzEgQEAgY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50cyB7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zdHJ1bWVudGluZ0FnZW50cygpCi0g
ICAgICAgIDogbV9pbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCgwKQotI2lmIEVOQUJMRShP
RkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCi0gICAgICAgICwgbV9pbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQoMCkKLSNlbmRpZgorICAgICAgICA6IG1faW5zcGVjdG9yQ1NTQWdlbnQoMCkK
ICAgICAgICAgLCBtX2luc3BlY3RvckNvbnNvbGVBZ2VudCgwKQogICAgICAgICAsIG1faW5zcGVj
dG9yRE9NQWdlbnQoMCkKKyAgICAgICAgLCBtX2luc3BlY3RvclJlc291cmNlQWdlbnQoMCkKKyAg
ICAgICAgLCBtX2luc3BlY3RvclJ1bnRpbWVBZ2VudCgwKQorICAgICAgICAsIG1faW5zcGVjdG9y
VGltZWxpbmVBZ2VudCgwKQorI2lmIEVOQUJMRShET01fU1RPUkFHRSkKICAgICAgICAgLCBtX2lu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgwKQorI2VuZGlmCisjaWYgRU5BQkxFKERBVEFCQVNFKQog
ICAgICAgICAsIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgwKQorI2VuZGlmCisjaWYgRU5BQkxF
KE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKKyAgICAgICAgLCBtX2luc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudCgwKQorI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIp
CiAgICAgICAgICwgbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50KDApCisgICAgICAgICwgbV9pbnNw
ZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCgwKQogICAgICAgICAsIG1faW5zcGVjdG9yUHJvZmls
ZXJBZ2VudCgwKQotICAgICAgICAsIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgwKQotICAgICAg
ICAsIG1faW5zcGVjdG9yUnVudGltZUFnZW50KDApCi0gICAgICAgICwgbV9pbnNwZWN0b3JTdG9y
YWdlQWdlbnQoMCkKLSAgICAgICAgLCBtX2luc3BlY3RvclRpbWVsaW5lQWdlbnQoMCkKKyNlbmRp
ZgogICAgIHsgfQogICAgIH5JbnN0cnVtZW50aW5nQWdlbnRzKCkgeyB9CiAKLSAgICBJbnNwZWN0
b3JCcm93c2VyRGVidWdnZXJBZ2VudCogaW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQoKSBj
b25zdCB7IHJldHVybiBtX2luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OyB9Ci0gICAgdm9p
ZCBzZXRJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudChJbnNwZWN0b3JCcm93c2VyRGVidWdn
ZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCA9IGFnZW50
OyB9Ci0KLSNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQotICAgIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCogaW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ7IH0KLSAgICB2
b2lkIHNldEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50ID0g
YWdlbnQ7IH0KLSNlbmRpZgorICAgIEluc3BlY3RvckNTU0FnZW50KiBpbnNwZWN0b3JDU1NBZ2Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQ1NTQWdlbnQ7IH0KKyAgICB2b2lkIHNldElu
c3BlY3RvckNTU0FnZW50KEluc3BlY3RvckNTU0FnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckNT
U0FnZW50ID0gYWdlbnQ7IH0KIAogICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogaW5zcGVjdG9y
Q29uc29sZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQ7IH0K
ICAgICB2b2lkIHNldEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0b3JDb25zb2xlQWdlbnQq
IGFnZW50KSB7IG1faW5zcGVjdG9yQ29uc29sZUFnZW50ID0gYWdlbnQ7IH0KQEAgLTg1LDQ1ICs4
Niw1OSBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIGluc3BlY3RvckRPTUFnZW50
KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JET01BZ2VudDsgfQogICAgIHZvaWQgc2V0SW5z
cGVjdG9yRE9NQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRE9N
QWdlbnQgPSBhZ2VudDsgfQogCi0gICAgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBpbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckRPTVN0b3JhZ2VB
Z2VudDsgfQotICAgIHZvaWQgc2V0SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JET01TdG9yYWdlQWdlbnQgPSBhZ2Vu
dDsgfQotCi0gICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogaW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsgfQotICAgIHZvaWQg
c2V0SW5zcGVjdG9yRGF0YWJhc2VBZ2VudChJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBhZ2VudCkg
eyBtX2luc3BlY3RvckRhdGFiYXNlQWdlbnQgPSBhZ2VudDsgfQotCi0gICAgSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudCogaW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5z
cGVjdG9yRGVidWdnZXJBZ2VudDsgfQotICAgIHZvaWQgc2V0SW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRlYnVnZ2VyQWdl
bnQgPSBhZ2VudDsgfQotCi0gICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsgfQot
ICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50
KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQotCiAgICAgSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudCogaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpIGNvbnN0IHsgcmV0
dXJuIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUmVz
b3VyY2VBZ2VudChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclJl
c291cmNlQWdlbnQgPSBhZ2VudDsgfQogCiAgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBpbnNw
ZWN0b3JSdW50aW1lQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclJ1bnRpbWVBZ2Vu
dDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUnVudGltZUFnZW50KEluc3BlY3RvclJ1bnRpbWVB
Z2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JSdW50aW1lQWdlbnQgPSBhZ2VudDsgfQogCi0gICAg
SW5zcGVjdG9yU3RvcmFnZUFnZW50KiBpbnNwZWN0b3JTdG9yYWdlQWdlbnQoKSBjb25zdCB7IHJl
dHVybiBtX2luc3BlY3RvclN0b3JhZ2VBZ2VudDsgfQotICAgIHZvaWQgc2V0SW5zcGVjdG9yU3Rv
cmFnZUFnZW50KEluc3BlY3RvclN0b3JhZ2VBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JTdG9y
YWdlQWdlbnQgPSBhZ2VudDsgfQotCiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogaW5zcGVj
dG9yVGltZWxpbmVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclRpbWVsaW5lQWdlbnQgPSBhZ2VudDsgfQogCi1w
cml2YXRlOgotICAgIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBtX2luc3BlY3RvckJy
b3dzZXJEZWJ1Z2dlckFnZW50OworI2lmIEVOQUJMRShET01fU1RPUkFHRSkKKyAgICBJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQqIGluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpIGNvbnN0IHsgcmV0
dXJuIG1faW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKyNpZiBFTkFCTEUoREFUQUJB
U0UpCisgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogaW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgp
IGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsgfQorICAgIHZvaWQgc2V0
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudChJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBhZ2VudCkgeyBt
X2luc3BlY3RvckRhdGFiYXNlQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCiAjaWYgRU5BQkxFKE9G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKLSAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQqIG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OworICAgIEluc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudCogaW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ7IH0KKyAgICB2b2lkIHNl
dEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50ID0gYWdlbnQ7
IH0KICNlbmRpZgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQorICAgIEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQqIGluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBt
X2luc3BlY3RvckRlYnVnZ2VyQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50ID0gYWdlbnQ7IH0KKworICAgIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBp
bnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9y
QnJvd3NlckRlYnVnZ2VyQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3RvckJyb3dzZXJEZWJ1
Z2dlckFnZW50KEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50ID0gYWdlbnQ7IH0KKworICAgIEluc3BlY3RvclByb2Zp
bGVyQWdlbnQqIGluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3Bl
Y3RvclByb2ZpbGVyQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3RvclByb2ZpbGVyQWdlbnQo
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JQcm9maWxlckFnZW50
ID0gYWdlbnQ7IH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIEluc3BlY3RvckNTU0FnZW50KiBt
X2luc3BlY3RvckNTU0FnZW50OwogICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogbV9pbnNwZWN0
b3JDb25zb2xlQWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1faW5zcGVjdG9yRE9NQWdl
bnQ7CisgICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogbV9pbnNwZWN0b3JSZXNvdXJjZUFnZW50
OworICAgIEluc3BlY3RvclJ1bnRpbWVBZ2VudCogbV9pbnNwZWN0b3JSdW50aW1lQWdlbnQ7Cisg
ICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogbV9pbnNwZWN0b3JUaW1lbGluZUFnZW50OworI2lm
IEVOQUJMRShET01fU1RPUkFHRSkKICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1faW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OworI2VuZGlmCisjaWYgRU5BQkxFKERBVEFCQVNFKQogICAg
IEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKKyNlbmRp
ZgorI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50KiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDsKKyNl
bmRpZgorI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIEluc3BlY3RvckRlYnVn
Z2VyQWdlbnQqIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudDsKKyAgICBJbnNwZWN0b3JCcm93c2Vy
RGVidWdnZXJBZ2VudCogbV9pbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDsKICAgICBJbnNw
ZWN0b3JQcm9maWxlckFnZW50KiBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7Ci0gICAgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudCogbV9pbnNwZWN0b3JSZXNvdXJjZUFnZW50OwotICAgIEluc3BlY3Rv
clJ1bnRpbWVBZ2VudCogbV9pbnNwZWN0b3JSdW50aW1lQWdlbnQ7Ci0gICAgSW5zcGVjdG9yU3Rv
cmFnZUFnZW50KiBtX2luc3BlY3RvclN0b3JhZ2VBZ2VudDsKLSAgICBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KiBtX2luc3BlY3RvclRpbWVsaW5lQWdlbnQ7CisjZW5kaWYKIH07CiAKIH0K
</data>
<flag name="review"
          id="76764"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84738</attachid>
            <date>2011-03-04 06:33:30 -0800</date>
            <delta_ts>2011-03-04 06:33:30 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>did-commit-load</filename>
            <type>text/plain</type>
            <size>27428</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNzhjOTM5Li5hOWJmNzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkg
QEAKKzIwMTEtMDMtMDQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogbW92ZSBkaXNwYXRjaGluZyBvZiBkaWRDb21taXRMb2FkIHRvIGFnZW50cyBpbnRvIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTU3NzAKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmRpZENvbW1pdExvYWQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDU1NBZ2VudDo6SW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6On5JbnNwZWN0b3JDU1NBZ2VudCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckNTU0FnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRhdGFiYXNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRGF0YWJhc2VB
Z2VudDo6fkluc3BlY3RvckRhdGFiYXNlQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxl
ckFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dDo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
cm9maWxlckFnZW50Ojp+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjphZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25z
b2xlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFkZFN0YXJ0
UHJvZmlsaW5nTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
cm9maWxlckFnZW50OjpzdGFydFVzZXJJbml0aWF0ZWRQcm9maWxpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yQ1NTQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpp
bnNwZWN0b3JEYXRhYmFzZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6OnNldEluc3BlY3RvckRhdGFiYXNlQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
dHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2Vu
dHM6OnNldEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1
bWVudGluZ0FnZW50czo6aW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2Vy
QWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpz
ZXRJbnNwZWN0b3JQcm9maWxlckFnZW50KToKKwogMjAxMS0wMy0wNCAgQW5kcmV5IEFkYWlraW4g
IDxhYW5kcmV5QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1h
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IDQy
ZWFjNTIuLjIyNmQxOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50LmNwcApAQCAtMTQwLDcgKzE0MCw3IEBAIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2Vu
dChQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICAsIG1faW5qZWN0ZWRT
Y3JpcHRIb3N0KEluamVjdGVkU2NyaXB0SG9zdDo6Y3JlYXRlKHRoaXMpKQogICAgICwgbV9zdGF0
ZShuZXcgSW5zcGVjdG9yU3RhdGUoY2xpZW50KSkKICAgICAsIG1fZG9tQWdlbnQoSW5zcGVjdG9y
RE9NQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0
KCksIG1faW5qZWN0ZWRTY3JpcHRIb3N0LmdldCgpKSkKLSAgICAsIG1fY3NzQWdlbnQobmV3IElu
c3BlY3RvckNTU0FnZW50KG1fZG9tQWdlbnQuZ2V0KCkpKQorICAgICwgbV9jc3NBZ2VudChuZXcg
SW5zcGVjdG9yQ1NTQWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2RvbUFnZW50
LmdldCgpKSkKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSkp
CiAjZW5kaWYKQEAgLTE1Niw3ICsxNTYsNyBAQCBJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdl
bnQoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAjaWYgRU5BQkxFKEpBVkFT
Q1JJUFRfREVCVUdHRVIpCiAgICAgLCBtX2RlYnVnZ2VyQWdlbnQoSW5zcGVjdG9yRGVidWdnZXJB
Z2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwg
cGFnZSwgbV9pbmplY3RlZFNjcmlwdEhvc3QuZ2V0KCkpKQogICAgICwgbV9icm93c2VyRGVidWdn
ZXJBZ2VudChJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9kb21BZ2VudC5nZXQoKSwgbV9kZWJ1
Z2dlckFnZW50LmdldCgpLCB0aGlzKSkKLSAgICAsIG1fcHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQ
cm9maWxlckFnZW50OjpjcmVhdGUodGhpcykpCisgICAgLCBtX3Byb2ZpbGVyQWdlbnQoSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9j
b25zb2xlQWdlbnQuZ2V0KCksIHBhZ2UpKQogI2VuZGlmCiB7CiAgICAgQVNTRVJUX0FSRyhwYWdl
LCBwYWdlKTsKQEAgLTUwMyw1NSArNTAzLDE0IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnJlc3Rv
cmVQcm9maWxlcihQcm9maWxlclJlc3RvcmVBY3Rpb24gYWN0aW9uKQogCiB2b2lkIEluc3BlY3Rv
ckFnZW50OjpkaWRDb21taXRMb2FkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7Ci0gICAgaWYg
KCFlbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChJbnNwZWN0b3JSZXNvdXJj
ZUFnZW50KiByZXNvdXJjZUFnZW50ID0gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JS
ZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZENvbW1pdExvYWQobG9h
ZGVyKTsKLQotICAgIEFTU0VSVChtX2luc3BlY3RlZFBhZ2UpOwotCi0gICAgaWYgKGxvYWRlci0+
ZnJhbWUoKSA9PSBtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpKSB7Ci0gICAgICAgIGlmICht
X2Zyb250ZW5kKQotICAgICAgICAgICAgbV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmluc3BlY3Rl
ZFVSTENoYW5nZWQobG9hZGVyLT51cmwoKS5zdHJpbmcoKSk7Ci0KLSAgICAgICAgbV9pbmplY3Rl
ZFNjcmlwdEhvc3QtPmRpc2NhcmRJbmplY3RlZFNjcmlwdHMoKTsKLSAgICAgICAgbV9jb25zb2xl
QWdlbnQtPnJlc2V0KCk7Ci0KLSAgICAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRp
bWVsaW5lQWdlbnQgPSBtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRpbWVsaW5lQWdl
bnQoKSkKLSAgICAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZENvbW1pdExvYWQoKTsKLQotI2lm
IEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotICAgICAgICBpZiAoSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCogZGVidWdnZXJBZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
RGVidWdnZXJBZ2VudCgpKSB7Ci0gICAgICAgICAgICBLVVJMIHVybCA9IGluc3BlY3RlZFVSTFdp
dGhvdXRGcmFnbWVudCgpOwotICAgICAgICAgICAgZGVidWdnZXJBZ2VudC0+aW5zcGVjdGVkVVJM
Q2hhbmdlZCh1cmwpOwotICAgICAgICAgICAgaWYgKEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFn
ZW50KiBicm93c2VyRGVidWdnZXJBZ2VudCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVj
dG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQoKSkKLSAgICAgICAgICAgICAgICBicm93c2VyRGVidWdn
ZXJBZ2VudC0+aW5zcGVjdGVkVVJMQ2hhbmdlZCh1cmwpOwotICAgICAgICB9Ci0jZW5kaWYKLQot
I2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKSAmJiBVU0UoSlNDKQotICAgICAgICBtX3By
b2ZpbGVyQWdlbnQtPnN0b3BVc2VySW5pdGlhdGVkUHJvZmlsaW5nKHRydWUpOwotICAgICAgICBt
X3Byb2ZpbGVyQWdlbnQtPnJlc2V0U3RhdGUoKTsKLSNlbmRpZgotCi0gICAgICAgIGlmIChtX2Zy
b250ZW5kKSB7Ci0gICAgICAgICAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+cmVzZXQoKTsK
LSAgICAgICAgICAgIG1fZG9tQWdlbnQtPnJlc2V0KCk7Ci0gICAgICAgICAgICBtX2Nzc0FnZW50
LT5yZXNldCgpOwotICAgICAgICB9CisgICAgaWYgKG1fZnJvbnRlbmQpIHsKKyAgICAgICAgbV9m
cm9udGVuZC0+aW5zcGVjdG9yKCktPmluc3BlY3RlZFVSTENoYW5nZWQobG9hZGVyLT51cmwoKS5z
dHJpbmcoKSk7CisgICAgICAgIG1fZnJvbnRlbmQtPmluc3BlY3RvcigpLT5yZXNldCgpOworICAg
IH0KKyAgICBtX2luamVjdGVkU2NyaXB0SG9zdC0+ZGlzY2FyZEluamVjdGVkU2NyaXB0cygpOwog
I2lmIEVOQUJMRShXT1JLRVJTKQotICAgICAgICBtX3dvcmtlcnMuY2xlYXIoKTsKKyAgICBtX3dv
cmtlcnMuY2xlYXIoKTsKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAgICAgICAgbV9k
YXRhYmFzZUFnZW50LT5jbGVhclJlc291cmNlcygpOwotI2VuZGlmCi0jaWYgRU5BQkxFKERPTV9T
VE9SQUdFKQotICAgICAgICBtX2RvbVN0b3JhZ2VBZ2VudC0+Y2xlYXJSZXNvdXJjZXMoKTsKLSNl
bmRpZgotICAgICAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gbV9pbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JET01BZ2VudCgpKQotICAgICAgICAgICAgZG9tQWdlbnQt
PnNldERvY3VtZW50KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCkpOwot
ICAgIH0KIH0KIAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZG9tQ29udGVudExvYWRlZEV2ZW50Rmly
ZWQoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgS1VSTCYgdXJsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggZjQwNmMwYS4uYjk2
MDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQu
Y3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIK
KyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2lu
Y2x1ZGUgIk5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU3R5bGVTaGVldExpc3QuaCIKQEAgLTE0Miwx
NyArMTQzLDIwIEBAIENTU1N0eWxlUnVsZSogSW5zcGVjdG9yQ1NTQWdlbnQ6OmFzQ1NTU3R5bGVS
dWxlKFN0eWxlQmFzZSogc3R5bGVCYXNlKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxDU1NTdHls
ZVJ1bGUqPihydWxlKTsKIH0KIAotSW5zcGVjdG9yQ1NTQWdlbnQ6Okluc3BlY3RvckNTU0FnZW50
KEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKLSAgICA6IG1fZG9tQWdlbnQoZG9tQWdlbnQp
CitJbnNwZWN0b3JDU1NBZ2VudDo6SW5zcGVjdG9yQ1NTQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQorICAg
IDogbV9pbnN0cnVtZW50aW5nQWdlbnRzKGluc3RydW1lbnRpbmdBZ2VudHMpCisgICAgLCBtX2Rv
bUFnZW50KGRvbUFnZW50KQogICAgICwgbV9sYXN0U3R5bGVTaGVldElkKDEpCiAgICAgLCBtX2xh
c3RSdWxlSWQoMSkKICAgICAsIG1fbGFzdFN0eWxlSWQoMSkKIHsKICAgICBtX2RvbUFnZW50LT5z
ZXRET01MaXN0ZW5lcih0aGlzKTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3Bl
Y3RvckNTU0FnZW50KHRoaXMpOwogfQogCiBJbnNwZWN0b3JDU1NBZ2VudDo6fkluc3BlY3RvckNT
U0FnZW50KCkKIHsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckNTU0Fn
ZW50KDApOwogICAgIC8vIERPTSBhZ2VudCBzaG91bGQgYmUgZGVzdHJveWVkIGFmdGVyIENTUyBh
Z2VudC4KICAgICBtX2RvbUFnZW50LT5zZXRET01MaXN0ZW5lcigwKTsKICAgICBtX2RvbUFnZW50
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKaW5k
ZXggNzcwYjM5Ny4uNGUzZjU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNTU0FnZW50LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgQ1NTU3R5bGVTaGVldDsKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwor
Y2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKIGNsYXNzIE5hbWVOb2RlTWFwOwogY2xhc3MgTm9k
ZTsKIGNsYXNzIFN0eWxlQmFzZTsKQEAgLTUxLDExICs1MiwxMiBAQCBjbGFzcyBTdHlsZUJhc2U7
CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAogY2xhc3MgSW5zcGVjdG9yQ1NTQWdlbnQgOiBwdWJs
aWMgSW5zcGVjdG9yRE9NQWdlbnQ6OkRPTUxpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbnNwZWN0b3JDU1NBZ2VudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENTU1N0eWxlU2hl
ZXQqIHBhcmVudFN0eWxlU2hlZXQoU3R5bGVCYXNlKik7CiAgICAgc3RhdGljIENTU1N0eWxlUnVs
ZSogYXNDU1NTdHlsZVJ1bGUoU3R5bGVCYXNlKik7CiAKLSAgICBleHBsaWNpdCBJbnNwZWN0b3JD
U1NBZ2VudChJbnNwZWN0b3JET01BZ2VudCopOworICAgIEluc3BlY3RvckNTU0FnZW50KEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JET01BZ2VudCopOwogICAgIH5JbnNwZWN0b3JDU1NB
Z2VudCgpOwogCiAgICAgdm9pZCByZXNldCgpOwpAQCAtOTYsNiArOTgsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZW1vdmVET01Ob2RlKE5vZGUqKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkTW9kaWZ5RE9NQXR0cihFbGVtZW50Kik7CiAKKyAgICBJbnN0cnVtZW50aW5nQWdlbnRz
KiBtX2luc3RydW1lbnRpbmdBZ2VudHM7CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9tQWdl
bnQ7CiAKICAgICBJZFRvSW5zcGVjdG9yU3R5bGVTaGVldCBtX2lkVG9JbnNwZWN0b3JTdHlsZVNo
ZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFi
YXNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNl
QWdlbnQuY3BwCmluZGV4IDU1NzZiMzEuLjQ1ZWM0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKQEAgLTI0MCw4ICsyNDAs
NiBAQCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbgogCiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50Ojp+
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpCiB7Ci0gICAgaWYgKG1fZnJvbnRlbmRQcm92aWRlcikK
LSAgICAgICAgY2xlYXJGcm9udGVuZCgpOwogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA0YjUwOTc4Li5k
ZmUxYzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rv
ckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNw
ZWN0b3JDU1NBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckRhdGFiYXNlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JET01B
Z2VudC5oIgpAQCAtNTA3LDggKzUwOCw0NyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZnJhbWVEZXRhY2hlZEZyb21QYXJlbnRJbXBsKEluc3BlY3RvckFnZW50KiBpbnNwZQogICAg
ICAgICByZXNvdXJjZUFnZW50LT5mcmFtZURldGFjaGVkRnJvbVBhcmVudChmcmFtZSk7CiB9CiAK
LXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkSW1wbChJbnNwZWN0
b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCit2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9hZEltcGwoUGFnZSogcGFnZSwgSW5z
cGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50LCBEb2N1bWVudExvYWRlciogbG9hZGVyKQogewor
ICAgIGlmICghaW5zcGVjdG9yQWdlbnQtPmVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3BlY3RvckFn
ZW50LT5pbnN0cnVtZW50aW5nQWdlbnRzKCk7CisgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdl
bnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJj
ZUFnZW50KCkpCisgICAgICAgIHJlc291cmNlQWdlbnQtPmRpZENvbW1pdExvYWQobG9hZGVyKTsK
KworICAgIEZyYW1lKiBtYWluRnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBpZiAobG9h
ZGVyLT5mcmFtZSgpICE9IG1haW5GcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKElu
c3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
aW5zcGVjdG9yQ29uc29sZUFnZW50KCkpCisgICAgICAgIGNvbnNvbGVBZ2VudC0+cmVzZXQoKTsK
KyNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKKyAgICBpZiAoSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCogZGVidWdnZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRl
YnVnZ2VyQWdlbnQoKSkgeworICAgICAgICBLVVJMIHVybCA9IGluc3BlY3RvckFnZW50LT5pbnNw
ZWN0ZWRVUkxXaXRob3V0RnJhZ21lbnQoKTsKKyAgICAgICAgZGVidWdnZXJBZ2VudC0+aW5zcGVj
dGVkVVJMQ2hhbmdlZCh1cmwpOworICAgICAgICBpZiAoSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2Vy
QWdlbnQqIGJyb3dzZXJEZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVj
dG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQoKSkKKyAgICAgICAgICAgIGJyb3dzZXJEZWJ1Z2dlckFn
ZW50LT5pbnNwZWN0ZWRVUkxDaGFuZ2VkKHVybCk7CisgICAgfQorI2VuZGlmCisjaWYgRU5BQkxF
KEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIFVTRShKU0MpCisgICAgaWYgKEluc3BlY3RvclByb2Zp
bGVyQWdlbnQqIHByb2ZpbGVyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQ
cm9maWxlckFnZW50KCkpIHsKKyAgICAgICAgcHJvZmlsZXJBZ2VudC0+c3RvcFVzZXJJbml0aWF0
ZWRQcm9maWxpbmcodHJ1ZSk7CisgICAgICAgIHByb2ZpbGVyQWdlbnQtPnJlc2V0U3RhdGUoKTsK
KyAgICB9CisjZW5kaWYKKyAgICBpZiAoSW5zcGVjdG9yQ1NTQWdlbnQqIGNzc0FnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ1NTQWdlbnQoKSkKKyAgICAgICAgY3NzQWdlbnQt
PnJlc2V0KCk7CisjaWYgRU5BQkxFKERBVEFCQVNFKQorICAgIGlmIChJbnNwZWN0b3JEYXRhYmFz
ZUFnZW50KiBkYXRhYmFzZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRGF0
YWJhc2VBZ2VudCgpKQorICAgICAgICBkYXRhYmFzZUFnZW50LT5jbGVhclJlc291cmNlcygpOwor
I2VuZGlmCisjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQorICAgIGlmIChJbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQqIGRvbVN0b3JhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudCgpKQorICAgICAgICBkb21TdG9yYWdlQWdlbnQtPmNsZWFyUmVzb3Vy
Y2VzKCk7CisjZW5kaWYKKyAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRE9NQWdlbnQoKSkKKyAgICAgICAgZG9tQWdlbnQt
PnNldERvY3VtZW50KG1haW5GcmFtZS0+ZG9jdW1lbnQoKSk7CiAgICAgaW5zcGVjdG9yQWdlbnQt
PmRpZENvbW1pdExvYWQobG9hZGVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGM2YjFjMTAuLjJlYTRlNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgKQEAgLTI0Myw3ICsyNDMsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRv
bUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkSW1wbChJbnNwZWN0b3JBZ2VudCosIEZyYW1lKiwgY29u
c3QgS1VSTCYpOwogICAgIHN0YXRpYyB2b2lkIGxvYWRFdmVudEZpcmVkSW1wbChJbnNwZWN0b3JB
Z2VudCosIEZyYW1lKiwgY29uc3QgS1VSTCYpOwogICAgIHN0YXRpYyB2b2lkIGZyYW1lRGV0YWNo
ZWRGcm9tUGFyZW50SW1wbChJbnNwZWN0b3JBZ2VudCosIEZyYW1lKik7Ci0gICAgc3RhdGljIHZv
aWQgZGlkQ29tbWl0TG9hZEltcGwoSW5zcGVjdG9yQWdlbnQqLCBEb2N1bWVudExvYWRlciopOwor
ICAgIHN0YXRpYyB2b2lkIGRpZENvbW1pdExvYWRJbXBsKFBhZ2UqLCBJbnNwZWN0b3JBZ2VudCos
IERvY3VtZW50TG9hZGVyKik7CiAKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llIHdpbGxXcml0ZUhUTUxJbXBsKEluc3BlY3RvckFnZW50KiwgdW5zaWduZWQgaW50IGxl
bmd0aCwgdW5zaWduZWQgaW50IHN0YXJ0TGluZSk7CiAgICAgc3RhdGljIHZvaWQgZGlkV3JpdGVI
VE1MSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBp
bnQgZW5kTGluZSk7CkBAIC03NDMsOCArNzQzLDEzIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZnJhbWVEZXRhY2hlZEZyb21QYXJlbnQoRnJhbWUqIGZyYW1lKQogaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkKEZyYW1lKiBm
cmFtZSwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
ICAgIGlmIChJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2VudEZv
ckZyYW1lKGZyYW1lKSkKLSAgICAgICAgZGlkQ29tbWl0TG9hZEltcGwoaW5zcGVjdG9yQWdlbnQs
IGxvYWRlcik7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIFBhZ2UqIHBh
Z2UgPSBmcmFtZS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQgPSBpbnNwZWN0b3JBZ2VudEZvclBh
Z2UocGFnZSkpCisgICAgICAgIGRpZENvbW1pdExvYWRJbXBsKHBhZ2UsIGluc3BlY3RvckFnZW50
LCBsb2FkZXIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAppbmRleCBmYTJjNDhlLi44ODY3MDIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
Y3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1
ZXMuaCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTY3JpcHREZWJ1Z1NlcnZlci5oIgpAQCAt
NTYsMTQgKzU3LDE1IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBVc2VySW5pdGlhdGVkUHJv
ZmlsZU5hbWUgPSAib3JnLndlYmtpdC5wcm9maWxlcy51c2VyLWluCiBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgQ1BVUHJvZmlsZVR5cGUgPSAiQ1BVIjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCBIZWFwUHJvZmlsZVR5cGUgPSAiSEVBUCI7CiAKLVBhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmls
ZXJBZ2VudD4gSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlKEluc3BlY3RvckFnZW50KiBp
bnNwZWN0b3JBZ2VudCkKK1Bhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMsIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50LCBQYWdlKiBpbnNw
ZWN0ZWRQYWdlKQogewotICAgIE93blB0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBhZ2VudCA9
IGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JQcm9maWxlckFnZW50KGluc3BlY3RvckFnZW50KSk7Ci0g
ICAgcmV0dXJuIGFnZW50LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgY29uc29sZUFnZW50LCBpbnNw
ZWN0ZWRQYWdlKSk7CiB9CiAKLUluc3BlY3RvclByb2ZpbGVyQWdlbnQ6Okluc3BlY3RvclByb2Zp
bGVyQWdlbnQoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50KQotICAgIDogbV9pbnNwZWN0
b3JBZ2VudChpbnNwZWN0b3JBZ2VudCkKK0luc3BlY3RvclByb2ZpbGVyQWdlbnQ6Okluc3BlY3Rv
clByb2ZpbGVyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywg
SW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQsIFBhZ2UqIGluc3BlY3RlZFBhZ2Up
CisgICAgOiBtX2luc3RydW1lbnRpbmdBZ2VudHMoaW5zdHJ1bWVudGluZ0FnZW50cykKKyAgICAs
IG1fY29uc29sZUFnZW50KGNvbnNvbGVBZ2VudCkKKyAgICAsIG1faW5zcGVjdGVkUGFnZShpbnNw
ZWN0ZWRQYWdlKQogICAgICwgbV9mcm9udGVuZCgwKQogICAgICwgbV9lbmFibGVkKGZhbHNlKQog
ICAgICwgbV9yZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZShmYWxzZSkKQEAgLTcxLDEwICs3
MywxMiBAQCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpJbnNwZWN0b3JQcm9maWxlckFnZW50KElu
c3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudCkKICAgICAsIG1fbmV4dFVzZXJJbml0aWF0ZWRQ
cm9maWxlTnVtYmVyKDEpCiAgICAgLCBtX25leHRVc2VySW5pdGlhdGVkSGVhcFNuYXBzaG90TnVt
YmVyKDEpCiB7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JQcm9maWxl
ckFnZW50KHRoaXMpOwogfQogCiBJbnNwZWN0b3JQcm9maWxlckFnZW50Ojp+SW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudCgpCiB7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JQ
cm9maWxlckFnZW50KDApOwogfQogCiB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmFkZFBy
b2ZpbGUoUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBwcnBQcm9maWxlLCB1bnNpZ25lZCBsaW5l
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKQEAgLTkzLDcgKzk3LDcgQEAgdm9pZCBJ
bnNwZWN0b3JQcm9maWxlckFnZW50OjphZGRQcm9maWxlRmluaXNoZWRNZXNzYWdlVG9Db25zb2xl
KFBhc3NSZWZQdHI8U2NyaXAKICAgICBSZWZQdHI8U2NyaXB0UHJvZmlsZT4gcHJvZmlsZSA9IHBy
cFByb2ZpbGU7CiAgICAgU3RyaW5nIHRpdGxlID0gcHJvZmlsZS0+dGl0bGUoKTsKICAgICBTdHJp
bmcgbWVzc2FnZSA9IG1ha2VTdHJpbmcoIlByb2ZpbGUgXCJ3ZWJraXQtcHJvZmlsZTovLyIsIENQ
VVByb2ZpbGVUeXBlLCAnLycsIGVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXModGl0bGUpLCAn
IycsIFN0cmluZzo6bnVtYmVyKHByb2ZpbGUtPnVpZCgpKSwgIlwiIGZpbmlzaGVkLiIpOwotICAg
IG1faW5zcGVjdG9yQWdlbnQtPmNvbnNvbGVBZ2VudCgpLT5hZGRNZXNzYWdlVG9Db25zb2xlKEpT
TWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwg
bGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICBtX2NvbnNvbGVBZ2VudC0+YWRkTWVzc2FnZVRv
Q29uc29sZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWws
IG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudDo6YWRkU3RhcnRQcm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQpA
QCAtMTAxLDcgKzEwNSw3IEBAIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6YWRkU3RhcnRQ
cm9maWxpbmdNZXNzYWdlVG9Db25zb2xlKGNvbnN0IFN0cmluZyYgdGl0CiAgICAgaWYgKCFtX2Zy
b250ZW5kKQogICAgICAgICByZXR1cm47CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5n
KCJQcm9maWxlIFwid2Via2l0LXByb2ZpbGU6Ly8iLCBDUFVQcm9maWxlVHlwZSwgJy8nLCBlbmNv
ZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKHRpdGxlKSwgIiMwXCIgc3RhcnRlZC4iKTsKLSAgICBt
X2luc3BlY3RvckFnZW50LT5jb25zb2xlQWdlbnQoKS0+YWRkTWVzc2FnZVRvQ29uc29sZShKU01l
c3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGxp
bmVOdW1iZXIsIHNvdXJjZVVSTCk7CisgICAgbV9jb25zb2xlQWdlbnQtPmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgTG9nTWVzc2FnZUxldmVsLCBt
ZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCiBQYXNzUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlUHJvZmlsZUhlYWRlcihjb25z
dCBTY3JpcHRQcm9maWxlJiBwcm9maWxlKQpAQCAtMjQ3LDcgKzI1MSw3IEBAIHZvaWQgSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDo6c3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCkKICAgICBtX3Jl
Y29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlID0gdHJ1ZTsKICAgICBTdHJpbmcgdGl0bGUgPSBn
ZXRDdXJyZW50VXNlckluaXRpYXRlZFByb2ZpbGVOYW1lKHRydWUpOwogI2lmIFVTRShKU0MpCi0g
ICAgSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlID0gdG9KU0RPTVdpbmRvdyhtX2luc3BlY3Rv
ckFnZW50LT5pbnNwZWN0ZWRQYWdlKCktPm1haW5GcmFtZSgpLCBkZWJ1Z2dlcldvcmxkKCkpLT5n
bG9iYWxFeGVjKCk7CisgICAgSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlID0gdG9KU0RPTVdp
bmRvdyhtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpLCBkZWJ1Z2dlcldvcmxkKCkpLT5nbG9i
YWxFeGVjKCk7CiAjZWxzZQogICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IDA7CiAjZW5k
aWYKQEAgLTI2Myw3ICsyNjcsNyBAQCB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OnN0b3BV
c2VySW5pdGlhdGVkUHJvZmlsaW5nKGJvb2wgaWdub3JlUHJvZmlsZSkKICAgICBtX3JlY29yZGlu
Z1VzZXJJbml0aWF0ZWRQcm9maWxlID0gZmFsc2U7CiAgICAgU3RyaW5nIHRpdGxlID0gZ2V0Q3Vy
cmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZSgpOwogI2lmIFVTRShKU0MpCi0gICAgSlNDOjpF
eGVjU3RhdGUqIHNjcmlwdFN0YXRlID0gdG9KU0RPTVdpbmRvdyhtX2luc3BlY3RvckFnZW50LT5p
bnNwZWN0ZWRQYWdlKCktPm1haW5GcmFtZSgpLCBkZWJ1Z2dlcldvcmxkKCkpLT5nbG9iYWxFeGVj
KCk7CisgICAgSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlID0gdG9KU0RPTVdpbmRvdyhtX2lu
c3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpLCBkZWJ1Z2dlcldvcmxkKCkpLT5nbG9iYWxFeGVjKCk7
CiAjZWxzZQogICAgIC8vIFVzZSBudWxsIHNjcmlwdCBzdGF0ZSB0byBhdm9pZCBmaWx0ZXJpbmcg
YnkgY29udGV4dCBzZWN1cml0eSB0b2tlbi4KICAgICAvLyBBbGwgZnVuY3Rpb25zIGZyb20gYWxs
IGlmcmFtZXMgc2hvdWxkIGJlIHZpc2libGUgZnJvbSBJbnNwZWN0b3IgVUkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBmNzFi
YzZhLi44MzlkODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmgKQEAgLTQyLDkgKzQyLDExIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwotY2xhc3MgSW5zcGVjdG9yQWdlbnQ7CitjbGFzcyBJ
bnNwZWN0b3JDb25zb2xlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIElu
c3BlY3Rvck9iamVjdDsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFzcyBQYWdlOwog
Y2xhc3MgU2NyaXB0SGVhcFNuYXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIApAQCAtNTMs
NyArNTUsNyBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIGNsYXNzIEluc3BlY3RvclBy
b2ZpbGVyQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVy
QWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c093blB0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQWdlbnQqKTsK
KyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5z
dHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvckNvbnNvbGVBZ2VudCosIFBhZ2UqKTsKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CiAKICAgICB2b2lkIGFkZFByb2ZpbGUo
UGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBwcnBQcm9maWxlLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CkBAIC04MiwxMSArODQsMTMgQEAgcHJpdmF0ZToK
ICAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQgaW50LCBSZWZQdHI8U2NyaXB0UHJvZmlsZT4g
PiBQcm9maWxlc01hcDsKICAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQgaW50LCBSZWZQdHI8
U2NyaXB0SGVhcFNuYXBzaG90PiA+IEhlYXBTbmFwc2hvdHNNYXA7CiAKLSAgICBJbnNwZWN0b3JQ
cm9maWxlckFnZW50KEluc3BlY3RvckFnZW50Kik7CisgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ29uc29sZUFnZW50KiwgUGFnZSopOwog
ICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVQcm9maWxlSGVhZGVyKGNvbnN0
IFNjcmlwdFByb2ZpbGUmIHByb2ZpbGUpOwogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBjcmVhdGVTbmFwc2hvdEhlYWRlcihjb25zdCBTY3JpcHRIZWFwU25hcHNob3QmIHNuYXBzaG90
KTsKIAotICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50OworICAgIEluc3RydW1l
bnRpbmdBZ2VudHMqIG1faW5zdHJ1bWVudGluZ0FnZW50czsKKyAgICBJbnNwZWN0b3JDb25zb2xl
QWdlbnQqIG1fY29uc29sZUFnZW50OworICAgIFBhZ2UqIG1faW5zcGVjdGVkUGFnZTsKICAgICBJ
bnNwZWN0b3JGcm9udGVuZDo6UHJvZmlsZXIqIG1fZnJvbnRlbmQ7CiAgICAgYm9vbCBtX2VuYWJs
ZWQ7CiAgICAgYm9vbCBtX3JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggN2E3Njc2Zi4u
YzUzZWYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRp
bmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oCkBAIC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JDU1NBZ2VudDsKIGNsYXNzIEluc3BlY3RvckNvbnNv
bGVBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50OwpAQCAtNDYsNyArNDcsNiBAQCBjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50
OwogY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJlc291cmNl
QWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50aW1lQWdlbnQ7Ci1jbGFzcyBJbnNwZWN0b3JTdG9y
YWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogCiBjbGFzcyBJbnN0cnVt
ZW50aW5nQWdlbnRzIHsKQEAgLTU0LDMwICs1NCwzMSBAQCBjbGFzcyBJbnN0cnVtZW50aW5nQWdl
bnRzIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnN0cnVt
ZW50aW5nQWdlbnRzKCkKLSAgICAgICAgOiBtX2luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50
KDApCi0jaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKLSAgICAgICAgLCBtX2lu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgwKQotI2VuZGlmCisgICAgICAgIDogbV9pbnNw
ZWN0b3JDU1NBZ2VudCgwKQogICAgICAgICAsIG1faW5zcGVjdG9yQ29uc29sZUFnZW50KDApCiAg
ICAgICAgICwgbV9pbnNwZWN0b3JET01BZ2VudCgwKQorICAgICAgICAsIG1faW5zcGVjdG9yUmVz
b3VyY2VBZ2VudCgwKQorICAgICAgICAsIG1faW5zcGVjdG9yUnVudGltZUFnZW50KDApCisgICAg
ICAgICwgbV9pbnNwZWN0b3JUaW1lbGluZUFnZW50KDApCisjaWYgRU5BQkxFKERPTV9TVE9SQUdF
KQogICAgICAgICAsIG1faW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KDApCisjZW5kaWYKKyNpZiBF
TkFCTEUoREFUQUJBU0UpCiAgICAgICAgICwgbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCisj
ZW5kaWYKKyNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQorICAgICAgICAsIG1f
aW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KDApCisjZW5kaWYKKyNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikKICAgICAgICAgLCBtX2luc3BlY3RvckRlYnVnZ2VyQWdlbnQoMCkK
KyAgICAgICAgLCBtX2luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KDApCiAgICAgICAgICwg
bV9pbnNwZWN0b3JQcm9maWxlckFnZW50KDApCi0gICAgICAgICwgbV9pbnNwZWN0b3JSZXNvdXJj
ZUFnZW50KDApCi0gICAgICAgICwgbV9pbnNwZWN0b3JSdW50aW1lQWdlbnQoMCkKLSAgICAgICAg
LCBtX2luc3BlY3RvclN0b3JhZ2VBZ2VudCgwKQotICAgICAgICAsIG1faW5zcGVjdG9yVGltZWxp
bmVBZ2VudCgwKQorI2VuZGlmCiAgICAgeyB9CiAgICAgfkluc3RydW1lbnRpbmdBZ2VudHMoKSB7
IH0KIAotICAgIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBpbnNwZWN0b3JCcm93c2Vy
RGVidWdnZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQnJvd3NlckRlYnVnZ2Vy
QWdlbnQ7IH0KLSAgICB2b2lkIHNldEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KEluc3Bl
Y3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckJyb3dzZXJEZWJ1
Z2dlckFnZW50ID0gYWdlbnQ7IH0KLQotI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpCi0gICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBpbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudDsgfQotICAgIHZvaWQgc2V0SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KElu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQgPSBhZ2VudDsgfQotI2VuZGlmCisgICAgSW5zcGVjdG9yQ1NTQWdlbnQq
IGluc3BlY3RvckNTU0FnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JDU1NBZ2VudDsg
fQorICAgIHZvaWQgc2V0SW5zcGVjdG9yQ1NTQWdlbnQoSW5zcGVjdG9yQ1NTQWdlbnQqIGFnZW50
KSB7IG1faW5zcGVjdG9yQ1NTQWdlbnQgPSBhZ2VudDsgfQogCiAgICAgSW5zcGVjdG9yQ29uc29s
ZUFnZW50KiBpbnNwZWN0b3JDb25zb2xlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3Rv
ckNvbnNvbGVBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yQ29uc29sZUFnZW50KEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JDb25zb2xlQWdlbnQgPSBhZ2Vu
dDsgfQpAQCAtODUsNDUgKzg2LDU5IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JET01BZ2VudCog
aW5zcGVjdG9yRE9NQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckRPTUFnZW50OyB9
CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JET01BZ2VudChJbnNwZWN0b3JET01BZ2VudCogYWdlbnQp
IHsgbV9pbnNwZWN0b3JET01BZ2VudCA9IGFnZW50OyB9CiAKLSAgICBJbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQqIGluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OyB9Ci0gICAgdm9pZCBzZXRJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudCA9IGFnZW50OyB9Ci0KLSAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBpbnNw
ZWN0b3JEYXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEYXRhYmFzZUFn
ZW50OyB9Ci0gICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3BlY3RvckRhdGFi
YXNlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFnZW50OyB9Ci0K
LSAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBpbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50OyB9Ci0gICAgdm9pZCBzZXRJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50KEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGFnZW50KSB7IG1faW5z
cGVjdG9yRGVidWdnZXJBZ2VudCA9IGFnZW50OyB9Ci0KLSAgICBJbnNwZWN0b3JQcm9maWxlckFn
ZW50KiBpbnNwZWN0b3JQcm9maWxlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JQ
cm9maWxlckFnZW50OyB9Ci0gICAgdm9pZCBzZXRJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA9IGFn
ZW50OyB9Ci0KICAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBpbnNwZWN0b3JSZXNvdXJjZUFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JSZXNvdXJjZUFnZW50OyB9CiAgICAgdm9p
ZCBzZXRJbnNwZWN0b3JSZXNvdXJjZUFnZW50KEluc3BlY3RvclJlc291cmNlQWdlbnQqIGFnZW50
KSB7IG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudCA9IGFnZW50OyB9CiAKICAgICBJbnNwZWN0b3JS
dW50aW1lQWdlbnQqIGluc3BlY3RvclJ1bnRpbWVBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5z
cGVjdG9yUnVudGltZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JSdW50aW1lQWdlbnQo
SW5zcGVjdG9yUnVudGltZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclJ1bnRpbWVBZ2VudCA9
IGFnZW50OyB9CiAKLSAgICBJbnNwZWN0b3JTdG9yYWdlQWdlbnQqIGluc3BlY3RvclN0b3JhZ2VB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yU3RvcmFnZUFnZW50OyB9Ci0gICAgdm9p
ZCBzZXRJbnNwZWN0b3JTdG9yYWdlQWdlbnQoSW5zcGVjdG9yU3RvcmFnZUFnZW50KiBhZ2VudCkg
eyBtX2luc3BlY3RvclN0b3JhZ2VBZ2VudCA9IGFnZW50OyB9Ci0KICAgICBJbnNwZWN0b3JUaW1l
bGluZUFnZW50KiBpbnNwZWN0b3JUaW1lbGluZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNw
ZWN0b3JUaW1lbGluZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JUaW1lbGluZUFnZW50
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCA9IGFnZW50OyB9CiAKLXByaXZhdGU6Ci0gICAgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdl
bnQqIG1faW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ7CisjaWYgRU5BQkxFKERPTV9TVE9S
QUdFKQorICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogaW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7IH0KKyAgICB2
b2lkIHNldEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQq
IGFnZW50KSB7IG1faW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgor
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50KiBpbnNwZWN0
b3JEYXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50
OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3BlY3RvckRhdGFiYXNl
QWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFnZW50OyB9CisjZW5k
aWYKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQotICAgIEluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudCogbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ7Cisg
ICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KiBpbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdH
RVIpCisgICAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogaW5zcGVjdG9yRGVidWdnZXJBZ2VudCgp
IGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRGVidWdnZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0
SW5zcGVjdG9yRGVidWdnZXJBZ2VudChJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBhZ2VudCkgeyBt
X2luc3BlY3RvckRlYnVnZ2VyQWdlbnQgPSBhZ2VudDsgfQorCisgICAgSW5zcGVjdG9yQnJvd3Nl
ckRlYnVnZ2VyQWdlbnQqIGluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQoSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQq
IGFnZW50KSB7IG1faW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQgPSBhZ2VudDsgfQorCisg
ICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVj
dG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisgICAgSW5z
cGVjdG9yQ1NTQWdlbnQqIG1faW5zcGVjdG9yQ1NTQWdlbnQ7CiAgICAgSW5zcGVjdG9yQ29uc29s
ZUFnZW50KiBtX2luc3BlY3RvckNvbnNvbGVBZ2VudDsKICAgICBJbnNwZWN0b3JET01BZ2VudCog
bV9pbnNwZWN0b3JET01BZ2VudDsKKyAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBtX2luc3Bl
Y3RvclJlc291cmNlQWdlbnQ7CisgICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBtX2luc3BlY3Rv
clJ1bnRpbWVBZ2VudDsKKyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBtX2luc3BlY3RvclRp
bWVsaW5lQWdlbnQ7CisjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgIEluc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudCogbV9pbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CisjZW5kaWYKKyNpZiBFTkFC
TEUoREFUQUJBU0UpCiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9pbnNwZWN0b3JEYXRh
YmFzZUFnZW50OworI2VuZGlmCisjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykK
KyAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIG1faW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50OworI2VuZGlmCisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAg
ICAgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9pbnNwZWN0b3JEZWJ1Z2dlckFnZW50OworICAg
IEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBtX2luc3BlY3RvckJyb3dzZXJEZWJ1Z2dl
ckFnZW50OwogICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIG1faW5zcGVjdG9yUHJvZmlsZXJB
Z2VudDsKLSAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBtX2luc3BlY3RvclJlc291cmNlQWdl
bnQ7Ci0gICAgSW5zcGVjdG9yUnVudGltZUFnZW50KiBtX2luc3BlY3RvclJ1bnRpbWVBZ2VudDsK
LSAgICBJbnNwZWN0b3JTdG9yYWdlQWdlbnQqIG1faW5zcGVjdG9yU3RvcmFnZUFnZW50OwotICAg
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIG1faW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKKyNlbmRp
ZgogfTsKIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>