<?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>137082</bug_id>
          
          <creation_ts>2014-09-24 16:04:06 -0700</creation_ts>
          <short_desc>Web Replay: record event loop timings using elapsed time during capturing only</short_desc>
          <delta_ts>2017-07-10 14:01:30 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136290</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>graouts</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1037061</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-24 16:04:06 -0700</bug_when>
    <thetext>We capture new timings on capture/replay currently, which makes it hard to do anything sensible on the timelines UI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037062</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-09-24 16:04:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/18447710&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037063</commentid>
    <comment_count>2</comment_count>
      <attachid>238616</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-24 16:05:05 -0700</bug_when>
    <thetext>Created attachment 238616
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037155</commentid>
    <comment_count>3</comment_count>
      <attachid>238616</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-09-24 21:46:51 -0700</bug_when>
    <thetext>Comment on attachment 238616
WIP

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

&gt; Source/WebCore/replay/CapturingInputCursor.cpp:62
&gt; +    , m_stopwatch(Stopwatch::create())

Maybe I don&apos;t understand. but it seems odd to create and store Stopwatch here.

&gt; Source/WebCore/replay/ReplaySessionSegment.h:56
&gt; +    Vector&lt;double, 0&gt;&amp; eventLoopTimings() { return m_eventLoopTimings; }

Why the &quot;, 0&quot;? Isn&apos;t that the default?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060732</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-12 17:27:55 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 238616 [details]
&gt; WIP
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=238616&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/replay/CapturingInputCursor.cpp:62
&gt; &gt; +    , m_stopwatch(Stopwatch::create())
&gt; 
&gt; Maybe I don&apos;t understand. but it seems odd to create and store Stopwatch
&gt; here.

It seemed like the best place for the stopwatch. CapturingInputCursor is only available while capturing, and we only need this stopwatch during capturing. If it belonged to ReplayController it might be shared accidentally between sessions. It could belong on ReplaySession or ReplaySessionSegment, but then it would do nothing but waste space once capturing is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061224</commentid>
    <comment_count>5</comment_count>
      <attachid>244613</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:52:29 -0800</bug_when>
    <thetext>Created attachment 244613
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061226</commentid>
    <comment_count>6</comment_count>
      <attachid>244613</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:53:13 -0800</bug_when>
    <thetext>Comment on attachment 244613
WIP

Wrong bug. webkit-patch gets real confused by git sometimes :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327172</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-07-10 14:01:30 -0700</bug_when>
    <thetext>Closing web replay-related bugs until we resume working on the feature again.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238616</attachid>
            <date>2014-09-24 16:05:05 -0700</date>
            <delta_ts>2014-09-24 21:46:51 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-137082-20140924160458.patch</filename>
            <type>text/plain</type>
            <size>11875</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcAppbmRleCA5NDhjYmNhZDQwZDM1NzMzNjljNjVk
