<?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>145372</bug_id>
          
          <creation_ts>2015-05-25 11:50:26 -0700</creation_ts>
          <short_desc>ASSERT_MAIN_THREAD and DOM_ASSERT_MAIN_THREAD are unnecessary no-ops</short_desc>
          <delta_ts>2015-05-25 22:20:47 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1097259</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-05-25 11:50:26 -0700</bug_when>
    <thetext>Some of the Legacy WebKit API entry points use ASSERT_MAIN_THREAD and DOM_ASSERT_MAIN_THREAD, but these macros have been no-ops since soon after their introduction over 8 years ago (&lt;http://trac.webkit.org/r19280&gt;, &lt;http://trac.webkit.org/r19535&gt;). All instances of DOM_ASSERT_MAIN_THREAD are followed by WebCoreThreadViolationCheckRoundOne(), which is a runtime exception by default.

These macros (and the definition of DISABLE_THREAD_CHECK) could just be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097262</commentid>
    <comment_count>1</comment_count>
      <attachid>253691</attachid>
    <who name="">mitz</who>
    <bug_when>2015-05-25 13:17:30 -0700</bug_when>
    <thetext>Created attachment 253691
Remove ASSERT_MAIN_THREAD and DOM_ASSERT_MAIN_THREAD and their uses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097273</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-05-25 19:27:01 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r184853&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097274</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-05-25 22:16:24 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Fixed in &lt;http://trac.webkit.org/r184853&gt;.

It broke the bindings tests, please fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097275</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-05-25 22:20:47 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Fixed in &lt;http://trac.webkit.org/r184853&gt;.
&gt; 
&gt; It broke the bindings tests, please fix.

A bindings test. Thank you.

Fixed in &lt;http://trac.webkit.org/r184854&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253691</attachid>
            <date>2015-05-25 13:17:30 -0700</date>
            <delta_ts>2015-05-25 19:25:43 -0700</delta_ts>
            <desc>Remove ASSERT_MAIN_THREAD and DOM_ASSERT_MAIN_THREAD and their uses</desc>
            <filename>bug-145372-20150525131720.patch</filename>
            <type>text/plain</type>
            <size>36584</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE1LTA1LTI1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUX01BSU5fVEhSRUFEIGFu
ZCBET01fQVNTRVJUX01BSU5fVEhSRUFEIGFyZSB1bm5lY2Vzc2FyeSBuby1vcHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTM3MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
QmFzZS54Y2NvbmZpZzogUmVtb3ZlZCBESVNBQkxFX1RIUkVBRF9DSEVDSyBmcm9tIERFQlVHX0RF
RklORVMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUFic3RyYWN0Vmlldy5tbToKKyAg
ICAgICAgKC1bRE9NQWJzdHJhY3RWaWV3IGRlYWxsb2NdKTogUmVtb3ZlZCB1c2Ugb2YgRE9NX0FT
U0VSVF9NQUlOX1RIUkVBRC4KKyAgICAgICAgKGtpdCk6IERpdHRvLgorCisgICAgICAgICogYmlu
ZGluZ3Mvb2JqYy9FeGNlcHRpb25IYW5kbGVycy5oOiBSZW1vdmVkIGRlZmluaXRpb24gb2YgRE9N
X0FTU0VSVF9NQUlOX1RIUkVBRC4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvck9iakMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKTogRG9u4oCZ
dCBlbWl0IERPTV9BU1NFUlRfTUFJTl9USFJFQUQuCisKKyAgICAgICAgVXBkYXRlZCBleHBlY3Rl
ZCBiaW5kaW5ncyB0ZXN0IHJlc3VsdHM6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NRmxvYXQ2NEFycmF5Lm1tOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9PYmpDL0RPTVRlc3RBY3RpdmVET01PYmplY3QubW06CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLm1tOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDdXN0b21OYW1lZEdldHRlci5tbToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5tbToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXZlbnRUYXJnZXQubW06
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEV4Y2VwdGlvbi5t
bToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZS5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0SW50ZXJmYWNlLm1tOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLm1tOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9PYmpDL0RPTVRlc3ROYW1lZENvbnN0cnVjdG9yLm1tOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3ROb2RlLm1tOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3ROb25kZXRlcm1pbmlzdGljLm1tOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW06CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMubW06
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01UZXN0VHlwZWRlZnMubW06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NYXR0cmlidXRlLm1tOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTXJlYWRvbmx5Lm1tOgorCiAyMDE1LTA1LTI0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggd2hlbiB1c2luZyBhIHJlbW92ZWQgU2NyaXB0TWVzc2Fn
ZUhhbmRsZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2Nv
bmZpZwkocmV2aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
QmFzZS54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCBTVVBQT1JURURf
UExBVEZPUk1TID0gaXBob25lb3MgaXBob25lc2ltCiAKIC8vIERFQlVHX0RFRklORVMsIEdDQ19P
UFRJTUlaQVRJT05fTEVWRUwsIFNUUklQX0lOU1RBTExFRF9QUk9EVUNUIGFuZCBERUFEX0NPREVf
U1RSSVBQSU5HIHZhcnkgYmV0d2VlbiB0aGUgZGVidWcgYW5kIG5vcm1hbCB2YXJpYW50cy4KIC8v
IFdlIHNldCB1cCB0aGUgdmFsdWVzIGZvciBlYWNoIHZhcmlhbnQgaGVyZSwgYW5kIGhhdmUgdGhl
IERlYnVnIGNvbmZpZ3VyYXRpb24gaW4gdGhlIFhjb2RlIHByb2plY3QgdXNlIHRoZSBfZGVidWcg
dmFyaWFudC4KLURFQlVHX0RFRklORVNfZGVidWcgPSBESVNBQkxFX1RIUkVBRF9DSEVDSzsKK0RF
QlVHX0RFRklORVNfZGVidWcgPSA7CiBERUJVR19ERUZJTkVTX25vcm1hbCA9IE5ERUJVRzsKIERF
QlVHX0RFRklORVMgPSAkKERFQlVHX0RFRklORVNfJChDVVJSRU5UX1ZBUklBTlQpKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01BYnN0cmFjdFZpZXcubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01BYnN0cmFjdFZpZXcubW0J
KHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQWJz
dHJhY3RWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBACiAKIC0gKHZvaWQp
ZGVhbGxvYwogewotICAgIHsgRE9NX0FTU0VSVF9NQUlOX1RIUkVBRCgpOyBXZWJDb3JlVGhyZWFk
VmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOyB9CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNo
ZWNrUm91bmRPbmUoKTsKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKQEAgLTc5LDcgKzc5LDcg
QEAgV2ViQ29yZTo6RE9NV2luZG93KiBjb3JlKERPTUFic3RyYWN0VmlldwogCiBET01BYnN0cmFj
dFZpZXcgKmtpdChXZWJDb3JlOjpET01XaW5kb3cqIHZhbHVlKQogewotICAgIHsgRE9NX0FTU0VS
VF9NQUlOX1RIUkVBRCgpOyBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOyB9
OworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7CiAKICAgICBpZiAo
IXZhbHVlKQogICAgICAgICByZXR1cm4gbmlsOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9FeGNlcHRpb25IYW5kbGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvRXhjZXB0aW9uSGFuZGxlcnMuaAkocmV2aXNpb24gMTg0ODUxKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9FeGNlcHRpb25IYW5kbGVycy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCwxNiArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
IAotI2lmICFkZWZpbmVkKE5ERUJVRykgJiYgIWRlZmluZWQoRElTQUJMRV9USFJFQURfQ0hFQ0sp
Ci0jZGVmaW5lIERPTV9BU1NFUlRfTUFJTl9USFJFQUQoKSBkbyBcCi0gICAgaWYgKCFwdGhyZWFk
X21haW5fbnAoKSkgeyBcCi0gICAgICAgIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoX19GSUxF
X18sIF9fTElORV9fLCBXVEZfUFJFVFRZX0ZVTkNUSU9OLCAiRE9NIGFjY2VzcyBvbiBub24tbWFp
biB0aHJlYWQgLS0geW91IHdpbGwgcHJvYmFibHkgY3Jhc2ggc29vbiEiKTsgXAotICAgIH0gXAot
d2hpbGUgKDApCi0jZWxzZQotI2RlZmluZSBET01fQVNTRVJUX01BSU5fVEhSRUFEKCkgKCh2b2lk
KTApCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogICAgIHR5cGVkZWYgaW50
IEV4Y2VwdGlvbkNvZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHdvcmtpbmcg
Y29weSkKQEAgLTEwOSw3ICsxMDksNyBAQCBteSAkbnVsbGFibGVJbml0ID0gImJvb2wgaXNOdWxs
ID0gZmFsc2U7CiBteSAkZXhjZXB0aW9uSW5pdCA9ICJXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVj
ID0gMDsiOwogbXkgJGpzQ29udGV4dFNldHRlciA9ICJXZWJDb3JlOjpKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7IjsKIG15ICRleGNlcHRpb25SYWlzZU9uRXJyb3IgPSAiV2ViQ29yZTo6cmFp
c2VPbkRPTUVycm9yKGVjKTsiOwotbXkgJGFzc2VydE1haW5UaHJlYWQgPSAieyBET01fQVNTRVJU
X01BSU5fVEhSRUFEKCk7IFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7IH0i
OworbXkgJHRocmVhZFZpb2xhdGlvbkNoZWNrID0gIldlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVj
a1JvdW5kT25lKCk7IjsKIAogbXkgJWNvbmZsaWN0TWV0aG9kID0gKAogICAgICMgRklYTUU6IEFk
ZCBDIGxhbmd1YWdlIGtleXdvcmRzPwpAQCAtMTY3Niw3ICsxNjc2LDcgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICBpZiAoJHBhcmVudEltcGxDbGFzc05hbWUgZXEgIk9iamVjdCIp
IHsgICAgICAgIAogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiRjbGFzc05hbWUgKmtpdCgk
aW1wbFR5cGUqIHZhbHVlKVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7
Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRhc3NlcnRNYWluVGhyZWFkO1xuIik7
CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR0aHJlYWRWaW9sYXRpb25DaGVja1xu
Iik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghdmFsdWUpXG4iKTsKICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBuaWw7XG4iKTsKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCRjbGFzc05hbWUgKndyYXBwZXIgPSBnZXRE
T01XcmFwcGVyKHZhbHVlKSlcbiIpOwpAQCAtMTY5Niw3ICsxNjk2LDcgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiRjbGFzc05hbWUgKmtpdCgkaW1wbFR5cGUqIHZhbHVlKVxuIik7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAie1xuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRhc3Nl
cnRNYWluVGhyZWFkO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR0aHJl
YWRWaW9sYXRpb25DaGVjaztcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KGtpdChzdGF0aWNfY2FzdDxXZWJDb3JlOjok
YmFzZUNsYXNzKj4odmFsdWUpKSk7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9
XG4iKTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01GbG9hdDY0QXJyYXkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NRmxvYXQ2NEFycmF5Lm1tCShyZXZpc2lvbiAxODQ4
NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01GbG9h
dDY0QXJyYXkubW0JKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDYgQEAgV2ViQ29yZTo6Rmxv
YXQ2NEFycmF5KiBjb3JlKERPTUZsb2F0NjRBcgogCiBET01GbG9hdDY0QXJyYXkgKmtpdChXZWJD
b3JlOjpGbG9hdDY0QXJyYXkqIHZhbHVlKQogewotICAgIHsgRE9NX0FTU0VSVF9NQUlOX1RIUkVB
RCgpOyBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOyB9OworICAgIFdlYkNv
cmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PERPTUZsb2F0NjRBcnJheSo+KGtpdChzdGF0aWNfY2FzdDxXZWJDb3JlOjpOb2RlKj4odmFsdWUp
KSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0QWN0aXZlRE9NT2JqZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RBY3RpdmVET01PYmplY3QubW0JKHJldmlz
aW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpD
L0RPTVRlc3RBY3RpdmVET01PYmplY3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTg5LDcgKzg5LDcg
QEAgV2ViQ29yZTo6VGVzdEFjdGl2ZURPTU9iamVjdCogY29yZShET01UZQogCiBET01UZXN0QWN0
aXZlRE9NT2JqZWN0ICpraXQoV2ViQ29yZTo6VGVzdEFjdGl2ZURPTU9iamVjdCogdmFsdWUpCiB7
Ci0gICAgeyBET01fQVNTRVJUX01BSU5fVEhSRUFEKCk7IFdlYkNvcmVUaHJlYWRWaW9sYXRpb25D
aGVja1JvdW5kT25lKCk7IH07CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRP
bmUoKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIGlmIChET01U
ZXN0QWN0aXZlRE9NT2JqZWN0ICp3cmFwcGVyID0gZ2V0RE9NV3JhcHBlcih2YWx1ZSkpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJh
Y2subW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L09iakMvRE9NVGVzdENhbGxiYWNrLm1tCShyZXZpc2lvbiAxODQ4NTEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW0JKHdvcmtp
bmcgY29weSkKQEAgLTEzMSw3ICsxMzEsNyBAQCBXZWJDb3JlOjpUZXN0Q2FsbGJhY2sqIGNvcmUo
RE9NVGVzdENhbGxiCiAKIERPTVRlc3RDYWxsYmFjayAqa2l0KFdlYkNvcmU6OlRlc3RDYWxsYmFj
ayogdmFsdWUpCiB7Ci0gICAgeyBET01fQVNTRVJUX01BSU5fVEhSRUFEKCk7IFdlYkNvcmVUaHJl
YWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7IH07CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlv
bkNoZWNrUm91bmRPbmUoKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gbmlsOwog
ICAgIGlmIChET01UZXN0Q2FsbGJhY2sgKndyYXBwZXIgPSBnZXRET01XcmFwcGVyKHZhbHVlKSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RD
dXN0b21OYW1lZEdldHRlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIubW0JKHJldmlzaW9u
IDE4NDg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RDdXN0b21OYW1lZEdldHRlci5tbQkod29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNyBA
QCBXZWJDb3JlOjpUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGNvcmUoRE9NCiAKIERPTVRlc3RDdXN0
b21OYW1lZEdldHRlciAqa2l0KFdlYkNvcmU6OlRlc3RDdXN0b21OYW1lZEdldHRlciogdmFsdWUp
CiB7Ci0gICAgeyBET01fQVNTRVJUX01BSU5fVEhSRUFEKCk7IFdlYkNvcmVUaHJlYWRWaW9sYXRp
b25DaGVja1JvdW5kT25lKCk7IH07CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91
bmRPbmUoKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIGlmIChE
T01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIgKndyYXBwZXIgPSBnZXRET01XcmFwcGVyKHZhbHVlKSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RF
dmVudENvbnN0cnVjdG9yLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RFdmVudENvbnN0cnVjdG9yLm1tCShyZXZpc2lvbiAx
ODQ4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5tbQkod29ya2luZyBjb3B5KQpAQCAtODMsNyArODMsNyBAQCBX
ZWJDb3JlOjpUZXN0RXZlbnRDb25zdHJ1Y3RvciogY29yZShET01UCiAKIERPTVRlc3RFdmVudENv
bnN0cnVjdG9yICpraXQoV2ViQ29yZTo6VGVzdEV2ZW50Q29uc3RydWN0b3IqIHZhbHVlKQogewot
ICAgIHsgRE9NX0FTU0VSVF9NQUlOX1RIUkVBRCgpOyBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hl
Y2tSb3VuZE9uZSgpOyB9OworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25l
KCk7CiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICBpZiAoRE9NVGVz
dEV2ZW50Q29uc3RydWN0b3IgKndyYXBwZXIgPSBnZXRET01XcmFwcGVyKHZhbHVlKSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RFdmVudFRh
cmdldC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvT2JqQy9ET01UZXN0RXZlbnRUYXJnZXQubW0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RFdmVudFRhcmdldC5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTA0LDcgKzEwNCw3IEBAIFdlYkNvcmU6OlRlc3RFdmVudFRh
cmdldCogY29yZShET01UZXN0RXYKIAogRE9NVGVzdEV2ZW50VGFyZ2V0ICpraXQoV2ViQ29yZTo6
VGVzdEV2ZW50VGFyZ2V0KiB2YWx1ZSkKIHsKLSAgICB7IERPTV9BU1NFUlRfTUFJTl9USFJFQUQo
KTsgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsgfTsKKyAgICBXZWJDb3Jl
VGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOwogICAgIGlmICghdmFsdWUpCiAgICAgICAg
IHJldHVybiBuaWw7CiAgICAgaWYgKERPTVRlc3RFdmVudFRhcmdldCAqd3JhcHBlciA9IGdldERP
TVdyYXBwZXIodmFsdWUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdEV4Y2VwdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0RXhjZXB0aW9uLm1tCShyZXZpc2lv
biAxODQ4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9E
T01UZXN0RXhjZXB0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3IEBAIFdlYkNv
cmU6OlRlc3RFeGNlcHRpb24qIGNvcmUoRE9NVGVzdEV4Y2UKIAogRE9NVGVzdEV4Y2VwdGlvbiAq
a2l0KFdlYkNvcmU6OlRlc3RFeGNlcHRpb24qIHZhbHVlKQogewotICAgIHsgRE9NX0FTU0VSVF9N
QUlOX1RIUkVBRCgpOyBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOyB9Owor
ICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7CiAgICAgaWYgKCF2YWx1
ZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICBpZiAoRE9NVGVzdEV4Y2VwdGlvbiAqd3JhcHBl
ciA9IGdldERPTVdyYXBwZXIodmFsdWUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUubW0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIFdlYkNvcmU6OlRlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlKiBjb3JlKEQKIAogRE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUgKmtpdChXZWJD
b3JlOjpUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSogdmFsdWUpCiB7Ci0gICAgeyBET01fQVNTRVJU
X01BSU5fVEhSRUFEKCk7IFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7IH07
CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsKICAgICBpZiAoIXZh
bHVlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIGlmIChET01UZXN0R2VuZXJhdGVJc1JlYWNo
YWJsZSAqd3JhcHBlciA9IGdldERPTVdyYXBwZXIodmFsdWUpKQpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEludGVyZmFjZS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
SW50ZXJmYWNlLm1tCShyZXZpc2lvbiAxODQ4NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0SW50ZXJmYWNlLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yNjcsNyArMjY3LDcgQEAgV2ViQ29yZTo6VGVzdEludGVyZmFjZSogY29yZShET01UZXN0SW50
ZQogCiBET01UZXN0SW50ZXJmYWNlICpraXQoV2ViQ29yZTo6VGVzdEludGVyZmFjZSogdmFsdWUp
CiB7Ci0gICAgeyBET01fQVNTRVJUX01BSU5fVEhSRUFEKCk7IFdlYkNvcmVUaHJlYWRWaW9sYXRp
b25DaGVja1JvdW5kT25lKCk7IH07CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91
bmRPbmUoKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIGlmIChE
T01UZXN0SW50ZXJmYWNlICp3cmFwcGVyID0gZ2V0RE9NV3JhcHBlcih2YWx1ZSkpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5tbQkocmV2aXNp
b24gMTg0ODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMv
RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTc3LDcg
Kzc3LDcgQEAgV2ViQ29yZTo6VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGNvcgogCiBET01U
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciAqa2l0KFdlYkNvcmU6OlRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyKiB2YWx1ZSkKIHsKLSAgICB7IERPTV9BU1NFUlRfTUFJTl9USFJFQUQoKTsgV2Vi
Q29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsgfTsKKyAgICBXZWJDb3JlVGhyZWFk
VmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOwogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVy
biBuaWw7CiAgICAgaWYgKERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyICp3cmFwcGVyID0g
Z2V0RE9NV3JhcHBlcih2YWx1ZSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0TmFtZWRDb25zdHJ1Y3Rvci5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0TmFtZWRDb25z
dHJ1Y3Rvci5tbQkocmV2aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5hbWVkQ29uc3RydWN0b3IubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTY5LDcgKzY5LDcgQEAgV2ViQ29yZTo6VGVzdE5hbWVkQ29uc3RydWN0b3IqIGNvcmUo
RE9NVAogCiBET01UZXN0TmFtZWRDb25zdHJ1Y3RvciAqa2l0KFdlYkNvcmU6OlRlc3ROYW1lZENv
bnN0cnVjdG9yKiB2YWx1ZSkKIHsKLSAgICB7IERPTV9BU1NFUlRfTUFJTl9USFJFQUQoKTsgV2Vi
Q29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsgfTsKKyAgICBXZWJDb3JlVGhyZWFk
VmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOwogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVy
biBuaWw7CiAgICAgaWYgKERPTVRlc3ROYW1lZENvbnN0cnVjdG9yICp3cmFwcGVyID0gZ2V0RE9N
V3JhcHBlcih2YWx1ZSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvT2JqQy9ET01UZXN0Tm9kZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Tm9kZS5tbQkocmV2aXNpb24gMTg0ODUxKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5vZGUu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDYgQEAgV2ViQ29yZTo6VGVzdE5vZGUqIGNv
cmUoRE9NVGVzdE5vZGUgKndyYQogCiBET01UZXN0Tm9kZSAqa2l0KFdlYkNvcmU6OlRlc3ROb2Rl
KiB2YWx1ZSkKIHsKLSAgICB7IERPTV9BU1NFUlRfTUFJTl9USFJFQUQoKTsgV2ViQ29yZVRocmVh
ZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsgfTsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9u
Q2hlY2tSb3VuZE9uZSgpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxET01UZXN0Tm9kZSo+KGtp
dChzdGF0aWNfY2FzdDxXZWJDb3JlOjpOb2RlKj4odmFsdWUpKSk7CiB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Tm9uZGV0ZXJtaW5pc3Rp
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
T2JqQy9ET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYy5tbQkocmV2aXNpb24gMTg0ODUxKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE5vbmRldGVybWlu
aXN0aWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3ICsxMzUsNyBAQCBXZWJDb3JlOjpUZXN0
Tm9uZGV0ZXJtaW5pc3RpYyogY29yZShET01UCiAKIERPTVRlc3ROb25kZXRlcm1pbmlzdGljICpr
aXQoV2ViQ29yZTo6VGVzdE5vbmRldGVybWluaXN0aWMqIHZhbHVlKQogewotICAgIHsgRE9NX0FT
U0VSVF9NQUlOX1RIUkVBRCgpOyBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgp
OyB9OworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7CiAgICAgaWYg
KCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICBpZiAoRE9NVGVzdE5vbmRldGVybWlu
aXN0aWMgKndyYXBwZXIgPSBnZXRET01XcmFwcGVyKHZhbHVlKSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5t
bQkocmV2aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdE9iai5tbQkod29ya2luZyBjb3B5KQpAQCAtMTE5Miw3ICsxMTkyLDcg
QEAgV2ViQ29yZTo6VGVzdE9iaiogY29yZShET01UZXN0T2JqICp3cmFwcAogCiBET01UZXN0T2Jq
ICpraXQoV2ViQ29yZTo6VGVzdE9iaiogdmFsdWUpCiB7Ci0gICAgeyBET01fQVNTRVJUX01BSU5f
VEhSRUFEKCk7IFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCk7IH07CisgICAg
V2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsKICAgICBpZiAoIXZhbHVlKQog
ICAgICAgICByZXR1cm4gbmlsOwogICAgIGlmIChET01UZXN0T2JqICp3cmFwcGVyID0gZ2V0RE9N
V3JhcHBlcih2YWx1ZSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvT2JqQy9ET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5tbQkocmV2aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcgQEAgV2ViQ29yZTo6VGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMqIGNvcgogCiBET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyAqa2l0KFdl
YkNvcmU6OlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKiB2YWx1ZSkKIHsKLSAgICB7IERPTV9B
U1NFUlRfTUFJTl9USFJFQUQoKTsgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUo
KTsgfTsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOwogICAgIGlm
ICghdmFsdWUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgaWYgKERPTVRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzICp3cmFwcGVyID0gZ2V0RE9NV3JhcHBlcih2YWx1ZSkpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UubW0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9PYmpDL0RPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UubW0JKHdv
cmtpbmcgY29weSkKQEAgLTExMyw3ICsxMTMsNyBAQCBXZWJDb3JlOjpUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmCiAKIERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Ug
KmtpdChXZWJDb3JlOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiB2YWx1ZSkK
IHsKLSAgICB7IERPTV9BU1NFUlRfTUFJTl9USFJFQUQoKTsgV2ViQ29yZVRocmVhZFZpb2xhdGlv
bkNoZWNrUm91bmRPbmUoKTsgfTsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3Vu
ZE9uZSgpOwogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgaWYgKERP
TVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UgKndyYXBwZXIgPSBnZXRET01XcmFw
cGVyKHZhbHVlKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RUeXBlZGVmcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnMubW0JKHJldmlzaW9uIDE4NDg1
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RU
eXBlZGVmcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTc3LDcgKzE3Nyw3IEBAIFdlYkNvcmU6OlRl
c3RUeXBlZGVmcyogY29yZShET01UZXN0VHlwZWQKIAogRE9NVGVzdFR5cGVkZWZzICpraXQoV2Vi
Q29yZTo6VGVzdFR5cGVkZWZzKiB2YWx1ZSkKIHsKLSAgICB7IERPTV9BU1NFUlRfTUFJTl9USFJF
QUQoKTsgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsgfTsKKyAgICBXZWJD
b3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpOwogICAgIGlmICghdmFsdWUpCiAgICAg
ICAgIHJldHVybiBuaWw7CiAgICAgaWYgKERPTVRlc3RUeXBlZGVmcyAqd3JhcHBlciA9IGdldERP
TVdyYXBwZXIodmFsdWUpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NYXR0cmlidXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTWF0dHJpYnV0ZS5tbQkocmV2aXNpb24gMTg0ODUx
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NYXR0cmli
dXRlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3IEBAIFdlYkNvcmU6OmF0dHJpYnV0
ZSogY29yZShET01hdHRyaWJ1dGUgKncKIAogRE9NYXR0cmlidXRlICpraXQoV2ViQ29yZTo6YXR0
cmlidXRlKiB2YWx1ZSkKIHsKLSAgICB7IERPTV9BU1NFUlRfTUFJTl9USFJFQUQoKTsgV2ViQ29y
ZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUoKTsgfTsKKyAgICBXZWJDb3JlVGhyZWFkVmlv
bGF0aW9uQ2hlY2tSb3VuZE9uZSgpOwogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVybiBu
aWw7CiAgICAgaWYgKERPTWF0dHJpYnV0ZSAqd3JhcHBlciA9IGdldERPTVdyYXBwZXIodmFsdWUp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NcmVh
ZG9ubHkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NcmVhZG9ubHkubW0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTXJlYWRvbmx5Lm1tCSh3b3JraW5nIGNv
cHkpCkBAIC02OSw3ICs2OSw3IEBAIFdlYkNvcmU6OnJlYWRvbmx5KiBjb3JlKERPTXJlYWRvbmx5
ICp3cmEKIAogRE9NcmVhZG9ubHkgKmtpdChXZWJDb3JlOjpyZWFkb25seSogdmFsdWUpCiB7Ci0g
ICAgeyBET01fQVNTRVJUX01BSU5fVEhSRUFEKCk7IFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVj
a1JvdW5kT25lKCk7IH07CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRPbmUo
KTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gbmlsOwogICAgIGlmIChET01yZWFk
b25seSAqd3JhcHBlciA9IGdldERPTVdyYXBwZXIodmFsdWUpKQpJbmRleDogU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2
aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDUtMjUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KKworICAgICAgICBBU1NFUlRfTUFJTl9USFJFQUQgYW5kIERPTV9BU1NFUlRfTUFJTl9U
SFJFQUQgYXJlIHVubmVjZXNzYXJ5IG5vLW9wcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOiBSZW1v
dmVkIERJU0FCTEVfVEhSRUFEX0NIRUNLIGZyb20gREVCVUdfREVGSU5FUy4KKwogMjAxNS0wNS0y
NSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gQWRkIGNvbnN0cnVjdCBwcm9wZXJ0eSB0byBXZWJLaXRXZWJDb250ZXh0IHRvIHNldCB0
aGUgSW5kZXhlZERCIGRhdGFiYXNlIGRpcmVjdG9yeQpJbmRleDogU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCShyZXZpc2lvbiAxODQ4NTEpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC04
MCw3ICs4MCw3IEBAIFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChNQUNfT1MKIAog
Ly8gREVCVUdfREVGSU5FUywgR0NDX09QVElNSVpBVElPTl9MRVZFTCwgU1RSSVBfSU5TVEFMTEVE
X1BST0RVQ1QgYW5kIERFQURfQ09ERV9TVFJJUFBJTkcgdmFyeSBiZXR3ZWVuIHRoZSBkZWJ1ZyBh
bmQgbm9ybWFsIHZhcmlhbnRzLgogLy8gV2Ugc2V0IHVwIHRoZSB2YWx1ZXMgZm9yIGVhY2ggdmFy
aWFudCBoZXJlLCBhbmQgaGF2ZSB0aGUgRGVidWcgY29uZmlndXJhdGlvbiBpbiB0aGUgWGNvZGUg
cHJvamVjdCB1c2UgdGhlIF9kZWJ1ZyB2YXJpYW50LgotREVCVUdfREVGSU5FU19kZWJ1ZyA9IERJ
U0FCTEVfVEhSRUFEX0NIRUNLOworREVCVUdfREVGSU5FU19kZWJ1ZyA9IDsKIERFQlVHX0RFRklO
RVNfbm9ybWFsID0gTkRFQlVHOwogREVCVUdfREVGSU5FUyA9ICQoREVCVUdfREVGSU5FU18kKENV
UlJFTlRfVkFSSUFOVCkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODQ4NTEp
CisrKyBTb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxOCBAQAorMjAxNS0wNS0yNSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisg
ICAgICAgIEFTU0VSVF9NQUlOX1RIUkVBRCBhbmQgRE9NX0FTU0VSVF9NQUlOX1RIUkVBRCBhcmUg
dW5uZWNlc3Nhcnkgbm8tb3BzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDUzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIE1pc2MvV2ViR2VvbG9jYXRpb25Db3JlTG9jYXRpb25Qcm92aWRlci5tbToK
KyAgICAgICAgKC1bV2ViR2VvbG9jYXRpb25Db3JlTG9jYXRpb25Qcm92aWRlciBpbml0V2l0aExp
c3RlbmVyOl0pOiBSZW1vdmVkIHVzZSBvZiBBU1NFUlRfTUFJTl9USFJFQUQuCisgICAgICAgICgt
W1dlYkdlb2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlkZXIgZGVhbGxvY10pOiBEaXR0by4KKyAg
ICAgICAgKC1bV2ViR2VvbG9jYXRpb25Db3JlTG9jYXRpb25Qcm92aWRlciByZXF1ZXN0R2VvbG9j
YXRpb25BdXRob3JpemF0aW9uXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJHZW9sb2NhdGlvbkNv
cmVMb2NhdGlvblByb3ZpZGVyIHN0YXJ0XSk6IERpdHRvLgorICAgICAgICAoLVtXZWJHZW9sb2Nh
dGlvbkNvcmVMb2NhdGlvblByb3ZpZGVyIHN0b3BdKTogRGl0dG8uCisgICAgICAgICgtW1dlYkdl
b2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlkZXIgc2V0RW5hYmxlSGlnaEFjY3VyYWN5Ol0pOiBE
aXR0by4KKwogMjAxNS0wNC0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29uc29saWRhdGUgbW9zdCAiZnJhbWUgbG9hZCIgYXJndW1lbnRzIGludG8gRnJh
bWVMb2FkUmVxdWVzdC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvaW9zL01pc2MvV2ViR2VvbG9jYXRp
b25Db3JlTG9jYXRpb25Qcm92aWRlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2lv
cy9NaXNjL1dlYkdlb2xvY2F0aW9uQ29yZUxvY2F0aW9uUHJvdmlkZXIubW0JKHJldmlzaW9uIDE4
NDg1MSkKKysrIFNvdXJjZS9XZWJLaXQvaW9zL01pc2MvV2ViR2VvbG9jYXRpb25Db3JlTG9jYXRp
b25Qcm92aWRlci5tbQkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNiBAQCAtICh2b2lkKWNy
ZWF0ZUxvY2F0aW9uTWFuYWdlcgogCiAtIChpZClpbml0V2l0aExpc3RlbmVyOihpZDxXZWJHZW9s
b2NhdGlvbkNvcmVMb2NhdGlvblVwZGF0ZUxpc3RlbmVyPilsaXN0ZW5lcgogewotICAgIEFTU0VS
VF9NQUlOX1RIUkVBRCgpOwogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKHNlbGYp
IHsKICAgICAgICAgX3Bvc2l0aW9uTGlzdGVuZXIgPSBsaXN0ZW5lcjsKQEAgLTg0LDE1ICs4Mywx
MiBAQCAtIChpZClpbml0V2l0aExpc3RlbmVyOihpZDxXZWJHZW9sb2NhdGlvCiAKIC0gKHZvaWQp
ZGVhbGxvYwogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogICAgIFtfbG9jYXRpb25NYW5h
Z2VyIHNldERlbGVnYXRlOm5pbF07CiAgICAgW3N1cGVyIGRlYWxsb2NdOwogfQogCiAtICh2b2lk
KXJlcXVlc3RHZW9sb2NhdGlvbkF1dGhvcml6YXRpb24KIHsKLSAgICBBU1NFUlRfTUFJTl9USFJF
QUQoKTsKLQogICAgIGlmICghW2dldENMTG9jYXRpb25NYW5hZ2VyQ2xhc3MoKSBsb2NhdGlvblNl
cnZpY2VzRW5hYmxlZF0pIHsKICAgICAgICAgW19wb3NpdGlvbkxpc3RlbmVyIGdlb2xvY2F0aW9u
QXV0aG9yaXphdGlvbkRlbmllZF07CiAgICAgICAgIHJldHVybjsKQEAgLTEyNSw4ICsxMjEsNiBA
QCBzdGF0aWMgYm9vbCBpc0F1dGhvcml6YXRpb25HcmFudGVkKENMQXV0CiAKIC0gKHZvaWQpc3Rh
cnQKIHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsKLQogICAgIGlmICghW2dldENMTG9jYXRp
b25NYW5hZ2VyQ2xhc3MoKSBsb2NhdGlvblNlcnZpY2VzRW5hYmxlZF0KICAgICAgICAgfHwgIWlz
QXV0aG9yaXphdGlvbkdyYW50ZWQoW2dldENMTG9jYXRpb25NYW5hZ2VyQ2xhc3MoKSBhdXRob3Jp
emF0aW9uU3RhdHVzXSkpIHsKICAgICAgICAgW19sb2NhdGlvbk1hbmFnZXIgc3RvcFVwZGF0aW5n
TG9jYXRpb25dOwpAQCAtMTM5LDcgKzEzMyw2IEBAIC0gKHZvaWQpc3RhcnQKIAogLSAodm9pZClz
dG9wCiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CiAgICAgW19sb2NhdGlvbk1hbmFnZXIg
c3RvcFVwZGF0aW5nTG9jYXRpb25dOwogfQogCkBAIC0yMjEsNyArMjE0LDYgQEAgLSAodm9pZCls
b2NhdGlvbk1hbmFnZXI6KENMTG9jYXRpb25NYW5hZwogCiAtICh2b2lkKXNldEVuYWJsZUhpZ2hB
Y2N1cmFjeTooQk9PTClmbGFnCiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CiAgICAgW19s
b2NhdGlvbk1hbmFnZXIgc2V0RGVzaXJlZEFjY3VyYWN5OmZsYWcgPyBrQ0xMb2NhdGlvbkFjY3Vy
YWN5QmVzdCA6IGtDTExvY2F0aW9uQWNjdXJhY3lIdW5kcmVkTWV0ZXJzXTsKIH0KIApJbmRleDog
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTUtMDUtMjUgIERhbiBC
ZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBBU1NFUlRfTUFJTl9USFJFQUQg
YW5kIERPTV9BU1NFUlRfTUFJTl9USFJFQUQgYXJlIHVubmVjZXNzYXJ5IG5vLW9wcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzcyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDYXJib24vQ2FyYm9u
V2luZG93QWRhcHRlci5tbToKKyAgICAgICAgKC1bQ2FyYm9uV2luZG93QWRhcHRlciBmaW5hbGl6
ZV0pOiBSZW1vdmVkIHVzZSBvZiBBU1NFUlRfTUFJTl9USFJFQUQuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOiBSZW1vdmVkIERJU0FCTEVfVEhSRUFEX0NIRUNLIGZy
b20gREVCVUdfREVGSU5FUy4KKworICAgICAgICAqIEhpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW06
CisgICAgICAgICgtW1dlYkhpc3RvcnlJdGVtIFVSTFN0cmluZ10pOiBSZW1vdmVkIHVzZSBvZiBB
U1NFUlRfTUFJTl9USFJFQUQuCisgICAgICAgICgtW1dlYkhpc3RvcnlJdGVtIG9yaWdpbmFsVVJM
U3RyaW5nXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJIaXN0b3J5SXRlbSB0aXRsZV0pOiBEaXR0
by4KKyAgICAgICAgKC1bV2ViSGlzdG9yeUl0ZW0gbGFzdFZpc2l0ZWRUaW1lSW50ZXJ2YWxdKTog
RGl0dG8uCisgICAgICAgICgtW1dlYkhpc3RvcnlJdGVtIGlzRXF1YWw6XSk6IERpdHRvLgorICAg
ICAgICAoLVtXZWJIaXN0b3J5SXRlbSBkZXNjcmlwdGlvbl0pOiBEaXR0by4KKyAgICAgICAgKC1b
V2ViSGlzdG9yeUl0ZW0gaW5pdEZyb21EaWN0aW9uYXJ5UmVwcmVzZW50YXRpb246XSk6IERpdHRv
LgorICAgICAgICAoLVtXZWJIaXN0b3J5SXRlbSBzY3JvbGxQb2ludF0pOiBEaXR0by4KKworICAg
ICAgICAqIE1pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW06CisgICAgICAgICgtW1dlYkVsZW1l
bnREaWN0aW9uYXJ5IGZpbmFsaXplXSk6IERpdHRvLgorCisgICAgICAgICogTWlzYy9XZWJJY29u
RGF0YWJhc2UubW06CisgICAgICAgICgtW1dlYkljb25EYXRhYmFzZSBpY29uRm9yVVJMOndpdGhT
aXplOmNhY2hlOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViSWNvbkRhdGFiYXNlIGljb25VUkxG
b3JVUkw6XSk6IERpdHRvLgorICAgICAgICAoLVtXZWJJY29uRGF0YWJhc2UgZGVmYXVsdEljb25X
aXRoU2l6ZTpdKTogRGl0dG8uCisgICAgICAgICgtW1dlYkljb25EYXRhYmFzZSByZXRhaW5JY29u
Rm9yVVJMOl0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViSWNvbkRhdGFiYXNlIHJlbGVhc2VJY29u
Rm9yVVJMOl0pOiBEaXR0by4KKyAgICAgICAgKCtbV2ViSWNvbkRhdGFiYXNlIGRlbGF5RGF0YWJh
c2VDbGVhbnVwXSk6IERpdHRvLgorICAgICAgICAoK1tXZWJJY29uRGF0YWJhc2UgYWxsb3dEYXRh
YmFzZUNsZWFudXBdKTogRGl0dG8uCisgICAgICAgICgtW1dlYkljb25EYXRhYmFzZSByZW1vdmVB
bGxJY29uc10pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViSWNvbkRhdGFiYXNlIF9pY29uRm9yRmls
ZVVSTDp3aXRoU2l6ZTpdKTogRGl0dG8uCisgICAgICAgICh3ZWJHZXROU0ltYWdlKTogRGl0dG8u
CisKKyAgICAgICAgKiBNaXNjL1dlYktpdExvZ2dpbmcuaDogUmVtb3ZlZCBkZWZpbml0aW9uIG9m
IEFTU0VSVF9NQUlOX1RIUkVBRC4KKworICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZU5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBmaW5h
bGl6ZV0pOiBSZW1vdmVkIHVzZSBvZiBBU1NFUlRfTUFJTl9USFJFQUQuCisKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tOgorICAgICAgICAoLVtXZWJCYXNlUGx1Z2lu
UGFja2FnZSBmaW5hbGl6ZV0pOiBEaXR0by4KKworICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2Nh
cGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJOZXRzY2FwZVBsdWdpblZpZXcgZmluYWxp
emVdKTogRGl0dG8uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
bW06CisgICAgICAgICgtW1dlYlVuZG9TdGVwIGZpbmFsaXplXSk6IERpdHRvLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoLVtXZWJEYXRhU291cmNlIGZp
bmFsaXplXSk6IERpdHRvLgorCisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAg
ICAgICAgKC1bV2ViSFRNTFZpZXdQcml2YXRlIGZpbmFsaXplXSk6IERpdHRvLgorICAgICAgICAo
LVtXZWJIVE1MVmlldyBmaW5hbGl6ZV0pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViSFRNTFZpZXcg
ZHJhd1JlY3Q6XSk6IERpdHRvLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5tbToK
KyAgICAgICAgKC1bV2ViVmlld1ByaXZhdGUgZmluYWxpemVdKTogRGl0dG8uCisKIDIwMTUtMDUt
MjMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51
c2VkIGRlZmluaXRpb25zIG9mIFdFQktJVF9WRVJTSU9OX01JTl9SRVFVSVJFRApJbmRleDogU291
cmNlL1dlYktpdC9tYWMvQ2FyYm9uL0NhcmJvbldpbmRvd0FkYXB0ZXIubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9tYWMvQ2FyYm9uL0NhcmJvbldpbmRvd0FkYXB0ZXIubW0JKHJldmlz
aW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NhcmJvbi9DYXJib25XaW5kb3dBZGFw
dGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsNyArMjk3LDYgQEAgLSAodm9pZClkZWFsbG9j
IHsKIH0KIAogLSAodm9pZClmaW5hbGl6ZSB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CiAg
ICAgaWYgKF9ldmVudEhhbmRsZXIpIFJlbW92ZUV2ZW50SGFuZGxlcihfZXZlbnRIYW5kbGVyKTsK
ICAgICBbc3VwZXIgZmluYWxpemVdOwogfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvQmFzZS54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCShyZXZpc2lvbiAxODQ4NTEpCisrKyBTb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC04MCw3ICs4MCw3IEBAIFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChNQUNfT1MK
IAogLy8gREVCVUdfREVGSU5FUywgR0NDX09QVElNSVpBVElPTl9MRVZFTCwgU1RSSVBfSU5TVEFM
TEVEX1BST0RVQ1QgYW5kIERFQURfQ09ERV9TVFJJUFBJTkcgdmFyeSBiZXR3ZWVuIHRoZSBkZWJ1
ZyBhbmQgbm9ybWFsIHZhcmlhbnRzLgogLy8gV2Ugc2V0IHVwIHRoZSB2YWx1ZXMgZm9yIGVhY2gg
dmFyaWFudCBoZXJlLCBhbmQgaGF2ZSB0aGUgRGVidWcgY29uZmlndXJhdGlvbiBpbiB0aGUgWGNv
ZGUgcHJvamVjdCB1c2UgdGhlIF9kZWJ1ZyB2YXJpYW50LgotREVCVUdfREVGSU5FU19kZWJ1ZyA9
IERJU0FCTEVfVEhSRUFEX0NIRUNLOworREVCVUdfREVGSU5FU19kZWJ1ZyA9IDsKIERFQlVHX0RF
RklORVNfbm9ybWFsID0gTkRFQlVHOwogREVCVUdfREVGSU5FUyA9ICQoREVCVUdfREVGSU5FU18k
KENVUlJFTlRfVkFSSUFOVCkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dl
Ykhpc3RvcnlJdGVtLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0hpc3Rvcnkv
V2ViSGlzdG9yeUl0ZW0ubW0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4MSw3ICsxODEs
NiBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpvbmUKIC8vIEZJWE1FOiBOZWVkIHRv
IGRlY2lkZSBpZiB0aGlzIGNsYXNzIGV2ZXIgcmV0dXJucyBVUkxzIGFuZCBkZWNpZGUgb24gdGhl
IG5hbWUgb2YgdGhpcyBtZXRob2QKIC0gKE5TU3RyaW5nICopVVJMU3RyaW5nCiB7Ci0gICAgQVNT
RVJUX01BSU5fVEhSRUFEKCk7CiAgICAgcmV0dXJuIG5zU3RyaW5nTmlsSWZFbXB0eShjb3JlKF9w
cml2YXRlKS0+dXJsU3RyaW5nKCkpOwogfQogCkBAIC0xODksMTMgKzE4OCwxMSBAQCAtIChOU1N0
cmluZyAqKVVSTFN0cmluZwogLy8gYW5kIHNlcnZlciByZWRpcmVjdHMuCiAtIChOU1N0cmluZyAq
KW9yaWdpbmFsVVJMU3RyaW5nCiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CiAgICAgcmV0
dXJuIG5zU3RyaW5nTmlsSWZFbXB0eShjb3JlKF9wcml2YXRlKS0+b3JpZ2luYWxVUkxTdHJpbmco
KSk7CiB9CiAKIC0gKE5TU3RyaW5nICopdGl0bGUKIHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQo
KTsKICAgICByZXR1cm4gbnNTdHJpbmdOaWxJZkVtcHR5KGNvcmUoX3ByaXZhdGUpLT50aXRsZSgp
KTsKIH0KIApAQCAtMjE4LDcgKzIxNSw2IEBAIC0gKE5TSW1hZ2UgKilpY29uCiAKIC0gKE5TVGlt
ZUludGVydmFsKWxhc3RWaXNpdGVkVGltZUludGVydmFsCiB7Ci0gICAgQVNTRVJUX01BSU5fVEhS
RUFEKCk7CiAgICAgcmV0dXJuIF9wcml2YXRlLT5fbGFzdFZpc2l0ZWRUaW1lOwogfQogCkBAIC0y
MjksMTcgKzIyNSwxNCBAQCAtIChOU1VJbnRlZ2VyKWhhc2gKIAogLSAoQk9PTClpc0VxdWFsOihp
ZClhbk9iamVjdAogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwotICAgIGlmICghW2FuT2Jq
ZWN0IGlzTWVtYmVyT2ZDbGFzczpbV2ViSGlzdG9yeUl0ZW0gY2xhc3NdXSkgeworICAgIGlmICgh
W2FuT2JqZWN0IGlzTWVtYmVyT2ZDbGFzczpbV2ViSGlzdG9yeUl0ZW0gY2xhc3NdXSkKICAgICAg
ICAgcmV0dXJuIE5POwotICAgIH0KLSAgICAKKwogICAgIHJldHVybiBjb3JlKF9wcml2YXRlKS0+
dXJsU3RyaW5nKCkgPT0gY29yZSgoKFdlYkhpc3RvcnlJdGVtKilhbk9iamVjdCktPl9wcml2YXRl
KS0+dXJsU3RyaW5nKCk7CiB9CiAKIC0gKE5TU3RyaW5nICopZGVzY3JpcHRpb24KIHsKLSAgICBB
U1NFUlRfTUFJTl9USFJFQUQoKTsKICAgICBIaXN0b3J5SXRlbSogY29yZUl0ZW0gPSBjb3JlKF9w
cml2YXRlKTsKICAgICBOU011dGFibGVTdHJpbmcgKnJlc3VsdCA9IFtOU011dGFibGVTdHJpbmcg
c3RyaW5nV2l0aEZvcm1hdDpAIiVAICVAIiwgW3N1cGVyIGRlc2NyaXB0aW9uXSwgKE5TU3RyaW5n
Kiljb3JlSXRlbS0+dXJsU3RyaW5nKCldOwogICAgIGlmICghY29yZUl0ZW0tPnRhcmdldCgpLmlz
RW1wdHkoKSkgewpAQCAtMzQ0LDcgKzMzNyw2IEBAIC0gKHZvaWQpc2V0Vmlld1N0YXRlOihpZClz
dGF0ZVBMaXN0CiAKIC0gKGlkKWluaXRGcm9tRGljdGlvbmFyeVJlcHJlc2VudGF0aW9uOihOU0Rp
Y3Rpb25hcnkgKilkaWN0CiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CiAgICAgTlNTdHJp
bmcgKlVSTFN0cmluZyA9IFtkaWN0IF93ZWJraXRfc3RyaW5nRm9yS2V5OkAiIl07CiAgICAgTlNT
dHJpbmcgKnRpdGxlID0gW2RpY3QgX3dlYmtpdF9zdHJpbmdGb3JLZXk6dGl0bGVLZXldOwogCkBA
IC00MTMsNyArNDA1LDYgQEAgLSAoaWQpaW5pdEZyb21EaWN0aW9uYXJ5UmVwcmVzZW50YXRpb246
KAogCiAtIChOU1BvaW50KXNjcm9sbFBvaW50CiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7
CiAgICAgcmV0dXJuIGNvcmUoX3ByaXZhdGUpLT5zY3JvbGxQb2ludCgpOwogfQogCkBAIC00NDQs
NyArNDM1LDYgQEAgLSAoTlNEaWN0aW9uYXJ5ICopZGljdGlvbmFyeVJlcHJlc2VudGF0aQogLSAo
TlNEaWN0aW9uYXJ5ICopZGljdGlvbmFyeVJlcHJlc2VudGF0aW9uCiAjZW5kaWYKIHsKLSAgICBB
U1NFUlRfTUFJTl9USFJFQUQoKTsKICAgICBOU011dGFibGVEaWN0aW9uYXJ5ICpkaWN0ID0gW05T
TXV0YWJsZURpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhDYXBhY2l0eTo4XTsKIAogICAgIEhpc3Rv
cnlJdGVtKiBjb3JlSXRlbSA9IGNvcmUoX3ByaXZhdGUpOwpAQCAtNTExLDcgKzUwMSw2IEBAIC0g
KE5TRGljdGlvbmFyeSAqKWRpY3Rpb25hcnlSZXByZXNlbnRhdGkKIAogLSAoTlNTdHJpbmcgKil0
YXJnZXQKIHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsKICAgICByZXR1cm4gbnNTdHJpbmdO
aWxJZkVtcHR5KGNvcmUoX3ByaXZhdGUpLT50YXJnZXQoKSk7CiB9CiAKQEAgLTUzMiw3ICs1MjEs
NiBAQCAtICh2b2lkKXNldFJTU0ZlZWRSZWZlcnJlcjooTlNTdHJpbmcgKilyCiAKIC0gKE5TQXJy
YXkgKiljaGlsZHJlbgogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogICAgIGNvbnN0IEhp
c3RvcnlJdGVtVmVjdG9yJiBjaGlsZHJlbiA9IGNvcmUoX3ByaXZhdGUpLT5jaGlsZHJlbigpOwog
ICAgIGlmICghY2hpbGRyZW4uc2l6ZSgpKQogICAgICAgICByZXR1cm4gbmlsOwpAQCAtNTQ4LDcg
KzUzNiw2IEBAIC0gKE5TQXJyYXkgKiljaGlsZHJlbgogCiAtIChOU1VSTCAqKVVSTAogewotICAg
IEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogICAgIGNvbnN0IFVSTCYgdXJsID0gY29yZShfcHJpdmF0
ZSktPnVybCgpOwogICAgIGlmICh1cmwuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbmlsOwpA
QCAtNTU3LDcgKzU0NCw2IEBAIC0gKE5TVVJMICopVVJMCiAKIC0gKFdlYkhpc3RvcnlJdGVtICop
dGFyZ2V0SXRlbQogeyAgICAKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsKICAgICByZXR1cm4g
a2l0KGNvcmUoX3ByaXZhdGUpLT50YXJnZXRJdGVtKCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9NaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0JKHJldmlzaW9uIDE4NDg1
MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0JKHdv
cmtpbmcgY29weSkKQEAgLTEyNSw3ICsxMjUsNiBAQCAtICh2b2lkKWRlYWxsb2MKIAogLSAodm9p
ZClmaW5hbGl6ZQogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogICAgIGRlbGV0ZSBfcmVz
dWx0OwogICAgIFtzdXBlciBmaW5hbGl6ZV07CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9N
aXNjL1dlYkljb25EYXRhYmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9N
aXNjL1dlYkljb25EYXRhYmFzZS5tbQkocmV2aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyOCw3ICsx
MjgsNiBAQCAtIChpZClpbml0CiAKIC0gKE5TSW1hZ2UgKilpY29uRm9yVVJMOihOU1N0cmluZyAq
KVVSTCB3aXRoU2l6ZTooTlNTaXplKXNpemUgY2FjaGU6KEJPT0wpY2FjaGUKIHsKLSAgICBBU1NF
UlRfTUFJTl9USFJFQUQoKTsKICAgICBBU1NFUlQoc2l6ZS53aWR0aCk7CiAgICAgQVNTRVJUKHNp
emUuaGVpZ2h0KTsKIApAQCAtMTU0LDE0ICsxNTMsMTIgQEAgLSAoTlNTdHJpbmcgKilpY29uVVJM
Rm9yVVJMOihOU1N0cmluZyAqKQogewogICAgIGlmICghW3NlbGYgaXNFbmFibGVkXSkKICAgICAg
ICAgcmV0dXJuIG5pbDsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsKIAogICAgIHJldHVybiBp
Y29uRGF0YWJhc2UoKS5zeW5jaHJvbm91c0ljb25VUkxGb3JQYWdlVVJMKFVSTCk7CiB9CiAKIC0g
KE5TSW1hZ2UgKilkZWZhdWx0SWNvbldpdGhTaXplOihOU1NpemUpc2l6ZQogewotICAgIEFTU0VS
VF9NQUlOX1RIUkVBRCgpOwogICAgIEFTU0VSVChzaXplLndpZHRoKTsKICAgICBBU1NFUlQoc2l6
ZS5oZWlnaHQpOwogICAgIApAQCAtMTc4LDcgKzE3NSw2IEBAIC0gKE5TSW1hZ2UgKilkZWZhdWx0
SWNvbkZvclVSTDooTlNTdHJpbmcKIAogLSAodm9pZClyZXRhaW5JY29uRm9yVVJMOihOU1N0cmlu
ZyAqKVVSTAogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogICAgIEFTU0VSVChVUkwpOwog
ICAgIGlmICghW3NlbGYgaXNFbmFibGVkXSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTg4LDcgKzE4
NCw2IEBAIC0gKHZvaWQpcmV0YWluSWNvbkZvclVSTDooTlNTdHJpbmcgKilVUkwKIAogLSAodm9p
ZClyZWxlYXNlSWNvbkZvclVSTDooTlNTdHJpbmcgKilwYWdlVVJMCiB7Ci0gICAgQVNTRVJUX01B
SU5fVEhSRUFEKCk7CiAgICAgQVNTRVJUKHBhZ2VVUkwpOwogICAgIGlmICghW3NlbGYgaXNFbmFi
bGVkXSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTk4LDE1ICsxOTMsMTEgQEAgLSAodm9pZClyZWxl
YXNlSWNvbkZvclVSTDooTlNTdHJpbmcgKilwYQogCiArICh2b2lkKWRlbGF5RGF0YWJhc2VDbGVh
bnVwCiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7Ci0KICAgICBJY29uRGF0YWJhc2U6OmRl
bGF5RGF0YWJhc2VDbGVhbnVwKCk7CiB9CiAKICsgKHZvaWQpYWxsb3dEYXRhYmFzZUNsZWFudXAK
IHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsKLQogICAgIEljb25EYXRhYmFzZTo6YWxsb3dE
YXRhYmFzZUNsZWFudXAoKTsKIH0KIApAQCAtMjQ1LDcgKzIzNiw2IEBAIC0gKHZvaWQpc2V0RW5h
YmxlZDooQk9PTClmbGFnCiAKIC0gKHZvaWQpcmVtb3ZlQWxsSWNvbnMKIHsKLSAgICBBU1NFUlRf
TUFJTl9USFJFQUQoKTsKICAgICBpZiAoIVtzZWxmIGlzRW5hYmxlZF0pCiAgICAgICAgIHJldHVy
bjsKIApAQCAtMzM0LDcgKzMyNCw2IEBAIC0gKHZvaWQpX2FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0
ZTooTlNOb3QKIAogLSAoTlNJbWFnZSAqKV9pY29uRm9yRmlsZVVSTDooTlNTdHJpbmcgKilmaWxl
IHdpdGhTaXplOihOU1NpemUpc2l6ZQogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogICAg
IEFTU0VSVChzaXplLndpZHRoKTsKICAgICBBU1NFUlQoc2l6ZS5oZWlnaHQpOwogCkBAIC00NzMs
NyArNDYyLDYgQEAgLSAoTlNTdHJpbmcgKilfZGF0YWJhc2VEaXJlY3RvcnkKIAogTlNJbWFnZSAq
d2ViR2V0TlNJbWFnZShJbWFnZSogaW1hZ2UsIE5TU2l6ZSBzaXplKQogewotICAgIEFTU0VSVF9N
QUlOX1RIUkVBRCgpOwogICAgIEFTU0VSVChzaXplLndpZHRoKTsKICAgICBBU1NFUlQoc2l6ZS5o
ZWlnaHQpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExvZ2dpbmcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdExvZ2dpbmcuaAkocmV2
aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRMb2dnaW5nLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc1LDE5ICs3NSw2IEBAIFdFQktJVF9MT0dfQ0hBTk5FTFMoREVD
TEFSRV9MT0dfQ0hBTk5FTCkKIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lm
TmVjZXNzYXJ5KHZvaWQpOwogI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKIAotLy8gRklYTUU6IFdo
eSBpcyB0aGlzIGluIHRoZSAibG9nZ2luZyIgaGVhZGVyIGZpbGU/Ci0vLyBVc2UgV2ViQ29yZVRo
cmVhZFZpb2xhdGlvbkNoZWNrIGluc3RlYWQgZm9yIGNoZWNrcyB0aGF0IHRocm93IGFuIGV4Y2Vw
dGlvbiBldmVuIGluIHByb2R1Y3Rpb24gYnVpbGRzLgotI2lmICFkZWZpbmVkKE5ERUJVRykgJiYg
IWRlZmluZWQoRElTQUJMRV9USFJFQURfQ0hFQ0spCi0jZGVmaW5lIEFTU0VSVF9NQUlOX1RIUkVB
RCgpIGRvIFwKLSAgICBpZiAoIXB0aHJlYWRfbWFpbl9ucCgpKSB7IFwKLSAgICAgICAgV1RGUmVw
b3J0QXNzZXJ0aW9uRmFpbHVyZShfX0ZJTEVfXywgX19MSU5FX18sIFdURl9QUkVUVFlfRlVOQ1RJ
T04sICI8bm90IHJ1bm5pbmcgb24gbWFpbiB0aHJlYWQ+Iik7IFwKLSAgICAgICAgQ1JBU0goKTsg
XAotICAgIH0gXAotd2hpbGUgKDApCi0jZWxzZQotI2RlZmluZSBBU1NFUlRfTUFJTl9USFJFQUQo
KSAoKHZvaWQpMCkKLSNlbmRpZgotCiB2b2lkIFJlcG9ydERpc2NhcmRlZERlbGVnYXRlRXhjZXB0
aW9uKFNFTCBkZWxlZ2F0ZVNlbGVjdG9yLCBpZCBleGNlcHRpb24pOwogCiAjaWZkZWYgX19jcGx1
c3BsdXMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1
Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJh
c2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMTMwLDcgKzEzMCw2IEBAIC0gKHZvaWQpZGVhbGxvYwogCiAtICh2b2lkKWZpbmFsaXpl
CiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CiAgICAgQVNTRVJUKCFfaXNTdGFydGVkKTsK
IAogICAgIFtzdXBlciBmaW5hbGl6ZV07CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHJldmlzaW9uIDE4NDg1MSkKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTI3Niw3ICsyNzYsNiBAQCAtICh2b2lkKWRlYWxsb2MKIAogLSAodm9pZClmaW5h
bGl6ZQogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogICAgIEFTU0VSVCghcGx1Z2luRGF0
YWJhc2VzIHx8IFtwbHVnaW5EYXRhYmFzZXMgY291bnRdID09IDApOwogICAgIFtwbHVnaW5EYXRh
YmFzZXMgcmVsZWFzZV07CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lvbiAxODQ4NTEpCisrKyBTb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMTM4MSw3ICsxMzgxLDYgQEAgLSAodm9pZClkZWFsbG9jCiAKIC0gKHZvaWQpZmluYWxp
emUKIHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsKICAgICBBU1NFUlQoIV9pc1N0YXJ0ZWQp
OwogCiAgICAgW3NlbGYgZmluaV07CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCShyZXZpc2lvbiAxODQ4NTEpCisrKyBT
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHdvcmtp
bmcgY29weSkKQEAgLTE0Miw4ICsxNDIsNiBAQCAtICh2b2lkKWRlYWxsb2MKIAogLSAodm9pZClm
aW5hbGl6ZQogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwotCiAgICAgW3N1cGVyIGZpbmFs
aXplXTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJj
ZS5tbQkocmV2aXNpb24gMTg0ODUxKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJE
YXRhU291cmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MzcsOCArNDM3LDYgQEAgLSAodm9pZClk
ZWFsbG9jCiAKIC0gKHZvaWQpZmluYWxpemUKIHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsK
LQogICAgIGlmICh0b1ByaXZhdGUoX3ByaXZhdGUpICYmIHRvUHJpdmF0ZShfcHJpdmF0ZSktPmlu
Y2x1ZGVkSW5XZWJLaXRTdGF0aXN0aWNzKQogICAgICAgICAtLVdlYkRhdGFTb3VyY2VDb3VudDsK
IApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCShyZXZpc2lv
biAxODQ4NTEpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCSh3
b3JraW5nIGNvcHkpCkBAIC03MTMsOCArNzEzLDYgQEAgLSAodm9pZClkZWFsbG9jCiAKIC0gKHZv
aWQpZmluYWxpemUKIHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsKLQogI2lmICFQTEFURk9S
TShJT1MpCiAgICAgaWYgKHByb21pc2VkRHJhZ1RJRkZEYXRhU291cmNlKQogICAgICAgICBwcm9t
aXNlZERyYWdUSUZGRGF0YVNvdXJjZS0+cmVtb3ZlQ2xpZW50KHByb21pc2VkRGF0YUNsaWVudCgp
KTsKQEAgLTI1MjksNyArMjUyNyw2IEBAIC0gKHZvaWQpZGVhbGxvYwogCiAtICh2b2lkKWZpbmFs
aXplCiB7Ci0gICAgQVNTRVJUX01BSU5fVEhSRUFEKCk7CiAgICAgLy8gV2UgY2FuJ3QgYXNzZXJ0
IHRoYXQgY2xvc2UgaGFzIGFscmVhZHkgYmVlbiBjYWxsZWQgYmVjYXVzZQogICAgIC8vIHRoaXMg
dmlldyBjYW4gYmUgcmVtb3ZlZCBmcm9tIGl0J3Mgc3VwZXJ2aWV3LCBldmVuIHRob3VnaAogICAg
IC8vIGl0IGNvdWxkIGJlIG5lZWRlZCBsYXRlciwgc28gY2xvc2UgaWYgbmVlZGVkLgpAQCAtMzUz
OCw3ICszNTM1LDYgQEAgLSAodm9pZClkcmF3U2luZ2xlUmVjdDooTlNSZWN0KXJlY3QKIAogLSAo
dm9pZClkcmF3UmVjdDooTlNSZWN0KXJlY3QKIHsKLSAgICBBU1NFUlRfTUFJTl9USFJFQUQoKTsK
ICAgICBMT0coVmlldywgIiVAIGRyYXdpbmciLCBzZWxmKTsKIAogI2lmICFQTEFURk9STShJT1Mp
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0JKHJldmlzaW9u
IDE4NDg1MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0JKHdv
cmtpbmcgY29weSkKQEAgLTIxNSw3ICsyMTUsNiBAQCAtICh2b2lkKWRlYWxsb2MKIAogLSAodm9p
ZClmaW5hbGl6ZQogewotICAgIEFTU0VSVF9NQUlOX1RIUkVBRCgpOwogI2lmICFQTEFURk9STShJ
T1MpCiAgICAgQVNTRVJUKCFpbnNlcnRpb25QYXN0ZWJvYXJkKTsKICNlbmRpZgo=
</data>
<flag name="review"
          id="278631"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>