OGVkNGUyZTkzYWY4ZTc2MWM5Li44MDMxYzZjOWI4MDc2ZThkNGFiNDkzYTRiZjFiY2VjOGMzNTFm
MWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlB
Z2VudC5jcHAKQEAgLTk5LDE0ICs5OSwxNSBAQCBzdGF0aWMgSW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpTZWdtZW50U3RhdGUgYnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50UwogICAg
IH0KIH0KIAotY2xhc3MgU2VyaWFsaXplSW5wdXRUb0pTT05GdW5jdG9yIHsKK2NsYXNzIFNlcmlh
bGl6ZVNlZ21lbnRJbnB1dHNUb0pTT05GdW5jdG9yIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFBh
c3NSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpSZXBsYXlJbnB1dD4+IFJldHVyblR5cGU7CiAKLSAgICBTZXJpYWxpemVJbnB1dFRv
SlNPTkZ1bmN0b3IoUmVwbGF5Q2xpZW50JiBjbGllbnQpCi0gICAgICAgIDogbV9jbGllbnQoY2xp
ZW50KQorICAgIFNlcmlhbGl6ZVNlZ21lbnRJbnB1dHNUb0pTT05GdW5jdG9yKFJlcGxheVNlc3Np
b25TZWdtZW50JiBzZWdtZW50LCBSZXBsYXlDbGllbnQmIGNsaWVudCkKKyAgICAgICAgOiBtX3Nl
Z21lbnQoc2VnbWVudCkKKyAgICAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgICAgICwgbV9p
bnB1dHMoSW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVw
bGF5OjpSZXBsYXlJbnB1dD46OmNyZWF0ZSgpKSB7IH0KLSAgICB+U2VyaWFsaXplSW5wdXRUb0pT
T05GdW5jdG9yKCkgeyB9CisgICAgflNlcmlhbGl6ZVNlZ21lbnRJbnB1dHNUb0pTT05GdW5jdG9y
KCkgeyB9CiAKICAgICB2b2lkIG9wZXJhdG9yKCkoc2l6ZV90IGluZGV4LCBjb25zdCBOb25kZXRl
cm1pbmlzdGljSW5wdXRCYXNlKiBpbnB1dCkKICAgICB7CkBAIC0xMjEsMTEgKzEyMiwxNSBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAuc2V0T2Zmc2V0KGluZGV4KQogICAgICAgICAgICAgLnNldERh
dGEoZW5jb2RlZElucHV0LmFzT2JqZWN0KCkpOwogCisgICAgICAgIGlmIChpbnB1dC0+cXVldWUo
KSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dCkKKyAgICAgICAgICAgIGlucHV0T2JqZWN0
LT5zZXRUaW1lc3RhbXAobV9zZWdtZW50LmV2ZW50TG9vcFRpbWluZ3MoKS5hdChpbmRleCkpOwor
CiAgICAgICAgIG1faW5wdXRzLT5hZGRJdGVtKGlucHV0T2JqZWN0LnJlbGVhc2UoKSk7CiAgICAg
fQogCiAgICAgUmV0dXJuVHlwZSByZXR1cm5WYWx1ZSgpIHsgcmV0dXJuIG1faW5wdXRzLnJlbGVh
c2UoKTsgfQogcHJpdmF0ZToKKyAgICBSZXBsYXlTZXNzaW9uU2VnbWVudCYgbV9zZWdtZW50Owog
ICAgIFJlcGxheUNsaWVudCYgbV9jbGllbnQ7CiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJlcGxheTo6UmVwbGF5SW5wdXQ+PiBtX2lu
cHV0czsKIH07CkBAIC0xMzYsNyArMTQxLDcgQEAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9y
OjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVpbGRJbnNwZWN0b3JPYmoKICAg
ICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpSZXBsYXlJbnB1dFF1ZXVlPj4gcXVldWVzT2JqZWN0ID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpSZXBsYXlJbnB1dFF1ZXVl
Pjo6Y3JlYXRlKCk7CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0YXRpY19jYXN0PHNp
emVfdD4oSW5wdXRRdWV1ZTo6Q291bnQpOyBpKyspIHsKLSAgICAgICAgU2VyaWFsaXplSW5wdXRU
b0pTT05GdW5jdG9yIGNvbGxlY3RvcihjbGllbnQpOworICAgICAgICBTZXJpYWxpemVTZWdtZW50
SW5wdXRzVG9KU09ORnVuY3RvciBjb2xsZWN0b3IoKnNlZ21lbnQsIGNsaWVudCk7CiAgICAgICAg
IElucHV0UXVldWUgcXVldWUgPSBzdGF0aWNfY2FzdDxJbnB1dFF1ZXVlPihpKTsKICAgICAgICAg
UmVmUHRyPEZ1bmN0b3JJbnB1dEN1cnNvcj4gZnVuY3RvckN1cnNvciA9IEZ1bmN0b3JJbnB1dEN1
cnNvcjo6Y3JlYXRlKHNlZ21lbnQpOwogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpSZXBsYXlJbnB1dD4+IHF1ZXVl
SW5wdXRzID0gZnVuY3RvckN1cnNvci0+Zm9yRWFjaElucHV0SW5RdWV1ZShxdWV1ZSwgY29sbGVj
dG9yKTsKQEAgLTMwNyw3ICszMTIsNyBAQCB2b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpwbGF5
YmFja1BhdXNlZChjb25zdCBSZXBsYXlQb3NpdGlvbiYgcG9zaXRpb24pCiAKIHZvaWQgSW5zcGVj
dG9yUmVwbGF5QWdlbnQ6OnBsYXliYWNrSGl0UG9zaXRpb24oY29uc3QgUmVwbGF5UG9zaXRpb24m
IHBvc2l0aW9uKQogewotICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5wbGF5YmFja0hpdFBvc2l0
aW9uKGJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9yUG9zaXRpb24ocG9zaXRpb24pLCBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSk7CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnBsYXliYWNr
SGl0UG9zaXRpb24oYnVpbGRJbnNwZWN0b3JPYmplY3RGb3JQb3NpdGlvbihwb3NpdGlvbikpOwog
fQogCiB2b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpwbGF5YmFja0ZpbmlzaGVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9SZXBsYXkuanNvbiBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9SZXBsYXkuanNvbgppbmRleCA3NzNmOWQ3
NmM1ODkzYTUxYTllOGFlODExMDg0MTc0NGE5YzBjMDlkLi5mZmM5NzdlODEyMjc5NDI3Yjg3MWQ2
ZDliMGU4ZjdiY2VhZTYwZmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
cHJvdG9jb2wvUmVwbGF5Lmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL1JlcGxheS5qc29uCkBAIC0zNSw2ICszNSw3IEBACiAgICAgICAgICAgICAicHJvcGVydGll
cyI6IFsKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJzdHJpbmci
LCAiZGVzY3JpcHRpb24iOiAiSW5wdXQgdHlwZS4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJvZmZzZXQiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0aW9uIjogIk9mZnNldCBv
ZiB0aGlzIGlucHV0IGluIGl0cyByZXNwZWN0aXZlIHF1ZXVlLiJ9LAorICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1
ZSwgImRlc2NyaXB0aW9uIjogIlRpbWVzdGFtcCBvZiB0aGUgaW5wdXQgc2luY2UgYmVnaW5uaW5n
IG9mIHRoZSBzZWdtZW50LCBpZiBhcHBsaWNhYmxlLiJ9LAogICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiZGF0YSIsICJ0eXBlIjogIm9iamVjdCIsICJkZXNjcmlwdGlvbiI6ICJQZXItaW5wdXQg
cGF5bG9hZC4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAgfSwKQEAgLTE4MCw4ICsxODEsNyBA
QAogICAgICAgICAgICAgIm5hbWUiOiAicGxheWJhY2tIaXRQb3NpdGlvbiIsCiAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiQSBwb3NpdGlvbiB3YXMgcmVhY2hlZCBkdXJpbmcgcGxheWJhY2sg
b2YgdGhlIHNlc3Npb24uIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicG9zaXRpb24iLCAiJHJlZiI6ICJSZXBsYXlQb3NpdGlvbiIsICJk
ZXNjcmlwdGlvbiI6ICJUaGUgcGxheWJhY2sgcG9zaXRpb24gdGhhdCB3YXMgaGl0LiIgfSwKLSAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWVzdGFtcCIsICJ0eXBlIjogIm51bWJlciIsICJk
ZXNjcmlwdGlvbiI6ICJBIHRpbWVzdGFtcCBmb3IgdGhlIGV2ZW50LiIgfQorICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAicG9zaXRpb24iLCAiJHJlZiI6ICJSZXBsYXlQb3NpdGlvbiIsICJkZXNj
cmlwdGlvbiI6ICJUaGUgcGxheWJhY2sgcG9zaXRpb24gdGhhdCB3YXMgaGl0LiIgfQogICAgICAg
ICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5
L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcAppbmRleCA3MzE4NDJlODIxOTc5NGJhZTg5YTExODA3
MTY3YmU3MTE1ODU2YjA4Li5hZGNlOGY2OTdmOTQ5Y2YzNzkxNjViNzUwNWZhZTRiZjIzZDQ5NTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAK
QEAgLTU5LDEzICs1OSwxOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDYXB0dXJpbmdJbnB1dEN1
cnNvcjo6Q2FwdHVyaW5nSW5wdXRDdXJzb3IoUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVu
dD4gc2VnbWVudCwgUGFnZSYgcGFnZSkKICAgICA6IG1fc2VnbWVudChzZWdtZW50KQogICAgICwg
bV9wYWdlKHBhZ2UpCisgICAgLCBtX3N0b3B3YXRjaChTdG9wd2F0Y2g6OmNyZWF0ZSgpKQogewog
ICAgIExPRyhXZWJSZXBsYXksICIlLTMwc0NyZWF0ZWQgY2FwdHVyZSBjdXJzb3I9JXAuXG4iLCAi
W1JlcGxheUNvbnRyb2xsZXJdIiwgdGhpcyk7CisKKyAgICBtX3N0b3B3YXRjaC0+cmVzZXQoKTsK
KyAgICBtX3N0b3B3YXRjaC0+c3RhcnQoKTsKIH0KIAogQ2FwdHVyaW5nSW5wdXRDdXJzb3I6On5D
YXB0dXJpbmdJbnB1dEN1cnNvcigpCiB7CiAgICAgTE9HKFdlYlJlcGxheSwgIiUtMzBzRGVzdHJv
eWVkIGNhcHR1cmUgY3Vyc29yPSVwLlxuIiwgIltSZXBsYXlDb250cm9sbGVyXSIsIHRoaXMpOwor
CisgICAgbV9zdG9wd2F0Y2gtPnN0b3AoKTsKIH0KIAogUGFzc1JlZlB0cjxDYXB0dXJpbmdJbnB1
dEN1cnNvcj4gQ2FwdHVyaW5nSW5wdXRDdXJzb3I6OmNyZWF0ZShQYXNzUmVmUHRyPFJlcGxheVNl
c3Npb25TZWdtZW50PiBzZWdtZW50LCBQYWdlJiBwYWdlKQpAQCAtNzksNyArODUsNyBAQCB2b2lk
IENhcHR1cmluZ0lucHV0Q3Vyc29yOjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxOb25kZXRl
cm1pbmlzdGljSW5wdXRCYXNlPgogCiAgICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVl
dWU6OkV2ZW50TG9vcElucHV0KSB7CiAgICAgICAgIC8vIEZJWE1FOiByZXdyaXRlIHRoaXMgKGFu
ZCByZWxhdGVkIGRpc3BhdGNoIGNvZGUpIHRvIHVzZSBzdGQ6OmNocm9uby4KLSAgICAgICAgZG91
YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBkb3VibGUg
bm93ID0gbV9zdG9wd2F0Y2gtPmVsYXBzZWRUaW1lKCk7CiAgICAgICAgIG1fc2VnbWVudC0+ZXZl
bnRMb29wVGltaW5ncygpLmFwcGVuZChub3cpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuaAppbmRleCAzMWYzMDYxNzNhNzYwYTc3YWU1ODYy
YTc5M2M1YzQ0MWZhMTg0NjA3Li5mM2U4OTc1OTkxZmJkNDIwOWJlMzQyNGQ2MzJjNWJjNjYzOTIx
MTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJz
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuaApA
QCAtMzIsNiArMzIsNyBAQAogCiAjaW5jbHVkZSA8cmVwbGF5L0lucHV0Q3Vyc29yLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1N0b3B3YXRjaC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU5LDYgKzYwLDcgQEAgcHJpdmF0ZToKIAogICAgIFJl
ZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gbV9zZWdtZW50OwogICAgIFBhZ2UmIG1fcGFnZTsK
KyAgICBSZWZQdHI8U3RvcHdhdGNoPiBtX3N0b3B3YXRjaDsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1
dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlz
cGF0Y2hlci5jcHAKaW5kZXggMzk3NjNiN2ViMjM0ZGRmM2E1ODQwOTcwZWQ5MjdlOTgwNDVmN2Q5
OS4uNjkxODRlN2U1ZjM5ZGI2MGE5NDUzMTkyZTg1Mjk1Mjc4NmRhODZhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTU2
LDE1ICs1NiwxOCBAQCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlcihQYWdlJiBwYWdlLCBSZXBsYXlpbmdJbnB1dEN1cgogICAgICwgbV9zcGVlZChEaXNw
YXRjaFNwZWVkOjpGYXN0Rm9yd2FyZCkKICAgICAsIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGlt
ZSgwLjApCiAgICAgLCBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAoMC4wKQorICAgICwgbV9zdG9w
d2F0Y2goU3RvcHdhdGNoOjpjcmVhdGUoKSkKIHsKICAgICBtX2N1cnJlbnRXb3JrLmlucHV0ID0g
bnVsbHB0cjsKICAgICBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCA9IDAuMDsKKyAgICBtX3N0b3B3
YXRjaC0+cmVzZXQoKTsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnJ1bigp
CiB7CiAgICAgQVNTRVJUKCFtX3J1bm5pbmcpOwogICAgIG1fcnVubmluZyA9IHRydWU7CisgICAg
bV9zdG9wd2F0Y2gtPnN0YXJ0KCk7CiAKICAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgU3RhcnRp
bmcgZGlzcGF0Y2ggb2YgZXZlbnQgbG9vcCBpbnB1dHMgZm9yIHBhZ2U6ICVwXG4iLCAiUmVwbGF5
RXZlbnRzIiwgJm1fcGFnZSk7CiAgICAgZGlzcGF0Y2hJbnB1dFNvb24oKTsKQEAgLTc1LDYgKzc4
LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnBhdXNlKCkKICAgICBBU1NFUlQo
IW1fZGlzcGF0Y2hpbmcpOwogICAgIEFTU0VSVChtX3J1bm5pbmcpOwogICAgIG1fcnVubmluZyA9
IGZhbHNlOworICAgIG1fc3RvcHdhdGNoLT5zdG9wKCk7CiAKICAgICBMT0coV2ViUmVwbGF5LCAi
JS0yMHMgUGF1c2luZyBkaXNwYXRjaCBvZiBldmVudCBsb29wIGlucHV0cyBmb3IgcGFnZTogJXBc
biIsICJSZXBsYXlFdmVudHMiLCAmbV9wYWdlKTsKICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgp
KQpAQCAtMTA5LDcgKzExMyw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNw
YXRjaElucHV0U29vbigpCiAgICAgICAgICAgICBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAgPSBt
X2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKIAogICAgICAgICBkb3VibGUgdGFyZ2V0SW50ZXJ2YWwg
PSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKLSAg
ICAgICAgZG91YmxlIGVsYXBzZWQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1f
cHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKKyAgICAgICAgZG91YmxlIGVsYXBzZWQgPSBtX3N0
b3B3YXRjaC0+ZWxhcHNlZFRpbWUoKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAg
ICAgICAgd2FpdEludGVydmFsID0gdGFyZ2V0SW50ZXJ2YWwgLSBlbGFwc2VkOwogICAgIH0KIApA
QCAtMTMzLDcgKzEzNyw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRj
aElucHV0KCkKICAgICBBU1NFUlQoIW1fZGlzcGF0Y2hpbmcpOwogCiAgICAgaWYgKG1fc3BlZWQg
PT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRpbWUpIHsKLSAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNo
U3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIG1fcHJl
dmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1fc3RvcHdhdGNoLT5lbGFwc2VkVGltZSgpOwogICAg
ICAgICBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1
dERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuaAppbmRleCA2YjU2YzhkYzQyN2E1YzkyN2I2MGNkMGU2NmY0OTAyNmM5Mjc4NDc2Li40
ODg0YWYzYmNkNzdiNDk5OThmODdhMmY5NGRhYWEyZTYyNjE4ZWZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiRXZlbnRMb29wSW5wdXQuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
QEAgLTkxLDYgKzkyLDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9wcmV2aW91c0Rpc3BhdGNo
U3RhcnRUaW1lOwogICAgIC8vIFRoZSB0aW1lc3RhbXAgc3BlY2lmaWVkIGJ5IHRoZSBsYXN0IGRp
c3BhdGNoZWQgaW5wdXQuCiAgICAgZG91YmxlIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKKyAg
ICBSZWZQdHI8U3RvcHdhdGNoPiBtX3N0b3B3YXRjaDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2Vn
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmgKaW5k
ZXggNWQ0NTA0MTg3ZDhjYzlmYTk1N2Y0NmQ5NWM5NWYzZGQ3M2NmNGM1MC4uNWYyOWQ0NTA5NzI3
NWI1MzQ1ZDFjMjZmYmIyYjU3ZmVlMjlkOGJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheVNlc3Npb25TZWdtZW50LmgKQEAgLTUzLDkgKzUzLDEwIEBAIHB1YmxpYzoKIAogICAg
IHVuc2lnbmVkIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAg
ICBkb3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKyAgICBW
ZWN0b3I8ZG91YmxlLCAwPiYgZXZlbnRMb29wVGltaW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29w
VGltaW5nczsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgU2VnbWVudGVkSW5wdXRTdG9yYWdlJiBzdG9y
YWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQotICAgIFZlY3Rvcjxkb3VibGUsIDA+JiBldmVu
dExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6
CiAgICAgUmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1JlcGxheU1hbmFnZXIuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9SZXBsYXlNYW5hZ2Vy
LmpzCmluZGV4IDEwNzU0MGMzMTAxZDM5MTkzMDVlZTI0ZDMzNDY0ZTFiYWM3ODQ2YmYuLjIxMTA3
ODY3NjVlOWI0NjBjNDFhNTYzNWI2ZmNhNDg5MjlkZjk1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1JlcGxheU1hbmFnZXIuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvUmVw
bGF5TWFuYWdlci5qcwpAQCAtNDYwLDEwICs0NjAsMTAgQEAgV2ViSW5zcGVjdG9yLlJlcGxheU1h
bmFnZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuUmVwbGF5TWFuYWdlci5FdmVudC5QbGF5YmFja1N0YXJ0ZWQpOwogICAg
IH0sCiAKLSAgICBwbGF5YmFja0hpdFBvc2l0aW9uOiBmdW5jdGlvbihyZXBsYXlQb3NpdGlvbiwg
dGltZXN0YW1wKQorICAgIHBsYXliYWNrSGl0UG9zaXRpb246IGZ1bmN0aW9uKHJlcGxheVBvc2l0
aW9uKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9pbml0aWFsaXplZCkKLSAgICAgICAgICAg
IHJldHVybiB0aGlzLndhaXRVbnRpbEluaXRpYWxpemVkKCkudGhlbih0aGlzLnBsYXliYWNrSGl0
UG9zaXRpb24uYmluZCh0aGlzLCByZXBsYXlQb3NpdGlvbiwgdGltZXN0YW1wKSk7CisgICAgICAg
ICAgICByZXR1cm4gdGhpcy53YWl0VW50aWxJbml0aWFsaXplZCgpLnRoZW4odGhpcy5wbGF5YmFj
a0hpdFBvc2l0aW9uLmJpbmQodGhpcywgcmVwbGF5UG9zaXRpb24pKTsKIAogICAgICAgICBjb25z
b2xlLmFzc2VydCh0aGlzLnNlc3Npb25TdGF0ZSA9PT0gV2ViSW5zcGVjdG9yLlJlcGxheU1hbmFn
ZXIuU2Vzc2lvblN0YXRlLlJlcGxheWluZyk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMu
c2VnbWVudFN0YXRlID09PSBXZWJJbnNwZWN0b3IuUmVwbGF5TWFuYWdlci5TZWdtZW50U3RhdGUu
RGlzcGF0Y2hpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvUHJvdG9jb2wvUmVwbGF5T2JzZXJ2ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Qcm90b2NvbC9SZXBsYXlPYnNlcnZlci5qcwppbmRleCA5MTY2ZGI3ZjZi
MTE1MGQ0Yjg2MWU1NTRiOWY4MWQxZWZmNTFlMDZlLi4zNmJkMDNjZWZiYzA0OGRmNjgxMjVmN2Q5
N2EzZTAzMTVlM2ExN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Qcm90b2NvbC9SZXBsYXlPYnNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9SZXBsYXlPYnNlcnZlci5qcwpAQCAtNTksOSAr
NTksOSBAQCBXZWJJbnNwZWN0b3IuUmVwbGF5T2JzZXJ2ZXIucHJvdG90eXBlID0gewogICAgICAg
ICBXZWJJbnNwZWN0b3IucmVwbGF5TWFuYWdlci5wbGF5YmFja1N0YXJ0ZWQoKTsKICAgICB9LAog
Ci0gICAgcGxheWJhY2tIaXRQb3NpdGlvbjogZnVuY3Rpb24ocmVwbGF5UG9zaXRpb24sIHRpbWVz
dGFtcCkKKyAgICBwbGF5YmFja0hpdFBvc2l0aW9uOiBmdW5jdGlvbihyZXBsYXlQb3NpdGlvbikK
ICAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5yZXBsYXlNYW5hZ2VyLnBsYXliYWNrSGl0UG9z
aXRpb24oV2ViSW5zcGVjdG9yLlJlcGxheVBvc2l0aW9uLmZyb21Qcm90b2NvbChyZXBsYXlQb3Np
dGlvbiksIHRpbWVzdGFtcCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5yZXBsYXlNYW5hZ2VyLnBs
YXliYWNrSGl0UG9zaXRpb24oV2ViSW5zcGVjdG9yLlJlcGxheVBvc2l0aW9uLmZyb21Qcm90b2Nv
bChyZXBsYXlQb3NpdGlvbikpOwogICAgIH0sCiAKICAgICBwbGF5YmFja1BhdXNlZDogZnVuY3Rp
b24ocmVwbGF5UG9zaXRpb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244613</attachid>
            <date>2015-01-14 10:52:29 -0800</date>
            <delta_ts>2015-01-14 10:53:13 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-137082-20150114105201.patch</filename>
            <type>text/plain</type>
            <size>43693</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI5ZTE1M2ZkMjFlYjM0
Y2ZhOWIwZjhjNTZiODM3ZmIwYjVhMDcwMy4uNDg5NWRjOWI4NzY4N2Y2Y2VkZWM1MTk0OGU0YWI4
YmEyNGNkYjliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE1LTAxLTA5ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgUmVwbGF5
OiBjcmVhdGUgYSBSZXBsYXlDbGllbnQgZm9yIFBhZ2UgYW5kIGRpc3BhdGNoIGlucHV0cyB0aHJv
dWdoIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA0NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
aWdodCBub3cgYWxsIGRpc3BhdGNoYWJsZSBpbnB1dHMgYXJlIGRpc3BhdGNoZWQgZnJvbSBXZWJD
b3JlIHVzaW5nIFBhZ2UmLCBidXQKKyAgICAgICAgd2Ugd2FudCB0byBiZSBhYmxlIHRvIGRpc3Bh
dGNoIHNvbWUgV0syLW9ubHkgaW5wdXRzIGZyb20gV2ViS2l0MiB1c2luZyBXZWJQYWdlJi4KKyAg
ICAgICAgQXMgYSBmaXJzdCBzdGVwLCB0aGlzIHBhdGNoIGNyZWF0ZXMgYSBSZXBsYXlDbGllbnQg
aW50ZXJmYWNlIHRoYXQgZGVsZWdhdGVzCisgICAgICAgIGRpc3BhdGNoaW5nIGlucHV0cyB0byBh
IFdlYlBhZ2UncyBXZWJSZXBsYXlDbGllbnQuCisKKyAgICAgICAgRm9sbG93dXAgcGF0Y2hlcyB3
aWxsIGludHJvZHVjZSB0aGUgbm90aW9uIG9mIGRpc3BhdGNoaW5nIGZyb20gZGlmZmVyZW50IGNv
bnRleHRzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlZC4KKwor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBs
b2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxXaXRoRW1wdHlD
bGllbnRzKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJD
b3JlOjpFbXB0eVJlcGxheUNsaWVudDo6RW1wdHlSZXBsYXlDbGllbnQpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkVtcHR5UmVwbGF5Q2xpZW50Ojp+RW1wdHlSZXBsYXlDbGllbnQpOiBBZGRl
ZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFn
ZSk6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHJlcGxh
eS9FdmVudExvb3BJbnB1dC5oOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpk
aXNwYXRjaElucHV0KTogZGVsZWdhdGUgdG8gUmVwbGF5Q2xpZW50IHdoZW4KKyAgICAgICAgZGlz
cGF0Y2hpbmcgaW5wdXRzIGR1cmluZyBwbGF5YmFjay4KKyAgICAgICAgKiByZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogcmVwbGF5L1JlcGxheUNsaWVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheUNsaWVudDo6flJlcGxheUNsaWVudCk6IEFk
ZGVkLgorICAgICAgICAqIHJlcGxheS9SZXBsYXlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlcGxheUNvbnRyb2xsZXI6OlJlcGxheUNvbnRyb2xsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVwbGF5Q29udHJvbGxlcjo6Y3JlYXRlU2VnbWVudCk6IGRpc3BhdGNoIHN5bnRoZXRp
YyBpbnB1dHMgdGhyb3VnaCBSZXBsYXlDbGllbnQuCisgICAgICAgICogcmVwbGF5L1JlcGxheUNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaDogTW92
ZSBFdmVudExvb3BJbnB1dERhdGEgdG8gRXZlbnRMb29wSW5wdXQuaAorCiAyMDE0LTA3LTE2ICBC
cmlhbiBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KIAogICAgICAgICBbV0lQXSBX
ZWIgUmVwbGF5OiBET00gVGltZXJzIHNob3VsZCBiZSBjcmVhdGVkIGFuZCBmaXJlZCBkZXRlcm1p
bmlzdGljYWxseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVmZDVjYWZiYmI4ZGJiNzkzYTlkMjU4M2QxMzE0NzFh
ZDRlZTA2MmIuLmJlYjI2ZWZhNmM0MGU3OTgyZTg4MjAzNGVjYjcyNzMyODAzNzA4MmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxNS0wMS0wOSAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdA
Y3Mud2FzaGluZ3Rvbi5lZHU+CisKKyAgICAgICAgV2ViIFJlcGxheTogY3JlYXRlIGEgUmVwbGF5
Q2xpZW50IGZvciBQYWdlIGFuZCBkaXNwYXRjaCBpbnB1dHMgdGhyb3VnaCBpdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDQ1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgV2ViUmVwbGF5Q2xp
ZW50IGltcGxlbWVudGF0aW9uIGFuZCBwcm92aWRlIGl0IHRvIFdlYlBhZ2UuIEZvciBub3csIGl0
CisgICAgICAgIGRpc3BhdGNoZXMgYWxsIGlucHV0cyB0aGUgc2FtZSB3YXkgYXMgYmVmb3JlICh3
aXRoIFdlYkNvcmUgY29udGV4dCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXBsYXlDbGllbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUmVwbGF5Q2xpZW50OjpkaXNwYXRjaElucHV0KTogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXBsYXlDbGllbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYlJlcGxheUNsaWVudDo6V2ViUmVwbGF5Q2xpZW50KTogQWRkZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKwogMjAxNC0wNy0xNSAgQnJpYW4gSi4gQnVyZyAgPGJ1
cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAgV2ViIFJlcGxheTogc2F2ZSBhbmQgcmVz
dG9yZSBwYWdlIGhpc3Rvcnkgc3RhdGUgYXQgbWFpbiBmcmFtZSBuYXZpZ2F0aW9ucwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JS
ZXBsYXlJbnB1dHMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclJlcGxheUlucHV0cy5weQppbmRleCA2NWY1NDlhZWIzNzdmMmVjZWFhYmQ5NTkz
NzcxMDJmZmIxNWI2M2E1Li43ZDFiNDA4MmZkMWMyOGZkMmY4M2RiZDVmN2Q1NmYyYjMyNDhkYWEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvQ29kZUdl
bmVyYXRvclJlcGxheUlucHV0cy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclJlcGxheUlucHV0cy5weQpAQCAtNjk4LDcgKzY5OCw3IEBA
IGNsYXNzIEdlbmVyYXRvcjoKICAgICAgICAgICAgIGV4dHJhX2RlY2xhcmF0aW9ucy5leHRlbmQo
WwogICAgICAgICAgICAgICAgICIiLAogICAgICAgICAgICAgICAgICIgICAgLy8gRXZlbnRMb29w
SW5wdXQgQVBJIiwKLSAgICAgICAgICAgICAgICAiICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaChS
ZXBsYXlDb250cm9sbGVyJikgb3ZlcnJpZGUgZmluYWw7IiwKKyAgICAgICAgICAgICAgICAiICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaChQYWdlJikgb3ZlcnJpZGUgZmluYWw7IiwKICAgICAgICAg
ICAgIF0pCiAKICAgICAgICAgICAgIGlmIF9pbnB1dC5zZXR0aW5nKCdDUkVBVEVfRlJPTV9QQUdF
Jyk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJkLmpzb24tVGVzdFJlcGxheUlucHV0
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L2dlbmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uLVRlc3RSZXBsYXlJbnB1dHMuaAppbmRleCAz
NzEyOWM0YjUzOTQyZDY1YTNlNzVhZjI0Y2ZhNDBlNTAxYTUyZTc1Li42MzRiMTk3MjEwMTJjNGRl
YmUwNTVhMTBiZTJlNDgxYWVhNmE5MjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcmVwbGF5L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJk
Lmpzb24tVGVzdFJlcGxheUlucHV0cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBs
YXkvc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1lbnVtLXdpdGgtZ3VhcmQuanNvbi1U
ZXN0UmVwbGF5SW5wdXRzLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
fkhhbmRsZVdoZWVsRXZlbnQoKTsKIAogICAgIC8vIEV2ZW50TG9vcElucHV0IEFQSQotICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJikgb3ZlcnJpZGUgZmluYWw7Cisg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKFBhZ2UmKSBvdmVycmlkZSBmaW5hbDsKICAgICBjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHBsYXRmb3JtRXZlbnQoKSBjb25zdCB7IHJldHVybiAqbV9w
bGF0Zm9ybUV2ZW50OyB9CiBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVdo
ZWVsRXZlbnQ+IG1fcGxhdGZvcm1FdmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3ZTI4NWVlMWI1MjJhNDRkNDAwMzc1NDM2
NTM2MTQxN2U2Mjk2YzkwLi5kNzZhMzBlNDdmMWMyNThjNDcwMTk2MmViN2I0MjdiZjlmZDBmNDcw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0zNjUwLDEwICszNjUwLDEwIEBACiAJCTk5Q0MwQjRFMThCRTk4NDkwMDZDRUJDQyAv
KiBDYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzOTE4QkU5ODQ5MDA2Q0VCQ0MgLyogQ2FwdHVyaW5nSW5w
dXRDdXJzb3IuY3BwICovOyB9OwogCQk5OUNDMEI0RjE4QkU5ODQ5MDA2Q0VCQ0MgLyogQ2FwdHVy
aW5nSW5wdXRDdXJzb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk5Q0MwQjNBMThCRTk4NDkwMDZDRUJDQyAvKiBDYXB0dXJpbmdJbnB1dEN1cnNvci5o
ICovOyB9OwogCQk5OUNDMEI1MDE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk5Q0MwQjNCMThCRTk4NDkwMDZDRUJDQyAvKiBFdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3Bw
ICovOyB9OwotCQk5OUNDMEI1MTE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUNDMEIzQzE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggKi87
IH07CisJCTk5Q0MwQjUxMThCRTk4NDkwMDZDRUJDQyAvKiBFdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0Mw
QjNDMThCRTk4NDkwMDZDRUJDQyAvKiBFdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5OUNDMEI1MjE4QkU5
ODQ5MDA2Q0VCQ0MgLyogRnVuY3RvcklucHV0Q3Vyc29yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzRDE4QkU5ODQ5MDA2Q0VCQ0MgLyogRnVu
Y3RvcklucHV0Q3Vyc29yLmggKi87IH07CiAJCTk5Q0MwQjUzMThCRTk4NDkwMDZDRUJDQyAvKiBS
ZXBsYXlDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk5Q0MwQjNFMThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlDb250cm9sbGVyLmNw
cCAqLzsgfTsKLQkJOTlDQzBCNTQxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheUNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjNG
MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlDb250cm9sbGVyLmggKi87IH07CisJCTk5Q0MwQjU0
MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzRjE4QkU5ODQ5MDA2Q0VCQ0MgLyog
UmVwbGF5Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTk5Q0MwQjU1MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlpbmdJbnB1dEN1
cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUNDMEI0MDE4QkU5ODQ5MDA2Q0VCQ0MgLyogUmVwbGF5aW5nSW5wdXRDdXJzb3IuY3BwICovOyB9
OwogCQk5OUNDMEI1NjE4QkU5ODRBMDA2Q0VCQ0MgLyogUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjQxMThC
RTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlpbmdJbnB1dEN1cnNvci5oICovOyB9OwogCQk5OUNDMEI1
NzE4QkU5ODRBMDA2Q0VCQ0MgLyogUmVwbGF5SW5wdXRDcmVhdGlvbk1ldGhvZHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCNDIxOEJFOTg0
OTAwNkNFQkNDIC8qIFJlcGxheUlucHV0Q3JlYXRpb25NZXRob2RzLmNwcCAqLzsgfTsKQEAgLTM2
NzAsNyArMzY3MCw3IEBACiAJCTk5Q0MwQjY3MThCRTlGMTUwMDZDRUJDQyAvKiBJbnNwZWN0b3JS
ZXBsYXlBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTlDQzBCNjUxOEJFOUYxNTAwNkNFQkNDIC8qIEluc3BlY3RvclJlcGxheUFnZW50LmggKi87
IH07CiAJCTk5Q0MwQjZBMThCRUExRkYwMDZDRUJDQyAvKiBXZWJSZXBsYXlJbnB1dHMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCNjgxOEJF
QTFGRjAwNkNFQkNDIC8qIFdlYlJlcGxheUlucHV0cy5jcHAgKi87IH07CiAJCTk5Q0MwQjZCMThC
RUExRkYwMDZDRUJDQyAvKiBXZWJSZXBsYXlJbnB1dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjY5MThCRUExRkYwMDZDRUJDQyAvKiBXZWJS
ZXBsYXlJbnB1dHMuaCAqLzsgfTsKLQkJOTlFNDVBMTcxOEEwNjNCRTAwMjZEODhGIC8qIEV2ZW50
TG9vcElucHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5OUU0NUExNjE4QTA2M0JFMDAyNkQ4OEYgLyogRXZlbnRMb29wSW5wdXQuaCAqLzsgfTsKKwkJ
OTlFNDVBMTcxOEEwNjNCRTAwMjZEODhGIC8qIEV2ZW50TG9vcElucHV0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUU0NUExNjE4QTA2M0JFMDAyNkQ4
OEYgLyogRXZlbnRMb29wSW5wdXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk5QTExNDIwNDE4MzJEMTM1MDAwQkI4QUQgLyogVmFsdWVUb1N0cmlu
Zy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUExMTQy
MDMxODMyRDEzNDAwMEJCOEFEIC8qIFZhbHVlVG9TdHJpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5QTFCNkY5NzE1ODg2OUM4MDAxMUE4QzQg
LyogSlNET01TdHJpbmdMaXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDlBMUI2Rjk2MTU4ODY5QzgwMDExQThDNCAvKiBKU0RPTVN0cmlu
Z0xpc3RDdXN0b20uY3BwICovOyB9OwogCQk5QTUyOEU4MzE3RDdGNTJGMDBBQTk1MTggLyogRmxv
YXRpbmdPYmplY3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlBNTI4RTgxMTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09iamVjdHMuY3BwICov
OyB9OwpAQCAtNTU0Myw2ICs1NTQzLDcgQEAKIAkJQzQ5NDc0QTExOUEyODQ3QzAwOUIzREU4IC8q
IFNoYXJlZEV2ZW50U2VuZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzQ5NDc0QTAxOUEyODQ3QzAwOUIzREU4IC8qIFNoYXJlZEV2ZW50U2VuZGVy
cy5oICovOyB9OwogCQlDNDk0NzRBODE5QTJENjEyMDA5QjNERTggLyogRXZlbnRTZW5kZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNUNCMUIzMTRF
REFCNkYwMEJCMjc5NSAvKiBFdmVudFNlbmRlci5oICovOyB9OwogCQlDNDk0NzRBQTE5QTJFMkU1
MDA5QjNERTggLyogU2hhcmVkRXZlbnRTZW5kZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0OTQ3NEE5MTlBMkUyRTUwMDlCM0RFOCAvKiBTaGFy
ZWRFdmVudFNlbmRlcnMuY3BwICovOyB9OworCQlDNDk0NzRBQzE5QTNGN0EyMDA5QjNERTggLyog
UmVwbGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNDk0NzRBQjE5QTNGN0EyMDA5QjNERTggLyogUmVwbGF5Q2xpZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzRDRDYyOUExODM4Mzc2
NjAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3R0aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0Q0Q2Mjk4MTgzODM3NjYwMDdFQkFGMSAvKiBGcmFt
ZVNuYXBzaG90dGluZy5jcHAgKi87IH07CiAJCUM0Q0Q2MjlCMTgzODM3NjYwMDdFQkFGMSAvKiBG
cmFtZVNuYXBzaG90dGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzRDRDYyOTkxODM4Mzc2NjAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3R0aW5nLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzRENEY1
MkIxOTc1Qzg4QjAwM0VGNUJDIC8qIFJlcGxheWFibGVUaW1lci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEQ0RjUyNzE5NzVDODhCMDAzRUY1QkMg
LyogUmVwbGF5YWJsZVRpbWVyLmNwcCAqLzsgfTsKQEAgLTEyOTY4LDYgKzEyOTY5LDcgQEAKIAkJ
QzQwMEQxMDgxOEYxQzhGNjAwOTBEODYzIC8qIEV2ZW50TG9vcElucHV0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50TG9vcElucHV0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzQ5NDc0QTAxOUEyODQ3QzAwOUIzREU4IC8qIFNoYXJlZEV2
ZW50U2VuZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRFdmVu
dFNlbmRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzQ5NDc0QTkxOUEyRTJF
NTAwOUIzREU4IC8qIFNoYXJlZEV2ZW50U2VuZGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTaGFyZWRFdmVudFNlbmRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDNDk0NzRBQjE5QTNGN0EyMDA5QjNERTggLyogUmVwbGF5Q2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlcGxheUNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDNENENjI5ODE4MzgzNzY2MDA3RUJBRjEgLyogRnJhbWVT
bmFwc2hvdHRpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJh
bWVTbmFwc2hvdHRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNENENjI5
OTE4MzgzNzY2MDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdHRpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRnJhbWVTbmFwc2hvdHRpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzRENEY1MjcxOTc1Qzg4QjAwM0VGNUJDIC8qIFJlcGxheWFibGVUaW1lci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXBsYXlhYmxlVGltZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg0MTcsNiArMTg0MTksOSBAQAog
CQkJCTk5Q0MwQjQxMThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlpbmdJbnB1dEN1cnNvci5oICov
LAogCQkJCTk5Q0MwQjQyMThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlJbnB1dENyZWF0aW9uTWV0
aG9kcy5jcHAgKi8sCiAJCQkJOTlDQzBCNDMxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheUlucHV0
RGlzcGF0Y2hNZXRob2RzLmNwcCAqLywKKwkJCQk5OTBBMTlGNDE4QURBNDg0MDAxODNGRDEgLyog
UmVwbGF5SW5wdXRUeXBlcy5jcHAgKi8sCisJCQkJOTkwQTE5RjUxOEFEQTQ4NDAwMTgzRkQxIC8q
IFJlcGxheUlucHV0VHlwZXMuaCAqLywKKwkJCQlDNDk0NzRBQjE5QTNGN0EyMDA5QjNERTggLyog
UmVwbGF5Q2xpZW50LmggKi8sCiAJCQkJOTlDQzBCNDQxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxh
eVNlc3Npb24uY3BwICovLAogCQkJCTk5Q0MwQjQ1MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlT
ZXNzaW9uLmggKi8sCiAJCQkJOTlDQzBCNDYxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheVNlc3Np
b25TZWdtZW50LmNwcCAqLywKQEAgLTI0OTI0LDYgKzI0OTI5LDcgQEAKIAkJCQlBNzc5NzkyOTBE
NkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3
NzFGMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQzQ5NDc0QUMxOUEzRjdBMjAwOUIzREU4IC8qIFJlcGxheUNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RjQ1NDMwRjdDM0I1RjAwRDdDMUZCIC8qIEpT
TGF6eUV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTFDNDNDMEQ5ODMwRDMw
MDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREFCNkQyRTE3Qzgx
NEVFMDBDNjBCMzQgLyogSlNNZWRpYUNvbnRyb2xzSG9zdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDg5ZDU0ODY4M2MyZDI5OGVkODll
OTNiNDNkNDk1Mzg1MzdhZGZhMGQuLmYyYWYzZjcwNDc3Mjc2YjhiZTlkNDg1NWRjMTAwNDI5N2Qy
OTdkZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xMTMsNiAr
MTEzLDExIEBAIHZvaWQgZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZUNvbmZpZ3VyYXRpb24mIHBh
Z2VDb25maWd1cmF0aW9uKQogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUluc3BlY3Rv
ckNsaWVudD4gZHVtbXlJbnNwZWN0b3JDbGllbnQ7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uaW5z
cGVjdG9yQ2xpZW50ID0gJmR1bW15SW5zcGVjdG9yQ2xpZW50LmdldCgpOwogCisjaWYgRU5BQkxF
KFdFQl9SRVBMQVkpCisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEVtcHR5UmVwbGF5Q2xpZW50
PiBkdW1teVJlcGxheUNsaWVudDsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi5yZXBsYXlDbGllbnQg
PSAmZHVtbXlSZXBsYXlDbGllbnQuZ2V0KCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxFbXB0eUZyYW1lTG9hZGVyQ2xpZW50PiBkdW1teUZyYW1lTG9hZGVyQ2xpZW50Owog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmxvYWRlckNsaWVudEZvck1haW5GcmFtZSA9ICZkdW1teUZy
YW1lTG9hZGVyQ2xpZW50LmdldCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgK
aW5kZXggNTc5NzFjNTljNDIwYWZiMGI5ZWFiOWEyNWE4MDBiYThjM2FlNDZlMS4uMTNiNDM3ZWY0
ODZmYzE3MWRjY2Y5OWFmZDZlODYwMjAzNjY3NTJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIK
KyNpbmNsdWRlICJSZXBsYXlDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAj
aW5jbHVkZSAiVmlzaXRlZExpbmtTdG9yZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1Zp
ZXcuaD4KQEAgLTYwNCw2ICs2MDUsMTYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoaWRl
SGlnaGxpZ2h0KCkgb3ZlcnJpZGUgeyB9CiB9OwogCisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCitj
bGFzcyBFbXB0eVJlcGxheUNsaWVudCA6IHB1YmxpYyBSZXBsYXlDbGllbnQgeworcHVibGljOgor
ICAgIEVtcHR5UmVwbGF5Q2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+RW1wdHlSZXBsYXlDbGll
bnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaElucHV0KEV2ZW50TG9vcElucHV0
QmFzZSYpIG92ZXJyaWRlIHsgfQorfTsKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JFUExBWSkKKwog
Y2xhc3MgRW1wdHlEZXZpY2VDbGllbnQgOiBwdWJsaWMgRGV2aWNlQ2xpZW50IHsKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpIG92ZXJyaWRlIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKaW5kZXggODg2ZDUzYTZhYzkxYmE0N2I4MTY2ZGNhMjdkMmExYWY2N2FlMGRjZS4uM2Y1
YjYwMDJmMGQ2MjBhNTM2MDg4ZGQ0MGYzZmY0ODg5MzBlZDg1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CkBAIC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAj
aWYgRU5BQkxFKFdFQl9SRVBMQVkpCisjaW5jbHVkZSAiUmVwbGF5Q2xpZW50LmgiCiAjaW5jbHVk
ZSAiUmVwbGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPHJlcGxheS9JbnB1dEN1cnNvci5oPgog
I2VuZGlmCkBAIC0xMzksNyArMTQwLDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYg
cGFnZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAgICAsIG1fdXNlcklucHV0QnJpZGdlKHN0ZDo6
bWFrZV91bmlxdWU8VXNlcklucHV0QnJpZGdlPigqdGhpcykpCiAjaWYgRU5BQkxFKFdFQl9SRVBM
QVkpCi0gICAgLCBtX3JlcGxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxSZXBsYXlDb250
cm9sbGVyPigqdGhpcykpCisgICAgLCBtX3JlcGxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1
ZTxSZXBsYXlDb250cm9sbGVyPigqdGhpcywgKnBhZ2VDb25maWd1cmF0aW9uLnJlcGxheUNsaWVu
dCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwgbV9pbnNwZWN0b3JDb250
cm9sbGVyKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMsIHBhZ2VD
b25maWd1cmF0aW9uLmluc3BlY3RvckNsaWVudCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25m
aWd1cmF0aW9uLmgKaW5kZXggZWI1NDMyMTBjMmJlZTUyMzYzOTJhNDkwNTdhOWRiMDBhOWU2ODI4
Ny4uYTIwNDFhZmQ0OWE4YmRlMDNhNGY2NzRjYThlZGZhMTc4YzBhYWZhMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtNDUsNiArNDUsOSBAQCBjbGFzcyBGcmFt
ZUxvYWRlckNsaWVudDsKIGNsYXNzIEluc3BlY3RvckNsaWVudDsKIGNsYXNzIFBsdWdJbkNsaWVu
dDsKIGNsYXNzIFByb2dyZXNzVHJhY2tlckNsaWVudDsKKyNpZiBFTkFCTEUoV0VCX1JFUExBWSkK
K2NsYXNzIFJlcGxheUNsaWVudDsKKyNlbmRpZgogY2xhc3MgU3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyOwogY2xhc3MgVXNlckNvbnRlbnRDb250cm9sbGVyOwogY2xhc3MgVmFsaWRhdGlvbk1lc3Nh
Z2VDbGllbnQ7CkBAIC02NCw2ICs2Nyw5IEBAIHB1YmxpYzoKICAgICBFZGl0b3JDbGllbnQqIGVk
aXRvckNsaWVudDsKICAgICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50OwogICAgIEluc3BlY3RvckNs
aWVudCogaW5zcGVjdG9yQ2xpZW50OworI2lmIEVOQUJMRShXRUJfUkVQTEFZKQorICAgIFJlcGxh
eUNsaWVudCogcmVwbGF5Q2xpZW50ID0ge251bGxwdHJ9OworI2VuZGlmCiAgICAgUGx1Z0luQ2xp
ZW50KiBwbHVnSW5DbGllbnQ7CiAgICAgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50KiBwcm9ncmVzc1Ry
YWNrZXJDbGllbnQ7CiAgICAgUmVmUHRyPEJhY2tGb3J3YXJkQ2xpZW50PiBiYWNrRm9yd2FyZENs
aWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dC5o
IGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0LmgKaW5kZXggY2IzNzVlN2Rm
NjA2MjU2MzI4ZDNlY2VlYjdkMWNlZjI2ZjRlYWI1Yy4uMjI4MDU1YjlhZWI1YmVjMDZlNmY0OGVk
MzEyZTFhOWRiMzIzM2Y4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0LmgK
QEAgLTM5LDYgKzM5LDggQEAgY2xhc3MgSW5wdXRDdXJzb3I7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorY2xhc3MgRXZlbnRMb29wSW5wdXRCYXNlOworY2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxh
eUNvbnRyb2xsZXI7CiAKIC8vIFRoaXMgaXMgYW4gUkFJSSBoZWxwZXIgdXNlZCBkdXJpbmcgY2Fw
dHVyaW5nIHdoaWNoIHNldHMgYSBmbGFnIG9uIHRoZSBpbnB1dCBjdXJzb3IKQEAgLTU0LDEyICs1
NiwxNyBAQCBwcml2YXRlOgogICAgIEpTQzo6SW5wdXRDdXJzb3IqIG1fY3Vyc29yOwogfTsKIAor
c3RydWN0IEV2ZW50TG9vcElucHV0RGF0YSB7CisgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1
dDsKKyAgICBkb3VibGUgdGltZXN0YW1wOworfTsKKwogY2xhc3MgRXZlbnRMb29wSW5wdXRCYXNl
IDogcHVibGljIE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2UgewogcHVibGljOgogICAgIHZpcnR1
YWwgfkV2ZW50TG9vcElucHV0QmFzZSgpIHsgfQogICAgIHZpcnR1YWwgSW5wdXRRdWV1ZSBxdWV1
ZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIElucHV0UXVldWU6OkV2ZW50TG9vcElu
cHV0OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUGFnZSYpID0gMDsKIH07CiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBJbnB1dFR5cGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVu
dExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDhmNDM2MThhMWZkZGQxMmJlMDViMjdlOWZi
NjM0ZTU4MTYxMzc4MmYuLjc0YjFiMmM3MmEwNmM3ODJjMWI0Mzc1NGE3NTJiNDYyNGM5M2MyMWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwCkBAIC0zMSw2ICszMSw4IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNs
dWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVwbGF5Q2xpZW50LmgiCisjaW5jbHVkZSAiUmVwbGF5
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVk
ZSAiV2ViUmVwbGF5SW5wdXRzLmgiCiAjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgpA
QCAtMTUwLDcgKzE1Miw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRj
aElucHV0KCkKIAogICAgIHsKICAgICAgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IGNoYW5nZSht
X2Rpc3BhdGNoaW5nLCB0cnVlKTsKLSAgICAgICAgbV9jdXJyZW50V29yay5pbnB1dC0+ZGlzcGF0
Y2gobV9wYWdlLnJlcGxheUNvbnRyb2xsZXIoKSk7CisgICAgICAgIG1fcGFnZS5yZXBsYXlDb250
cm9sbGVyKCkuY2xpZW50KCkuZGlzcGF0Y2hJbnB1dCgqbV9jdXJyZW50V29yay5pbnB1dCk7CiAg
ICAgfQogCiAgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBkaXNwYXRjaGVkSW5wdXQgPSBtX2N1cnJl
bnRXb3JrLmlucHV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5oCmluZGV4IDU5MzRjNDBhOTAwZjcyNWY4OWE0Zjc2YTM5YzJmMWUyNTgzZWU2
MjguLmRjOTNjM2E1ZjYwZmE5Y2Q0YWM1NDM5NGMwODUwOWJhODZmODkyNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKQEAgLTMxLDcg
KzMxLDYgQEAKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkKIAogI2luY2x1ZGUgIkV2ZW50TG9vcElu
cHV0LmgiCi0jaW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1l
ci5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTQwLDcgKzM5LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZTsK
LQorY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJzb3I7CisgICAgCiBlbnVtIGNsYXNzIERpc3BhdGNo
U3BlZWQgewogICAgIFJlYWxUaW1lLAogICAgIEZhc3RGb3J3YXJkLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2YmIyYzA3ZWRmODAwMWFlYzgzYjlhMDA3ZTc0
ZTcyYzA0NWRmZTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVw
bGF5Q2xpZW50LmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBV
bml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgUmVwbGF5Q2xpZW50X2gKKyNkZWZpbmUgUmVwbGF5Q2xpZW50X2gKKworI2lmIEVO
QUJMRShXRUJfUkVQTEFZKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50TG9v
cElucHV0QmFzZTsKKworY2xhc3MgUmVwbGF5Q2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFs
IH5SZXBsYXlDbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaElucHV0KEV2
ZW50TG9vcElucHV0QmFzZSYpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJfUkVQTEFZKQorCisjZW5kaWYgLy8gIWRlZmluZWQoUmVwbGF5
Q2xpZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5jcHAKaW5k
ZXggZDZlNDVlYzA5NDJkODk4ODk3YzZlNmI0NmYxYTllNDllYTU2Nzc1Zi4uYjExY2UzMzVjOWRm
MGMyZGFmNTUwZjQ1YmMyMDMyZGUxZDdiYzhjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlDb250cm9sbGVyLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAi
UmVwbGF5Q2xpZW50LmgiCiAjaW5jbHVkZSAiUmVwbGF5U2Vzc2lvbi5oIgogI2luY2x1ZGUgIlJl
cGxheVNlc3Npb25TZWdtZW50LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCIK
QEAgLTExMSw4ICsxMTIsOSBAQCBzdGF0aWMgY29uc3QgY2hhciogc2VnbWVudFN0YXRlVG9TdHJp
bmcoU2VnbWVudFN0YXRlIHN0YXRlKQogCiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCi1SZXBs
YXlDb250cm9sbGVyOjpSZXBsYXlDb250cm9sbGVyKFBhZ2UmIHBhZ2UpCitSZXBsYXlDb250cm9s
bGVyOjpSZXBsYXlDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIFJlcGxheUNsaWVudCYgY2xpZW50KQog
ICAgIDogbV9wYWdlKHBhZ2UpCisgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2xvYWRl
ZFNlZ21lbnQobnVsbHB0cikKICAgICAsIG1fbG9hZGVkU2Vzc2lvbihSZXBsYXlTZXNzaW9uOjpj
cmVhdGUoKSkKICAgICAsIG1fZW1wdHlDdXJzb3IoRW1wdHlJbnB1dEN1cnNvcjo6Y3JlYXRlKCkp
CkBAIC0yMzQsMTIgKzIzNiwxMiBAQCB2b2lkIFJlcGxheUNvbnRyb2xsZXI6OmNyZWF0ZVNlZ21l
bnQoKQogICAgIC8vIERpc3BhdGNoaW5nIHRoaXMgaW5wdXQgc2F2ZXMgaGlzdG9yeSwgY2xlYXJz
IGFsbCBidXQgdGhlIGN1cnJlbnQgaXRlbSwgYXBwZW5kcyBzYXZlZAogICAgIC8vIGhpc3Rvcnkg
aXRlbSB0byB0aGUgYmFjay9mb3J3YXJkIGxpc3QsIHRoZW4gbW92ZXMgdGhlIGN1cnJlbnQgaXRl
bSBjdXJzb3IgdG8gdGhlIGxhc3QgZW50cnkuCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluaXRpYWxp
emVIaXN0b3J5PiBoaXN0b3J5SW5wdXQgPSBJbml0aWFsaXplSGlzdG9yeTo6Y3JlYXRlRnJvbVBh
Z2UobV9wYWdlKTsKLSAgICBoaXN0b3J5SW5wdXQtPmRpc3BhdGNoKCp0aGlzKTsKLSAgICBtX2Fj
dGl2ZUN1cnNvci0+c3RvcmVJbnB1dChzdGQ6Om1vdmUoaGlzdG9yeUlucHV0KSk7CisgICAgbV9j
bGllbnQuZGlzcGF0Y2hJbnB1dCgqaGlzdG9yeUlucHV0KTsKKyAgICBtX2FjdGl2ZUN1cnNvci0+
c3RvcmVJbnB1dChXVEY6Om1vdmUoaGlzdG9yeUlucHV0KSk7CiAKICAgICAvLyBEaXNwYXRjaGlu
ZyB0aGlzIGlucHV0IHNjaGVkdWxlcyBuYXZpZ2F0aW9uIG9mIHRoZSBtYWluIGZyYW1lLCBjYXVz
aW5nIGEgcmVmcmVzaC4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5pdGlhbE5hdmlnYXRpb24+IG5h
dmlnYXRpb25JbnB1dCA9IEluaXRpYWxOYXZpZ2F0aW9uOjpjcmVhdGVGcm9tUGFnZShtX3BhZ2Up
OwotICAgIG5hdmlnYXRpb25JbnB1dC0+ZGlzcGF0Y2goKnRoaXMpOworICAgIG1fY2xpZW50LmRp
c3BhdGNoSW5wdXQoKm5hdmlnYXRpb25JbnB1dCk7CiAgICAgbV9hY3RpdmVDdXJzb3ItPnN0b3Jl
SW5wdXQoV1RGOjptb3ZlKG5hdmlnYXRpb25JbnB1dCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcmVw
bGF5L1JlcGxheUNvbnRyb2xsZXIuaAppbmRleCA5YjY3YWIwMDAwMTQ4NTcyNzVhMjA1OTYwNWM0
MWI2ZTVjMjUxODlhLi41NTk3NjYwMDZiOTllMzA2MGU0ZWQ2OWM3ZTVlZjg1MTBhMjM1NmU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlDb250cm9sbGVyLmgKQEAgLTUzLDYgKzUzLDcg
QEAgY2xhc3MgRXZlbnRMb29wSW5wdXRCYXNlOwogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwog
Y2xhc3MgUGFnZTsKK2NsYXNzIFJlcGxheUNsaWVudDsKIGNsYXNzIFJlcGxheVNlc3Npb247CiBj
bGFzcyBSZXBsYXlTZXNzaW9uU2VnbWVudDsKIApAQCAtMTEyLDcgKzExMyw3IEBAIHN0cnVjdCBS
ZXBsYXlQb3NpdGlvbiB7CiBjbGFzcyBSZXBsYXlDb250cm9sbGVyIGZpbmFsIDogcHVibGljIEV2
ZW50TG9vcElucHV0RGlzcGF0Y2hlckNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVwbGF5Q29udHJvbGxlcik7CiBwdWJsaWM6Ci0gICAgUmVwbGF5Q29udHJvbGxlcihQYWdlJik7
CisgICAgUmVwbGF5Q29udHJvbGxlcihQYWdlJiwgUmVwbGF5Q2xpZW50Jik7CiAKICAgICB2b2lk
IHN0YXJ0Q2FwdHVyaW5nKCk7CiAgICAgdm9pZCBzdG9wQ2FwdHVyaW5nKCk7CkBAIC0xMzYsNiAr
MTM3LDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbERpc3BhdGNoRXZlbnQoY29uc3QgRXZlbnQm
LCBGcmFtZSopOwogCiAgICAgUGFnZSYgcGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZTsgfQor
ICAgIFJlcGxheUNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAog
ICAgIFNlc3Npb25TdGF0ZSBzZXNzaW9uU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25T
dGF0ZTsgfQogICAgIFNlZ21lbnRTdGF0ZSBzZWdtZW50U3RhdGUoKSBjb25zdCB7IHJldHVybiBt
X3NlZ21lbnRTdGF0ZTsgfQpAQCAtMTc1LDYgKzE3Nyw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAog
ICAgIFBhZ2UmIG1fcGFnZTsKKyAgICBSZXBsYXlDbGllbnQmIG1fY2xpZW50OwogCiAgICAgUmVm
UHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBtX2xvYWRlZFNlZ21lbnQ7CiAgICAgUmVmUHRyPFJl
cGxheVNlc3Npb24+IG1fbG9hZGVkU2Vzc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlJbnB1dERpc3BhdGNoTWV0aG9kcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvUmVwbGF5SW5wdXREaXNwYXRjaE1ldGhvZHMuY3BwCmluZGV4IDRjOGQ4YWUyZjMzMDkz
ZjE4ODhmMTE3OGYxZWQwMGU0MjJhNmI4YTcuLjI5NTA4Yzg0MTgwMmQ2N2I0OWYzYWYxMzg0NTdh
MTY4MTE0NGVmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlJbnB1
dERpc3BhdGNoTWV0aG9kcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUlu
cHV0RGlzcGF0Y2hNZXRob2RzLmNwcApAQCAtNjQsMTQ2ICs2NCwxNDYgQEAgc3RhdGljIFJlc291
cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlckZvck9yZGluYWwoUGFnZSYgcGFnZSwgdW5zaWduZWQg
bG9uZyBvcmRpbmEKIH0KIAogLy8gU2VudGluZWwgaW5wdXRzLgotdm9pZCBCZWdpblNlZ21lbnRT
ZW50aW5lbDo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYpCit2b2lkIEJlZ2luU2VnbWVudFNl
bnRpbmVsOjpkaXNwYXRjaChQYWdlJikKIHsKIH0KIAotdm9pZCBFbmRTZWdtZW50U2VudGluZWw6
OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImKQordm9pZCBFbmRTZWdtZW50U2VudGluZWw6OmRp
c3BhdGNoKFBhZ2UmKQogewogfQogCiAvLyBOYXZpZ2F0aW9uIGlucHV0cy4KLXZvaWQgSW5pdGlh
bE5hdmlnYXRpb246OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIpCit2b2lk
IEluaXRpYWxOYXZpZ2F0aW9uOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNvbnRyb2xs
ZXIucGFnZSgpLm1haW5GcmFtZSgpLm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxvY2F0
aW9uQ2hhbmdlKG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCksIG1fdXJsLCBtX3JlZmVycmVyKTsKKyAg
ICBwYWdlLm1haW5GcmFtZSgpLm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxvY2F0aW9u
Q2hhbmdlKG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCksIG1fdXJsLCBtX3JlZmVycmVyKTsKIH0KIAot
dm9pZCBMb2FkVVJMUmVxdWVzdDo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxl
cikKK3ZvaWQgTG9hZFVSTFJlcXVlc3Q6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0gICAgY29u
dHJvbGxlci5wYWdlKCkudXNlcklucHV0QnJpZGdlKCkubG9hZFJlcXVlc3QoKm1fbG9hZFJlcXVl
c3QpOworICAgIHBhZ2UudXNlcklucHV0QnJpZGdlKCkubG9hZFJlcXVlc3QoKm1fbG9hZFJlcXVl
c3QpOwogfQogCi12b2lkIFJlbG9hZEZyYW1lOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBj
b250cm9sbGVyKQordm9pZCBSZWxvYWRGcmFtZTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAg
ICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21GcmFtZUluZGV4KCZjb250cm9sbGVyLnBhZ2UoKSwg
bV9mcmFtZUluZGV4KTsKKyAgICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21GcmFtZUluZGV4KCZw
YWdlLCBtX2ZyYW1lSW5kZXgpOwogICAgIEFTU0VSVChmcmFtZSk7CiAKLSAgICBjb250cm9sbGVy
LnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5yZWxvYWRGcmFtZShmcmFtZSwgbV9lbmRUb0VuZFJl
bG9hZCwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CisgICAgcGFnZS51c2VySW5wdXRCcmlkZ2Uo
KS5yZWxvYWRGcmFtZShmcmFtZSwgbV9lbmRUb0VuZFJlbG9hZCwgSW5wdXRTb3VyY2U6OlN5bnRo
ZXRpYyk7CiB9CiAKLXZvaWQgU3RvcExvYWRpbmdGcmFtZTo6ZGlzcGF0Y2goUmVwbGF5Q29udHJv
bGxlciYgY29udHJvbGxlcikKK3ZvaWQgU3RvcExvYWRpbmdGcmFtZTo6ZGlzcGF0Y2goUGFnZSYg
cGFnZSkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21GcmFtZUluZGV4KCZjb250cm9s
bGVyLnBhZ2UoKSwgbV9mcmFtZUluZGV4KTsKKyAgICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21G
cmFtZUluZGV4KCZwYWdlLCBtX2ZyYW1lSW5kZXgpOwogICAgIEFTU0VSVChmcmFtZSk7CiAKLSAg
ICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5zdG9wTG9hZGluZ0ZyYW1lKGZy
YW1lLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKKyAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgp
LnN0b3BMb2FkaW5nRnJhbWUoZnJhbWUsIElucHV0U291cmNlOjpTeW50aGV0aWMpOwogfQogCi12
b2lkIFRyeUNsb3NlUGFnZTo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikK
K3ZvaWQgVHJ5Q2xvc2VQYWdlOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNvbnRyb2xs
ZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLnRyeUNsb3NlUGFnZShJbnB1dFNvdXJjZTo6U3lu
dGhldGljKTsKKyAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLnRyeUNsb3NlUGFnZShJbnB1dFNv
dXJjZTo6U3ludGhldGljKTsKIH0KIAotdm9pZCBJbml0aWFsaXplSGlzdG9yeTo6ZGlzcGF0Y2go
UmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgSW5pdGlhbGl6ZUhpc3Rvcnk6OmRp
c3BhdGNoKFBhZ2UmIHBhZ2UpCiB7CiAgICAgcmV0dXJuOyAvLyBIQUNLCiAKICAgICAvLyBGSVhN
RTogTG9hZCB0aGUgZW1wdHkgZG9jdW1lbnQsIHNvIHRoYXQgd2hlbiB3ZSBwcnVuZSB0aGUgYmFj
ay1mb3J3YXJkIGxpc3QgaXQKICAgICAvLyBpcyB0aGUgc2luZ2xlIHJlbWFpbmluZyBlbnRyeS4g
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzMTk4OT4KLSAgICBjb250cm9sbGVyLnBhZ2UoKS5iYWNr
Rm9yd2FyZCgpLmNsZWFyKCk7CisgICAgcGFnZS5iYWNrRm9yd2FyZCgpLmNsZWFyKCk7CiAKICAg
ICBmb3IgKFJlZlB0cjxIaXN0b3J5SXRlbT4gaGlzdG9yeUVudHJ5IDogbV9lbnRyaWVzKQotICAg
ICAgICBjb250cm9sbGVyLnBhZ2UoKS5iYWNrRm9yd2FyZCgpLmFkZEl0ZW0oaGlzdG9yeUVudHJ5
LT5jb3B5KCkpOworICAgICAgICBwYWdlLmJhY2tGb3J3YXJkKCkuYWRkSXRlbShoaXN0b3J5RW50
cnktPmNvcHkoKSk7CiAKLSAgICBjb250cm9sbGVyLnBhZ2UoKS5tYWluRnJhbWUoKS5sb2FkZXIo
KS5oaXN0b3J5KCkuc2V0Q3VycmVudEl0ZW0oY29udHJvbGxlci5wYWdlKCkuYmFja0ZvcndhcmQo
KS5jdXJyZW50SXRlbSgpKTsKKyAgICBwYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmhpc3Rvcnko
KS5zZXRDdXJyZW50SXRlbShwYWdlLmJhY2tGb3J3YXJkKCkuY3VycmVudEl0ZW0oKSk7CiB9CiAK
LXZvaWQgSGFuZGxlS2V5UHJlc3M6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xs
ZXIpCit2b2lkIEhhbmRsZUtleVByZXNzOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNv
bnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZUtleUV2ZW50KHBsYXRmb3Jt
RXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CisgICAgcGFnZS51c2VySW5wdXRCcmlk
Z2UoKS5oYW5kbGVLZXlFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0
aWMpOwogfQogCiAvLyBVc2VyIGludGVyYWN0aW9uIGlucHV0cy4KLXZvaWQgSGFuZGxlTW91c2VN
b3ZlOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBIYW5kbGVN
b3VzZU1vdmU6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7CiAgICAgaWYgKG1fc2Nyb2xsYmFyVGFy
Z2V0ZWQpCi0gICAgICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRs
ZU1vdXNlTW92ZU9uU2Nyb2xsYmFyRXZlbnQocGxhdGZvcm1FdmVudCgpLCBJbnB1dFNvdXJjZTo6
U3ludGhldGljKTsKKyAgICAgICAgcGFnZS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZU1v
dmVPblNjcm9sbGJhckV2ZW50KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRp
Yyk7CiAgICAgZWxzZQotICAgICAgICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2Uo
KS5oYW5kbGVNb3VzZU1vdmVFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50
aGV0aWMpOworICAgICAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZU1vdXNlTW92ZUV2
ZW50KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CiB9CiAKLXZvaWQg
SGFuZGxlTW91c2VQcmVzczo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikK
K3ZvaWQgSGFuZGxlTW91c2VQcmVzczo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAgICBjb250
cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQocGxh
dGZvcm1FdmVudCgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKKyAgICBwYWdlLnVzZXJJbnB1
dEJyaWRnZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291
cmNlOjpTeW50aGV0aWMpOwogfQogCi12b2lkIEhhbmRsZU1vdXNlUmVsZWFzZTo6ZGlzcGF0Y2go
UmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgSGFuZGxlTW91c2VSZWxlYXNlOjpk
aXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJy
aWRnZSgpLmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3Vy
Y2U6OlN5bnRoZXRpYyk7CisgICAgcGFnZS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZVJl
bGVhc2VFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOwogfQog
Ci12b2lkIEhhbmRsZVdoZWVsRXZlbnQ6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRy
b2xsZXIpCit2b2lkIEhhbmRsZVdoZWVsRXZlbnQ6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0g
ICAgY29udHJvbGxlci5wYWdlKCkudXNlcklucHV0QnJpZGdlKCkuaGFuZGxlV2hlZWxFdmVudChw
bGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOworICAgIHBhZ2UudXNlcklu
cHV0QnJpZGdlKCkuaGFuZGxlV2hlZWxFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNl
OjpTeW50aGV0aWMpOwogfQogCi12b2lkIExvZ2ljYWxTY3JvbGxQYWdlOjpkaXNwYXRjaChSZXBs
YXlDb250cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBMb2dpY2FsU2Nyb2xsUGFnZTo6ZGlzcGF0
Y2goUGFnZSYgcGFnZSkKIHsKLSAgICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2Uo
KS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoZGlyZWN0aW9uKCksIGdyYW51bGFyaXR5KCksIElu
cHV0U291cmNlOjpTeW50aGV0aWMpOworICAgIHBhZ2UudXNlcklucHV0QnJpZGdlKCkubG9naWNh
bFNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlvbigpLCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJj
ZTo6U3ludGhldGljKTsKIH0KIAotdm9pZCBTY3JvbGxQYWdlOjpkaXNwYXRjaChSZXBsYXlDb250
cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBTY3JvbGxQYWdlOjpkaXNwYXRjaChQYWdlJiBwYWdl
KQogewotICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLnNjcm9sbFJlY3Vy
c2l2ZWx5KGRpcmVjdGlvbigpLCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGlj
KTsKKyAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLnNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlv
bigpLCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKIH0KIAogLy8gTmV0
d29yayBpbnB1dHMuCi12b2lkIFJlc291cmNlTG9hZGVyRGlkRmFpbDo6ZGlzcGF0Y2goUmVwbGF5
Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgUmVzb3VyY2VMb2FkZXJEaWRGYWlsOjpkaXNw
YXRjaChQYWdlJiBwYWdlKQogewotICAgIGlmIChSZXNvdXJjZUxvYWRlciogbG9hZGVyID0gcmVz
b3VyY2VMb2FkZXJGb3JPcmRpbmFsKGNvbnRyb2xsZXIucGFnZSgpLCBvcmRpbmFsKCksIGZyYW1l
SW5kZXgoKSkpCisgICAgaWYgKFJlc291cmNlTG9hZGVyKiBsb2FkZXIgPSByZXNvdXJjZUxvYWRl
ckZvck9yZGluYWwocGFnZSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQogICAgICAgICBsb2Fk
ZXItPmRpZEZhaWwobV9lcnJvci0+Y29weSgpKTsKICAgICAvLyBGSVhNRTogc2lnbmFsIGVycm9y
IGlmIHRoZSBjYWxsYmFjayBjb3VsZG4ndCBiZSBmaXJlZC4KIH0KIAotdm9pZCBSZXNvdXJjZUxv
YWRlckRpZEZpbmlzaExvYWRpbmc6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xs
ZXIpCit2b2lkIFJlc291cmNlTG9hZGVyRGlkRmluaXNoTG9hZGluZzo6ZGlzcGF0Y2goUGFnZSYg
cGFnZSkKIHsKLSAgICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IHJlc291cmNlTG9hZGVy
Rm9yT3JkaW5hbChjb250cm9sbGVyLnBhZ2UoKSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQor
ICAgIGlmIChSZXNvdXJjZUxvYWRlciogbG9hZGVyID0gcmVzb3VyY2VMb2FkZXJGb3JPcmRpbmFs
KHBhZ2UsIG9yZGluYWwoKSwgZnJhbWVJbmRleCgpKSkKICAgICAgICAgbG9hZGVyLT5kaWRGaW5p
c2hMb2FkaW5nKG1fZmluaXNoVGltZSk7CiAgICAgLy8gRklYTUU6IHNpZ25hbCBlcnJvciBpZiB0
aGUgY2FsbGJhY2sgY291bGRuJ3QgYmUgZmlyZWQuCiB9CiAKLXZvaWQgUmVzb3VyY2VMb2FkZXJE
aWRSZWNlaXZlRGF0YTo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3Zv
aWQgUmVzb3VyY2VMb2FkZXJEaWRSZWNlaXZlRGF0YTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsK
LSAgICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IHJlc291cmNlTG9hZGVyRm9yT3JkaW5h
bChjb250cm9sbGVyLnBhZ2UoKSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQorICAgIGlmIChS
ZXNvdXJjZUxvYWRlciogbG9hZGVyID0gcmVzb3VyY2VMb2FkZXJGb3JPcmRpbmFsKHBhZ2UsIG9y
ZGluYWwoKSwgZnJhbWVJbmRleCgpKSkKICAgICAgICAgbG9hZGVyLT5kaWRSZWNlaXZlRGF0YShi
dWZmZXIoKS0+ZGF0YSgpLCBidWZmZXIoKS0+c2l6ZSgpLCBlbmNvZGVkTGVuZ3RoKCksIERhdGFQ
YXlsb2FkQnl0ZXMpOwogICAgIC8vIEZJWE1FOiBzaWduYWwgZXJyb3IgaWYgdGhlIGNhbGxiYWNr
IGNvdWxkbid0IGJlIGZpcmVkLgogfQogCi12b2lkIFJlc291cmNlTG9hZGVyRGlkUmVjZWl2ZVJl
c3BvbnNlOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBSZXNv
dXJjZUxvYWRlckRpZFJlY2VpdmVSZXNwb25zZTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAg
ICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IHJlc291cmNlTG9hZGVyRm9yT3JkaW5hbChj
b250cm9sbGVyLnBhZ2UoKSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQorICAgIGlmIChSZXNv
dXJjZUxvYWRlciogbG9hZGVyID0gcmVzb3VyY2VMb2FkZXJGb3JPcmRpbmFsKHBhZ2UsIG9yZGlu
YWwoKSwgZnJhbWVJbmRleCgpKSkKICAgICAgICAgbG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9uc2Uo
Km1fcmVzcG9uc2UpOwogICAgIC8vIEZJWE1FOiBzaWduYWwgZXJyb3IgaWYgdGhlIGNhbGxiYWNr
IGNvdWxkbid0IGJlIGZpcmVkLgogfQogCi12b2lkIFJlc291cmNlTG9hZGVyRGlkU2VuZERhdGE6
OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIpCit2b2lkIFJlc291cmNlTG9h
ZGVyRGlkU2VuZERhdGE6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0gICAgaWYgKFJlc291cmNl
TG9hZGVyKiBsb2FkZXIgPSByZXNvdXJjZUxvYWRlckZvck9yZGluYWwoY29udHJvbGxlci5wYWdl
KCksIG9yZGluYWwoKSwgZnJhbWVJbmRleCgpKSkKKyAgICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxv
YWRlciA9IHJlc291cmNlTG9hZGVyRm9yT3JkaW5hbChwYWdlLCBvcmRpbmFsKCksIGZyYW1lSW5k
ZXgoKSkpCiAgICAgICAgIGxvYWRlci0+ZGlkU2VuZERhdGEobV9ieXRlc1NlbnQsIG1fdG90YWxC
eXRlc1RvQmVTZW50KTsKICAgICAvLyBGSVhNRTogc2lnbmFsIGVycm9yIGlmIHRoZSBjYWxsYmFj
ayBjb3VsZG4ndCBiZSBmaXJlZC4KIH0KIAogLy8gT3RoZXIgZXZlbnQgbG9vcCBpbnB1dHMuCi12
b2lkIEFzeW5jVGltZXJGaXJlZDo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxl
cikKK3ZvaWQgQXN5bmNUaW1lckZpcmVkOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IGRvY3VtZW50RnJvbUZyYW1lSW5kZXgoJmNvbnRyb2xsZXIucGFn
ZSgpLCBtX2ZyYW1lSW5kZXgpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGRvY3VtZW50RnJv
bUZyYW1lSW5kZXgoJnBhZ2UsIG1fZnJhbWVJbmRleCk7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAh
ZG9jdW1lbnQtPnJlcGxheWFibGVUaW1lcnMoKS5maXJlVGltZXIobV9vcmRpbmFsKSkKICAgICAg
ICAgTE9HX0VSUk9SKCIlLTMwcyBSRVBMQVkgRElWRVJHRU5DRSEgQ291bGRuJ3QgZmluZCBhc3lu
YyB0aW1lciAlZC8lIiBQUkl1NjQgIi5cbiIsICJbUmVwbGF5Q29udHJvbGxlcl0iLCBtX2ZyYW1l
SW5kZXgsIG1fb3JkaW5hbCk7CiB9CiAKLXZvaWQgRE9NVGltZXJGaXJlZDo6ZGlzcGF0Y2goUmVw
bGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgRE9NVGltZXJGaXJlZDo6ZGlzcGF0Y2go
UGFnZSYgcGFnZSkKIHsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBkb2N1bWVudEZyb21GcmFt
ZUluZGV4KCZjb250cm9sbGVyLnBhZ2UoKSwgbV9mcmFtZUluZGV4KTsKKyAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBkb2N1bWVudEZyb21GcmFtZUluZGV4KCZwYWdlLCBtX2ZyYW1lSW5kZXgpOwog
ICAgIERPTVRpbWVyKiB0aW1lciA9IGRvY3VtZW50LT5maW5kVGltZW91dChtX3RpbWVySWRlbnRp
Zmllcik7CiAgICAgaWYgKHRpbWVyKQogICAgICAgICB0aW1lci0+ZmlyZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmgKaW5kZXggOWM3MWY0MTUyN2Rj
NzJlMTc5NjJjNjcyZWMwNTk1ODE5ZWFlZmVjZS4uZjM3OTA2NjhmN2NlOThlOGQ1ODk5NTFmMGQx
YzBhYWE4MjcxYmJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWlu
Z0lucHV0Q3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0
Q3Vyc29yLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCisj
aW5jbHVkZSAiRXZlbnRMb29wSW5wdXQuaCIKICNpbmNsdWRlIDxyZXBsYXkvSW5wdXRDdXJzb3Iu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3Ry
aW5nLmg+CkBAIC00MiwxMSArNDMsNiBAQCBjbGFzcyBFdmVudExvb3BJbnB1dERpc3BhdGNoZXJD
bGllbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKLXN0cnVj
dCBFdmVudExvb3BJbnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0g
ICAgZG91YmxlIHRpbWVzdGFtcDsKLX07Ci0KIGNsYXNzIFJlcGxheWluZ0lucHV0Q3Vyc29yIGZp
bmFsIDogcHVibGljIElucHV0Q3Vyc29yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBs
YXlpbmdJbnB1dEN1cnNvcik7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IDhhOWNh
M2I1Yzc0ZWRhZGE4OGFjZTMwMTY0YzMzYWY3YWYwOTA4ZjcuLjE1NTNiZTk2YzUyMDM5MTAyN2Iy
ZWI0ZDE2OTgyNDEwNzc4Yzk1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC03NjcsNiArNzY3
LDE2IEBAIGlmIChFTkFCTEVfUExVR0lOX1BST0NFU1MpCiAgICAgZW5kaWYgKCkKIGVuZGlmICgp
CiAKK2lmIChFTkFCTEVfV0VCX1JFUExBWSkKKyAgICBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xV
REVfRElSRUNUT1JJRVMKKyAgICAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvUmVwbGF5
IgorICAgICkKKworICAgIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUworICAgICAgICBXZWJQ
cm9jZXNzL1JlcGxheS9XZWJSZXBsYXlDbGllbnQuY3BwCisgICAgKQorZW5kaWYgKCkKKwogUE9Q
VUxBVEVfTElCUkFSWV9WRVJTSU9OKFdFQktJVDIpCiBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoV2Vi
S2l0MiBQUk9QRVJUSUVTIFZFUlNJT04gJHtXRUJLSVQyX1ZFUlNJT059IFNPVkVSU0lPTiAke1dF
QktJVDJfVkVSU0lPTl9NQUpPUn0pCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OWIyZjg3ZTYxZjAxMTdkMzZjNjhhMzE1M2Qw
MDc0MTRmNjZiYjk5Li5hM2Y2NmQ4OWM2ZjdhNzVjNzdlYTZiOThjNmI5MmU2NjZjMjQ3YmU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNTcxLDYgKzE1NzEsOCBAQAogCQlDMEUzQUE3QTEyMDlFODMwMDBBNDlEMDEgLyogTW9k
dWxlQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzBFM0FBNDgxMjA5RTQ1MDAwQTQ5RDAxIC8qIE1vZHVsZUNGLmNwcCAqLzsgfTsKIAkJQzBFM0FB
N0IxMjA5RTgzNTAwQTQ5RDAxIC8qIE1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEUzQUE0NTEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxl
LmNwcCAqLzsgfTsKIAkJQzBFM0FBN0MxMjA5RTgzQzAwQTQ5RDAxIC8qIE1vZHVsZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBFM0FBNDQxMjA5RTJC
QTAwQTQ5RDAxIC8qIE1vZHVsZS5oICovOyB9OworCQlDNDk0NzRCMDE5QTNGOTNGMDA5QjNERTgg
LyogV2ViUmVwbGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDNDk0NzRBRTE5QTNGOTI0MDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50Lmgg
Ki87IH07CisJCUM0OTQ3NEIxMTlBM0Y5NDcwMDlCM0RFOCAvKiBXZWJSZXBsYXlDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzQ5NDc0QUQx
OUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5jcHAgKi87IH07CiAJCUM1MTczODgx
MTJERjhGNEYwMEVFM0Y0NyAvKiBEcmFnQ29udHJvbGxlckFjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3
IC8qIERyYWdDb250cm9sbGVyQWN0aW9uLmggKi87IH07CiAJCUM1MjM3RjYwMTI0NDFDQTMwMDc4
MDQ3MiAvKiBXZWJFZGl0b3JDbGllbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNTIzN0Y1RjEyNDQxQ0EzMDA3ODA0NzIgLyogV2ViRWRpdG9y
Q2xpZW50TWFjLm1tICovOyB9OwogCQlDNTQyNTZCNTE4QkVDMThDMDBERTQxNzkgLyogV0tGb3Jt
SW5wdXRDb250cm9sLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNTQyNTZBRjE4QkVDMThCMDBERTQxNzkgLyogV0tGb3JtSW5wdXRDb250cm9sLmggKi87
IH07CkBAIC0zNzE5LDYgKzM3MjEsOCBAQAogCQlDMEUzQUE0NDEyMDlFMkJBMDBBNDlEMDEgLyog
TW9kdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEUzQUE0NTEyMDlFMkJBMDBBNDlEMDEgLyogTW9k
dWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vZHVsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwRTNBQTQ4MTIwOUU0NTAwMEE0OUQwMSAv
KiBNb2R1bGVDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2R1
bGVDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM0OTQ3NEFEMTlBM0Y5MjQw
MDlCM0RFOCAvKiBXZWJSZXBsYXlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV2ViUmVwbGF5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzQ5NDc0QUUxOUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXBsYXlDbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250
cm9sbGVyQWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERyYWdDb250
cm9sbGVyQWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1MjM3RjVGMTI0
NDFDQTMwMDc4MDQ3MiAvKiBXZWJFZGl0b3JDbGllbnRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJFZGl0b3JDbGllbnRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUM1NDI1NkFGMThCRUMxOEIwMERFNDE3OSAvKiBXS0Zvcm1JbnB1
dENvbnRyb2wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tGb3JtSW5wdXRD
b250cm9sLmg7IHBhdGggPSBpb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODEyLDYgKzU4MTYsOCBAQAogCQkJCUQzQjk0ODQzMTFG
RjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCAqLywKIAkJCQkxQTFFMDkzMTE4ODYxRDM4
MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcCAqLywKIAkJCQkxQTFFMDkz
MjE4ODYxRDM4MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmggKi8sCisJCQkJ
QzQ5NDc0QUQxOUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5jcHAgKi8sCisJCQkJ
QzQ5NDc0QUUxOUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5oICovLAogCQkJCUQz
Qjk0ODQ0MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwICovLAogCQkJ
CUQzQjk0ODQ1MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCAqLywKIAkJ
CQlDRURCQTg0NTE5RkRBMDBBMDA2ODY2QTUgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNw
cCAqLywKQEAgLTc3NzMsNiArNzc3OSw3IEBACiAJCQkJQTFDNTEyQzkxOTA2NTZFNTAwNDQ4OTE0
IC8qIFdlYlF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5NDg0
MDQxNTBDMzUwNjAwRTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzNzYwODgxRjE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDNDk0NzRCMDE5QTNGOTNGMDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMzM2NzYzMDEzMEM5OTk4MDA2QzlERTIgLyogV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMzY3NjU2MTMwQzlFQ0EwMDZD
OURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMzM2NzYzNjEzMEM5OUIyMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC05NTE2LDYgKzk1MjMsNyBAQAogCQkJCUExQzUxMkM4
MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJRdWlja0xvb2tIYW5kbGVDbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzc5NDg0MDMxNTBDMzUwNjAwRTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTM3NjA4ODFFMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5k
ZXJPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzQ5NDc0QjExOUEzRjk0NzAwOUIzREU4
IC8qIFdlYlJlcGxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2NzYyRjEzMEM5
OTk4MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzNGOUQ1QjkxMzEyRjFFRTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
Q0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzMzNjc2NTUxMzBDOUVDQTAwNkM5REUyIC8q
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJSZXBsYXlDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJSZXBsYXlDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YzZhMmJlYjk1YjY5YzFiMjYz
OTkzZjYwY2IzYTk5MjJlODdmMDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVudC5jcHAKQEAgLTAsMCArMSw0
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJSZXBsYXlDbGllbnQu
aCIKKworI2lmIEVOQUJMRShXRUJfUkVQTEFZKQorCisjaW5jbHVkZSAiV2ViUGFnZS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvRXZlbnRMb29wSW5wdXQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlcGxh
eUNvbnRyb2xsZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViUmVwbGF5Q2xp
ZW50OjpkaXNwYXRjaElucHV0KFdlYkNvcmU6OkV2ZW50TG9vcElucHV0QmFzZSYgaW5wdXQpCit7
CisgICAgaW5wdXQuZGlzcGF0Y2goKm1fcGFnZS0+Y29yZVBhZ2UoKSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXBsYXlD
bGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZWU0NGMzZDM5MjhkMzc4YmU2ODgzYzJiZTE1MGEwZjg2YzYx
OTA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJSZXBsYXlDbGllbnQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBX
ZWJSZXBsYXlDbGllbnRfaAorI2RlZmluZSBXZWJSZXBsYXlDbGllbnRfaAorCisjaWYgRU5BQkxF
KFdFQl9SRVBMQVkpCisKKyNpbmNsdWRlIDxXZWJDb3JlL1JlcGxheUNsaWVudC5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUmVwbGF5Q2xpZW50
IDogcHVibGljIFdlYkNvcmU6OlJlcGxheUNsaWVudCB7CitwdWJsaWM6CisgICAgV2ViUmVwbGF5
Q2xpZW50KFdlYlBhZ2UqIHBhZ2UpCisgICAgICAgIDogbV9wYWdlKHBhZ2UpCisgICAgeworICAg
IH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbnB1dChXZWJDb3JlOjpF
dmVudExvb3BJbnB1dEJhc2UmKSBvdmVycmlkZTsKKworICAgIFdlYlBhZ2UqIG1fcGFnZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkp
CisKKyNlbmRpZiAvLyBXZWJSZXBsYXlDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDllMzZmNzg2MTVkYzFjMzVjMmY1NzYwZDEx
NjM2NjI3OGQyNWZhNzcuLjYyOTE3ZGZhMWViN2JiNTFhOTU0NjJmZmE5MjRlYzQxNWZmM2QxYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTE4NCw2ICsxODQsMTAgQEAKICNpbmNsdWRlICJXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCisjaW5jbHVkZSAiV2ViUmVwbGF5Q2xp
ZW50LmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgIlBERlBsdWdp
bi5oIgogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgiCkBAIC0zNjQsNiAr
MzY4LDkgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgbV9pbnNwZWN0b3JDbGllbnQgPSBu
ZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmluc3Bl
Y3RvckNsaWVudCA9IG1faW5zcGVjdG9yQ2xpZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9S
RVBMQVkpCisgICAgcGFnZUNvbmZpZ3VyYXRpb24ucmVwbGF5Q2xpZW50ID0gbmV3IFdlYlJlcGxh
eUNsaWVudCh0aGlzKTsKKyNlbmRpZgogI2lmIFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi5hbHRlcm5hdGl2ZVRleHRDbGllbnQgPSBuZXcgV2ViQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50KHRoaXMpOwogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>