<?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>42675</bug_id>
          
          <creation_ts>2010-07-20 14:35:54 -0700</creation_ts>
          <short_desc>WebKitTestRunner needs testRunner.queueLoadingScript and testRunner.queueNonLoadingScript</short_desc>
          <delta_ts>2012-10-22 01:43:13 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253923</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-20 14:35:54 -0700</bug_when>
    <thetext>WebKitTestRunner needs layoutTestController.queueLoadingScript</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254023</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-20 15:33:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/8213870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745115</commentid>
    <comment_count>2</comment_count>
      <attachid>169379</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-18 03:03:34 -0700</bug_when>
    <thetext>Created attachment 169379
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745118</commentid>
    <comment_count>3</comment_count>
      <attachid>169379</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-18 03:07:34 -0700</bug_when>
    <thetext>Comment on attachment 169379
patch

Attachment 169379 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14390918</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745172</commentid>
    <comment_count>4</comment_count>
      <attachid>169394</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-18 05:13:44 -0700</bug_when>
    <thetext>Created attachment 169394
patch v2

should satisfy MAC compiler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747076</commentid>
    <comment_count>5</comment_count>
      <attachid>169394</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-21 03:40:41 -0700</bug_when>
    <thetext>Comment on attachment 169394
patch v2

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

&gt; Tools/WebKitTestRunner/WorkQueueManager.cpp:169
&gt; +    enqueue(new ScriptItem&lt;/*loading*/ true&gt;(script));

Wouldnt this be nicer with an enum?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747272</commentid>
    <comment_count>6</comment_count>
      <attachid>169838</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-22 00:33:57 -0700</bug_when>
    <thetext>Created attachment 169838
patch v3

Introduced enum as work queue operation result. Thanks, Kenneth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747287</commentid>
    <comment_count>7</comment_count>
      <attachid>169838</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-10-22 01:02:02 -0700</bug_when>
    <thetext>Comment on attachment 169838
patch v3

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

&gt; Tools/WebKitTestRunner/WorkQueueManager.cpp:61
&gt; +        NotLoading

NonLoading? or DisallowLoading, AllowLoading?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747289</commentid>
    <comment_count>8</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-22 01:06:19 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 169838 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169838&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/WorkQueueManager.cpp:61
&gt; &gt; +        NotLoading
&gt; 
&gt; NonLoading? or DisallowLoading, AllowLoading?

Think NonLoading is better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747293</commentid>
    <comment_count>9</comment_count>
      <attachid>169846</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-22 01:19:55 -0700</bug_when>
    <thetext>Created attachment 169846
to be landed

NotLoading -&gt; NonLoading</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747306</commentid>
    <comment_count>10</comment_count>
      <attachid>169846</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 01:42:17 -0700</bug_when>
    <thetext>Comment on attachment 169846
to be landed

Clearing flags on attachment: 169846

Committed r132041: &lt;http://trac.webkit.org/changeset/132041&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747307</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 01:42:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747309</commentid>
    <comment_count>12</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-10-22 01:43:13 -0700</bug_when>
    <thetext>*** Bug 98141 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169379</attachid>
            <date>2012-10-18 03:03:34 -0700</date>
            <delta_ts>2012-10-18 05:13:44 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug42675</filename>
            <type>text/plain</type>
            <size>12623</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDI1YTNhZjFjMGY5MjQwMzIzOWQ1YWJjYTQ1MjVjODU0MDJiMWQ1OTAKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIE9jdCAxNyAxNjo0MTowOSAyMDEyICswMzAwCgogICAgYnVnNDI2NzUKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWUz
NDRkYi4uOWMxYzVjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEyLTEwLTE4ICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCisgICAgICAgIFdl
YktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQgYW5kIHRl
c3RSdW5uZXIucXVldWVOb25Mb2FkaW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcHBlZCBjb3JyZXNwb25kaW5nIHRlc3QgY2FzZXMg
Zm9yIFdLMi4gUHV0IHRob3NlIHdoaWNoIHN0aWxsIGZhaWwgdG8gYXBwcm9wcmlhdGUKKyAgICAg
ICAgZ3JvdXBzLgorCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisK
KzIwMTItMTAtMTggIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRl
bC5jb20+CisKICAgICAgICAgW0VGTF0gR2FyZGVuaW5nIGFmdGVyIHIxMzE2NDAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NjkyCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzlhNmU4Yi4uMzYzNzhhZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI5MiwzNCAr
MjkyLDkgQEAgc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwKIHN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2Vk
LWluLWRhc2hib2FyZC5odG1sCiBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1v
YmplY3QuaHRtbAogCi0jIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZU5v
bkxvYWRpbmdTY3JpcHQKLSMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODE0MT4KLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItZ29iYWNrLmh0bWwKLWh0dHAv
dGVzdHMvbmF2aWdhdGlvbi9lcnJvcjQwNC1nb2JhY2suaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2phdmFzY3JpcHRsaW5rLWdvYmFjay5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vbWV0
YXJlZGlyZWN0LWdvYmFjay5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdC1nb2JhY2sy
Lmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVkaXJlY3QtYmFzaWMuaHRtbAotaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Bvc3RyZWRpcmVjdC1mcmFtZXMuaHRtbAotaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3Bvc3RyZWRpcmVjdC1nb2JhY2sxLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9wb3N0cmVkaXJlY3QtZ29iYWNrMi5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVkaXJl
Y3QzMDItZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1i
YXNpYy5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsYXRpdmVhbmNob3ItZnJhbWVzLmh0
bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1nb2JhY2suaHRtbAotaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc3RvcmUtZm9ybS1zdGF0ZS1odHRwcy5odG1sCi1odHRwL3Rl
c3RzL25hdmlnYXRpb24vc3VjY2VzczIwMC1mcmFtZXMtbG9hZHNhbWUuaHRtbAotaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3N1Y2Nlc3MyMDAtZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9zdWNjZXNzMjAwLWxvYWRzYW1lLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNz
MjAwLXJlbG9hZC5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vdGltZXJyZWRpcmVjdC1nb2Jh
Y2suaHRtbAotCi0jIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRp
bmdTY3JpcHQKLSMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3
NT4KKyMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyB0ZXN0UnVubmVyLnF1ZXVlRm9yd2FyZE5hdmln
YXRpb24KKyMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTcwMD4K
IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5odG1sCi1o
dHRwL3Rlc3RzL25hdmlnYXRpb24vZm9yd2FyZC1hbmQtY2FuY2VsLmh0bWwKLWh0dHAvdGVzdHMv
bmF2aWdhdGlvbi9wb3N0LWdvYmFjay1zYW1lLXVybC5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRp
b24vcG9zdHJlZGlyZWN0LXJlbG9hZC5odG1sCiAKICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRDYWNoZU1vZGVsCiAjIDxodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2ODQ+CkBAIC03NDUsNiArNzIwLDEzIEBAIGh0dHAvdGVz
dHMvbmF2aWdhdGlvbi9yZXNwb25zZTIwNC5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vc3Vj
Y2VzczIwMC1zdWJmcmFtZWxvYWQuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3RpbWVycmVk
aXJlY3Qtc3ViZnJhbWVsb2FkLmh0bWwKIAorIyBSZWRpcmVjdGVkIHRvIHVuZXhwZWN0ZWQgcGFn
ZS4gTWlnaHQgYmUgRUZMIHBvcnQgc3BlY2lmaWMgaXNzdWUuCitodHRwL3Rlc3RzL25hdmlnYXRp
b24vcG9zdHJlZGlyZWN0LWJhc2ljLmh0bWwKK2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVk
aXJlY3QtZ29iYWNrMS5odG1sCisKKyMgVW5leHBlY3RlZCBvdXRwdXQgZnJvbSBzY3JvbGxpbmcu
IE1pZ2h0IGJlIEVGTCBwb3J0IHNwZWNpZmljIGlzc3VlLgoraHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3JlbGF0aXZlYW5jaG9yLWZyYW1lcy5odG1sCisKICMjIyBFTkQgT0YgKDIpIENsYXNzaWZpZWQg
ZmFpbHVyZXMgd2l0aG91dCBidWcgcmVwb3J0cyAoeWV0KQogIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggOTNiNzlmNy4uODAxNWU4MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEwLTE4
ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisg
ICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3Jp
cHQgYW5kIHRlc3RSdW5uZXIucXVldWVOb25Mb2FkaW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGltcGxlbWVudGF0aW9uIG9mIHRl
c3RSdW5uZXIucXVldWVMb2FkaW5nU2NyaXB0IGFuZCB0ZXN0UnVubmVyLnF1ZXVlTm9uTG9hZGlu
Z1NjcmlwdC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxl
OjpxdWV1ZUxvYWRpbmdTY3JpcHQpOgorICAgICAgICAoV1RSKToKKyAgICAgICAgKFdUUjo6SW5q
ZWN0ZWRCdW5kbGU6OnF1ZXVlTm9uTG9hZGluZ1NjcmlwdCk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAoSW5qZWN0
ZWRCdW5kbGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnF1ZXVlTG9hZGluZ1Njcmlw
dCk6CisgICAgICAgIChXVFIpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpxdWV1ZU5vbkxv
YWRpbmdTY3JpcHQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9u
OjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdUUik6CisgICAgICAg
IChXVFI6OnJ1bkphdmFTY3JpcHRGdW5jdGlvbik6CisgICAgICAgIChTY3JpcHRJdGVtKToKKyAg
ICAgICAgKFdUUjo6U2NyaXB0SXRlbTo6U2NyaXB0SXRlbSk6CisgICAgICAgIChXVFI6OlNjcmlw
dEl0ZW06Omludm9rZSk6CisgICAgICAgIChXVFI6OldvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlQmFj
a05hdmlnYXRpb24pOgorICAgICAgICAoV1RSOjpXb3JrUXVldWVNYW5hZ2VyOjpxdWV1ZUxvYWRp
bmdTY3JpcHQpOgorICAgICAgICAoV1RSOjpXb3JrUXVldWVNYW5hZ2VyOjpxdWV1ZU5vbkxvYWRp
bmdTY3JpcHQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5o
OgorICAgICAgICAoV29ya1F1ZXVlTWFuYWdlcik6CisKIDIwMTItMTAtMTcgIFpvbHRhbiBIb3J2
YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBKU0hlYXAgbWVt
b3J5IG1lYXN1cmVtZW50IG9mIHRoZSBQYWdlTG9hZCBwZXJmb3JtYWNldGVzdHMgc2luY2UgaXQg
Y3JlYXRlcyBib2d1cyBKU0dsb2JhbERhdGFzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRl
eCA4MTQzMmRhLi5mOWY2MTk5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTE4Niw1
ICsxODYsNyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBxdWV1ZUJhY2tOYXZp
Z2F0aW9uKGluIHVuc2lnbmVkIGxvbmcgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVM
b2FkKGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyB0YXJnZXQpOwogICAgIHZvaWQgcXVl
dWVSZWxvYWQoKTsKKyAgICB2b2lkIHF1ZXVlTG9hZGluZ1NjcmlwdChpbiBET01TdHJpbmcgc2Ny
aXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChpbiBET01TdHJpbmcgc2NyaXB0
KTsKIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggOGZmNzEzZi4uZDY0YTczNCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKQEAgLTUwNyw0ICs1MDcsMjAgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVS
ZWxvYWQoKQogICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UobV9idW5kbGUsIG1lc3NhZ2VOYW1lLmdl
dCgpLCAwKTsKIH0KIAordm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVMb2FkaW5nU2NyaXB0KFdL
U3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBtX3VzZVdvcmtRdWV1ZSA9IHRydWU7CisKKyAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIlF1ZXVlTG9hZGluZ1NjcmlwdCIpKTsKKyAgICBXS0J1bmRsZVBv
c3RNZXNzYWdlKG1fYnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgc2NyaXB0KTsKK30KKwordm9p
ZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KFdLU3RyaW5nUmVmIHNjcmlw
dCkKK3sKKyAgICBtX3VzZVdvcmtRdWV1ZSA9IHRydWU7CisKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlF1ZXVlTm9uTG9hZGluZ1NjcmlwdCIpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1f
YnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgc2NyaXB0KTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmgKaW5kZXggMGI4OTU4NC4uZjNkMjAzNCAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAt
MTA0LDYgKzEwNCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHF1ZXVlQmFja05hdmlnYXRpb24odW5z
aWduZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVMb2FkKFdLU3RyaW5nUmVmIHVy
bCwgV0tTdHJpbmdSZWYgdGFyZ2V0KTsKICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7CisgICAgdm9p
ZCBxdWV1ZUxvYWRpbmdTY3JpcHQoV0tTdHJpbmdSZWYgc2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVl
Tm9uTG9hZGluZ1NjcmlwdChXS1N0cmluZ1JlZiBzY3JpcHQpOwogCiBwcml2YXRlOgogICAgIElu
amVjdGVkQnVuZGxlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCA3NDAwNDk1Li40M2E2YzBlIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
QEAgLTg1Miw0ICs4NTIsMTYgQEAgdm9pZCBUZXN0UnVubmVyOjpxdWV1ZVJlbG9hZCgpCiAgICAg
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlUmVsb2FkKCk7CiB9CiAKK3ZvaWQgVGVzdFJ1
bm5lcjo6cXVldWVMb2FkaW5nU2NyaXB0KEpTU3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNjcmlwdCk7CisgICAgSW5qZWN0
ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlTG9hZGluZ1NjcmlwdChzY3JpcHRXSy5nZXQoKSk7Cit9
CisKK3ZvaWQgVGVzdFJ1bm5lcjo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KEpTU3RyaW5nUmVmIHNj
cmlwdCkKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNj
cmlwdCk7CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlTm9uTG9hZGluZ1Njcmlw
dChzY3JpcHRXSy5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCA5NmQ4
MjIwLi5mOTJlMzQyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMjY1LDYgKzI2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHF1ZXVlQmFja05hdmlnYXRpb24odW5zaWduZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQg
cXVldWVMb2FkKEpTU3RyaW5nUmVmIHVybCwgSlNTdHJpbmdSZWYgdGFyZ2V0KTsKICAgICB2b2lk
IHF1ZXVlUmVsb2FkKCk7CisgICAgdm9pZCBxdWV1ZUxvYWRpbmdTY3JpcHQoSlNTdHJpbmdSZWYg
c2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChKU1N0cmluZ1JlZiBzY3Jp
cHQpOwogCiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2FpdFRvRHVtcFdhdGNo
ZG9nVGltZXJJbnRlcnZhbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5j
cHAKaW5kZXggMzFiOTk4OC4uY2JhNzk5NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAKQEAgLTQ2NCw2ICs0NjQsMjAgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tTdHJpbmdSZWYgbWVzc2FnZU5h
bWUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VU
RjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiUXVldWVMb2FkaW5nU2NyaXB0IikpIHsKKyAgICAgICAg
QVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsK
KyAgICAgICAgV0tTdHJpbmdSZWYgc2NyaXB0ID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KG1l
c3NhZ2VCb2R5KTsKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLndvcmtRdWV1ZU1h
bmFnZXIoKS5xdWV1ZUxvYWRpbmdTY3JpcHQodG9XVEZTdHJpbmcoc2NyaXB0KSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyht
ZXNzYWdlTmFtZSwgIlF1ZXVlTm9uTG9hZGluZ1NjcmlwdCIpKSB7CisgICAgICAgIEFTU0VSVChX
S0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CisgICAgICAg
IFdLU3RyaW5nUmVmIHNjcmlwdCA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihtZXNzYWdlQm9k
eSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS53b3JrUXVldWVNYW5hZ2VyKCku
cXVldWVOb25Mb2FkaW5nU2NyaXB0KHRvV1RGU3RyaW5nKHNjcmlwdCkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFnZXIuY3BwCmluZGV4IDFlZmE4YWQuLjg4YzFjZjIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogI2luY2x1ZGUgIlRlc3RD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJL
aXQyL1dLUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTUzLDYgKzU0LDI4IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBnb1RvSXRlbUF0SW5kZXgoaW50IGluZGV4KQogICAgIHJldHVybiB0cnVlOwogfQogCisv
LyBSZXF1aXJlZCBieSBXS1BhZ2VSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWUoKS4KK3N0YXRpYyB2
b2lkIHJ1bkphdmFTY3JpcHRGdW5jdGlvbihXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVJlZiwgV0tF
cnJvclJlZiwgdm9pZCopCit7Cit9CisKK3RlbXBsYXRlIDxib29sIGxvYWRpbmc+CitjbGFzcyBT
Y3JpcHRJdGVtIDogcHVibGljIFdvcmtRdWV1ZU1hbmFnZXI6OldvcmtRdWV1ZUl0ZW0geworcHVi
bGljOgorICAgIGV4cGxpY2l0IFNjcmlwdEl0ZW0oY29uc3QgU3RyaW5nJiBzY3JpcHQpCisgICAg
ICAgIDogbV9zY3JpcHQoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2Ny
aXB0LnV0ZjgoKS5kYXRhKCkpKQorICAgIHsKKyAgICB9CisKKyAgICBib29sIGludm9rZSgpIGNv
bnN0CisgICAgeworICAgICAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWUobWFpblBh
Z2UoKSwgbV9zY3JpcHQuZ2V0KCksIDAsIHJ1bkphdmFTY3JpcHRGdW5jdGlvbik7CisgICAgICAg
IHJldHVybiBsb2FkaW5nOworICAgIH0KKworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBt
X3NjcmlwdDsKK307CisKIFdvcmtRdWV1ZU1hbmFnZXI6OldvcmtRdWV1ZU1hbmFnZXIoKQogICAg
IDogbV9wcm9jZXNzaW5nKGZhbHNlKQogewpAQCAtMTA3LDcgKzEzMCw3IEBAIHZvaWQgV29ya1F1
ZXVlTWFuYWdlcjo6cXVldWVCYWNrTmF2aWdhdGlvbih1bnNpZ25lZCBob3dGYXJCYWNrd2FyZCkK
IHsKICAgICBjbGFzcyBCYWNrTmF2aWdhdGlvbkl0ZW0gOiBwdWJsaWMgV29ya1F1ZXVlSXRlbSB7
CiAgICAgcHVibGljOgotICAgICAgICBCYWNrTmF2aWdhdGlvbkl0ZW0odW5zaWduZWQgaG93RmFy
QmFja3dhcmQpIDogbV9ob3dGYXJCYWNrd2FyZChob3dGYXJCYWNrd2FyZCkgeyB9CisgICAgICAg
IGV4cGxpY2l0IEJhY2tOYXZpZ2F0aW9uSXRlbSh1bnNpZ25lZCBob3dGYXJCYWNrd2FyZCkgOiBt
X2hvd0ZhckJhY2t3YXJkKGhvd0ZhckJhY2t3YXJkKSB7IH0KIAogICAgICAgICBib29sIGludm9r
ZSgpIGNvbnN0IHsgcmV0dXJuIGdvVG9JdGVtQXRJbmRleCgtbV9ob3dGYXJCYWNrd2FyZCk7IH0K
IApAQCAtMTMxLDYgKzE1NCwxNiBAQCB2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlUmVsb2Fk
KCkKICAgICBlbnF1ZXVlKG5ldyBSZWxvYWRJdGVtKCkpOwogfQogCit2b2lkIFdvcmtRdWV1ZU1h
bmFnZXI6OnF1ZXVlTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCkKK3sKKyAgICBl
bnF1ZXVlKG5ldyBTY3JpcHRJdGVtPC8qbG9hZGluZyovIHRydWU+KHNjcmlwdCkpOworfQorCit2
b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlTm9uTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcm
IHNjcmlwdCkKK3sKKyAgICBlbnF1ZXVlKG5ldyBTY3JpcHRJdGVtPC8qbG9hZGluZyovIGZhbHNl
PihzY3JpcHQpKTsKK30KKwogdm9pZCBXb3JrUXVldWVNYW5hZ2VyOjplbnF1ZXVlKFdvcmtRdWV1
ZUl0ZW0qIGl0ZW0pCiB7CiAgICAgQVNTRVJUKGl0ZW0pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1dvcmtRdWV1ZU1hbmFnZXIuaAppbmRleCA2NjVjN2FiLi44Mzk1OGI2IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFnZXIuaAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFnZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRl
ZiBXb3JrUXVldWVNYW5hZ2VyX2gKICNkZWZpbmUgV29ya1F1ZXVlTWFuYWdlcl9oCiAKLSNpbmNs
dWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAt
NDUsNiArNDQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBxdWV1ZUxvYWQoY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgdGFyZ2V0KTsKICAgICB2b2lkIHF1ZXVlQmFja05hdmlnYXRpb24o
dW5zaWduZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVSZWxvYWQoKTsKKyAgICB2
b2lkIHF1ZXVlTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCk7CisgICAgdm9pZCBx
dWV1ZU5vbkxvYWRpbmdTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogCiBwcml2YXRlOgog
ICAgIGNsYXNzIFdvcmtRdWV1ZUl0ZW0gewo=
</data>
<flag name="commit-queue"
          id="182644"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169394</attachid>
            <date>2012-10-18 05:13:44 -0700</date>
            <delta_ts>2012-10-22 00:33:57 -0700</delta_ts>
            <desc>patch v2</desc>
            <filename>bug42675_v2</filename>
            <type>text/plain</type>
            <size>13463</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDkyYmY0MTZjMzViZTYwMzIwMjU3ZWJjYmVkN2QxNmQ2YmE0ZWU1NzUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIE9jdCAxNyAxNjo0MTowOSAyMDEyICswMzAwCgogICAgYnVnNDI2NzUKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWUz
NDRkYi4uOWMxYzVjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEyLTEwLTE4ICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCisgICAgICAgIFdl
YktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQgYW5kIHRl
c3RSdW5uZXIucXVldWVOb25Mb2FkaW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcHBlZCBjb3JyZXNwb25kaW5nIHRlc3QgY2FzZXMg
Zm9yIFdLMi4gUHV0IHRob3NlIHdoaWNoIHN0aWxsIGZhaWwgdG8gYXBwcm9wcmlhdGUKKyAgICAg
ICAgZ3JvdXBzLgorCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisK
KzIwMTItMTAtMTggIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRl
bC5jb20+CisKICAgICAgICAgW0VGTF0gR2FyZGVuaW5nIGFmdGVyIHIxMzE2NDAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NjkyCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzlhNmU4Yi4uMzYzNzhhZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI5MiwzNCAr
MjkyLDkgQEAgc3ZnL2N1c3RvbS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQt
aW4tZGFzaGJvYXJkLmh0bWwKIHN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2Vk
LWluLWRhc2hib2FyZC5odG1sCiBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1v
YmplY3QuaHRtbAogCi0jIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZU5v
bkxvYWRpbmdTY3JpcHQKLSMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODE0MT4KLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItZ29iYWNrLmh0bWwKLWh0dHAv
dGVzdHMvbmF2aWdhdGlvbi9lcnJvcjQwNC1nb2JhY2suaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2phdmFzY3JpcHRsaW5rLWdvYmFjay5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vbWV0
YXJlZGlyZWN0LWdvYmFjay5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdC1nb2JhY2sy
Lmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVkaXJlY3QtYmFzaWMuaHRtbAotaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Bvc3RyZWRpcmVjdC1mcmFtZXMuaHRtbAotaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3Bvc3RyZWRpcmVjdC1nb2JhY2sxLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9wb3N0cmVkaXJlY3QtZ29iYWNrMi5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVkaXJl
Y3QzMDItZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1i
YXNpYy5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsYXRpdmVhbmNob3ItZnJhbWVzLmh0
bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1nb2JhY2suaHRtbAotaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc3RvcmUtZm9ybS1zdGF0ZS1odHRwcy5odG1sCi1odHRwL3Rl
c3RzL25hdmlnYXRpb24vc3VjY2VzczIwMC1mcmFtZXMtbG9hZHNhbWUuaHRtbAotaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3N1Y2Nlc3MyMDAtZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9zdWNjZXNzMjAwLWxvYWRzYW1lLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNz
MjAwLXJlbG9hZC5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vdGltZXJyZWRpcmVjdC1nb2Jh
Y2suaHRtbAotCi0jIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRp
bmdTY3JpcHQKLSMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3
NT4KKyMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyB0ZXN0UnVubmVyLnF1ZXVlRm9yd2FyZE5hdmln
YXRpb24KKyMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTcwMD4K
IGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5odG1sCi1o
dHRwL3Rlc3RzL25hdmlnYXRpb24vZm9yd2FyZC1hbmQtY2FuY2VsLmh0bWwKLWh0dHAvdGVzdHMv
bmF2aWdhdGlvbi9wb3N0LWdvYmFjay1zYW1lLXVybC5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRp
b24vcG9zdHJlZGlyZWN0LXJlbG9hZC5odG1sCiAKICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRDYWNoZU1vZGVsCiAjIDxodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2ODQ+CkBAIC03NDUsNiArNzIwLDEzIEBAIGh0dHAvdGVz
dHMvbmF2aWdhdGlvbi9yZXNwb25zZTIwNC5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vc3Vj
Y2VzczIwMC1zdWJmcmFtZWxvYWQuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3RpbWVycmVk
aXJlY3Qtc3ViZnJhbWVsb2FkLmh0bWwKIAorIyBSZWRpcmVjdGVkIHRvIHVuZXhwZWN0ZWQgcGFn
ZS4gTWlnaHQgYmUgRUZMIHBvcnQgc3BlY2lmaWMgaXNzdWUuCitodHRwL3Rlc3RzL25hdmlnYXRp
b24vcG9zdHJlZGlyZWN0LWJhc2ljLmh0bWwKK2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVk
aXJlY3QtZ29iYWNrMS5odG1sCisKKyMgVW5leHBlY3RlZCBvdXRwdXQgZnJvbSBzY3JvbGxpbmcu
IE1pZ2h0IGJlIEVGTCBwb3J0IHNwZWNpZmljIGlzc3VlLgoraHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3JlbGF0aXZlYW5jaG9yLWZyYW1lcy5odG1sCisKICMjIyBFTkQgT0YgKDIpIENsYXNzaWZpZWQg
ZmFpbHVyZXMgd2l0aG91dCBidWcgcmVwb3J0cyAoeWV0KQogIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggOTNiNzlmNy4uODAxNWU4MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEwLTE4
ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisg
ICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3Jp
cHQgYW5kIHRlc3RSdW5uZXIucXVldWVOb25Mb2FkaW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGltcGxlbWVudGF0aW9uIG9mIHRl
c3RSdW5uZXIucXVldWVMb2FkaW5nU2NyaXB0IGFuZCB0ZXN0UnVubmVyLnF1ZXVlTm9uTG9hZGlu
Z1NjcmlwdC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxl
OjpxdWV1ZUxvYWRpbmdTY3JpcHQpOgorICAgICAgICAoV1RSKToKKyAgICAgICAgKFdUUjo6SW5q
ZWN0ZWRCdW5kbGU6OnF1ZXVlTm9uTG9hZGluZ1NjcmlwdCk6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAoSW5qZWN0
ZWRCdW5kbGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnF1ZXVlTG9hZGluZ1Njcmlw
dCk6CisgICAgICAgIChXVFIpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpxdWV1ZU5vbkxv
YWRpbmdTY3JpcHQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9u
OjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdUUik6CisgICAgICAg
IChXVFI6OnJ1bkphdmFTY3JpcHRGdW5jdGlvbik6CisgICAgICAgIChTY3JpcHRJdGVtKToKKyAg
ICAgICAgKFdUUjo6U2NyaXB0SXRlbTo6U2NyaXB0SXRlbSk6CisgICAgICAgIChXVFI6OlNjcmlw
dEl0ZW06Omludm9rZSk6CisgICAgICAgIChXVFI6OldvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlQmFj
a05hdmlnYXRpb24pOgorICAgICAgICAoV1RSOjpXb3JrUXVldWVNYW5hZ2VyOjpxdWV1ZUxvYWRp
bmdTY3JpcHQpOgorICAgICAgICAoV1RSOjpXb3JrUXVldWVNYW5hZ2VyOjpxdWV1ZU5vbkxvYWRp
bmdTY3JpcHQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5o
OgorICAgICAgICAoV29ya1F1ZXVlTWFuYWdlcik6CisKIDIwMTItMTAtMTcgIFpvbHRhbiBIb3J2
YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBKU0hlYXAgbWVt
b3J5IG1lYXN1cmVtZW50IG9mIHRoZSBQYWdlTG9hZCBwZXJmb3JtYWNldGVzdHMgc2luY2UgaXQg
Y3JlYXRlcyBib2d1cyBKU0dsb2JhbERhdGFzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRl
eCA4MTQzMmRhLi5mOWY2MTk5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTE4Niw1
ICsxODYsNyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBxdWV1ZUJhY2tOYXZp
Z2F0aW9uKGluIHVuc2lnbmVkIGxvbmcgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVM
b2FkKGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyB0YXJnZXQpOwogICAgIHZvaWQgcXVl
dWVSZWxvYWQoKTsKKyAgICB2b2lkIHF1ZXVlTG9hZGluZ1NjcmlwdChpbiBET01TdHJpbmcgc2Ny
aXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChpbiBET01TdHJpbmcgc2NyaXB0
KTsKIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggOGZmNzEzZi4uZDY0YTczNCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKQEAgLTUwNyw0ICs1MDcsMjAgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVS
ZWxvYWQoKQogICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UobV9idW5kbGUsIG1lc3NhZ2VOYW1lLmdl
dCgpLCAwKTsKIH0KIAordm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVMb2FkaW5nU2NyaXB0KFdL
U3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBtX3VzZVdvcmtRdWV1ZSA9IHRydWU7CisKKyAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIlF1ZXVlTG9hZGluZ1NjcmlwdCIpKTsKKyAgICBXS0J1bmRsZVBv
c3RNZXNzYWdlKG1fYnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgc2NyaXB0KTsKK30KKwordm9p
ZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KFdLU3RyaW5nUmVmIHNjcmlw
dCkKK3sKKyAgICBtX3VzZVdvcmtRdWV1ZSA9IHRydWU7CisKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlF1ZXVlTm9uTG9hZGluZ1NjcmlwdCIpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1f
YnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgc2NyaXB0KTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmgKaW5kZXggMGI4OTU4NC4uZjNkMjAzNCAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAt
MTA0LDYgKzEwNCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHF1ZXVlQmFja05hdmlnYXRpb24odW5z
aWduZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVMb2FkKFdLU3RyaW5nUmVmIHVy
bCwgV0tTdHJpbmdSZWYgdGFyZ2V0KTsKICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7CisgICAgdm9p
ZCBxdWV1ZUxvYWRpbmdTY3JpcHQoV0tTdHJpbmdSZWYgc2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVl
Tm9uTG9hZGluZ1NjcmlwdChXS1N0cmluZ1JlZiBzY3JpcHQpOwogCiBwcml2YXRlOgogICAgIElu
amVjdGVkQnVuZGxlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCA3NDAwNDk1Li40M2E2YzBlIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
QEAgLTg1Miw0ICs4NTIsMTYgQEAgdm9pZCBUZXN0UnVubmVyOjpxdWV1ZVJlbG9hZCgpCiAgICAg
SW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlUmVsb2FkKCk7CiB9CiAKK3ZvaWQgVGVzdFJ1
bm5lcjo6cXVldWVMb2FkaW5nU2NyaXB0KEpTU3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNjcmlwdCk7CisgICAgSW5qZWN0
ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlTG9hZGluZ1NjcmlwdChzY3JpcHRXSy5nZXQoKSk7Cit9
CisKK3ZvaWQgVGVzdFJ1bm5lcjo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KEpTU3RyaW5nUmVmIHNj
cmlwdCkKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNj
cmlwdCk7CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlTm9uTG9hZGluZ1Njcmlw
dChzY3JpcHRXSy5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCA5NmQ4
MjIwLi5mOTJlMzQyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMjY1LDYgKzI2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHF1ZXVlQmFja05hdmlnYXRpb24odW5zaWduZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQg
cXVldWVMb2FkKEpTU3RyaW5nUmVmIHVybCwgSlNTdHJpbmdSZWYgdGFyZ2V0KTsKICAgICB2b2lk
IHF1ZXVlUmVsb2FkKCk7CisgICAgdm9pZCBxdWV1ZUxvYWRpbmdTY3JpcHQoSlNTdHJpbmdSZWYg
c2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChKU1N0cmluZ1JlZiBzY3Jp
cHQpOwogCiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2FpdFRvRHVtcFdhdGNo
ZG9nVGltZXJJbnRlcnZhbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5j
cHAKaW5kZXggMzFiOTk4OC4uY2JhNzk5NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAKQEAgLTQ2NCw2ICs0NjQsMjAgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6
ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tTdHJpbmdSZWYgbWVzc2FnZU5h
bWUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VU
RjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiUXVldWVMb2FkaW5nU2NyaXB0IikpIHsKKyAgICAgICAg
QVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsK
KyAgICAgICAgV0tTdHJpbmdSZWYgc2NyaXB0ID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KG1l
c3NhZ2VCb2R5KTsKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLndvcmtRdWV1ZU1h
bmFnZXIoKS5xdWV1ZUxvYWRpbmdTY3JpcHQodG9XVEZTdHJpbmcoc2NyaXB0KSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyht
ZXNzYWdlTmFtZSwgIlF1ZXVlTm9uTG9hZGluZ1NjcmlwdCIpKSB7CisgICAgICAgIEFTU0VSVChX
S0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CisgICAgICAg
IFdLU3RyaW5nUmVmIHNjcmlwdCA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihtZXNzYWdlQm9k
eSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS53b3JrUXVldWVNYW5hZ2VyKCku
cXVldWVOb25Mb2FkaW5nU2NyaXB0KHRvV1RGU3RyaW5nKHNjcmlwdCkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFnZXIuY3BwCmluZGV4IDFlZmE4YWQuLjFjMDdhZGEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogI2luY2x1ZGUgIlRlc3RD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJL
aXQyL1dLUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTUzLDExICs1NCw0MyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgZ29Ub0l0ZW1BdEluZGV4KGludCBpbmRleCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
Y2xhc3MgV29ya1F1ZXVlSXRlbSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+V29ya1F1ZXVlSXRl
bSgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBpbnZva2UoKSBjb25zdCA9IDA7IC8vIFJldHVybnMg
J3RydWUnIGlmIHRoaXMgc3RhcnRlZCBhIGxvYWQuCit9OworCisvLyBSZXF1aXJlZCBieSBXS1Bh
Z2VSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWUoKS4KK3N0YXRpYyB2b2lkIHJ1bkphdmFTY3JpcHRG
dW5jdGlvbihXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVJlZiwgV0tFcnJvclJlZiwgdm9pZCopCit7
Cit9CisKK3RlbXBsYXRlIDxib29sIGxvYWRpbmc+CitjbGFzcyBTY3JpcHRJdGVtIDogcHVibGlj
IFdvcmtRdWV1ZUl0ZW0geworcHVibGljOgorICAgIGV4cGxpY2l0IFNjcmlwdEl0ZW0oY29uc3Qg
U3RyaW5nJiBzY3JpcHQpCisgICAgICAgIDogbV9zY3JpcHQoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoc2NyaXB0LnV0ZjgoKS5kYXRhKCkpKQorICAgIHsKKyAgICB9CisK
KyAgICBib29sIGludm9rZSgpIGNvbnN0CisgICAgeworICAgICAgICBXS1BhZ2VSdW5KYXZhU2Ny
aXB0SW5NYWluRnJhbWUobWFpblBhZ2UoKSwgbV9zY3JpcHQuZ2V0KCksIDAsIHJ1bkphdmFTY3Jp
cHRGdW5jdGlvbik7CisgICAgICAgIHJldHVybiBsb2FkaW5nOworICAgIH0KKworICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiBtX3NjcmlwdDsKK307CisKIFdvcmtRdWV1ZU1hbmFnZXI6Oldv
cmtRdWV1ZU1hbmFnZXIoKQogICAgIDogbV9wcm9jZXNzaW5nKGZhbHNlKQogewogfQogCitXb3Jr
UXVldWVNYW5hZ2VyOjp+V29ya1F1ZXVlTWFuYWdlcigpCit7Cit9CisKIHZvaWQgV29ya1F1ZXVl
TWFuYWdlcjo6Y2xlYXJXb3JrUXVldWUoKQogewogICAgIG1fcHJvY2Vzc2luZyA9IGZhbHNlOwpA
QCAtMTA3LDcgKzE0MCw3IEBAIHZvaWQgV29ya1F1ZXVlTWFuYWdlcjo6cXVldWVCYWNrTmF2aWdh
dGlvbih1bnNpZ25lZCBob3dGYXJCYWNrd2FyZCkKIHsKICAgICBjbGFzcyBCYWNrTmF2aWdhdGlv
bkl0ZW0gOiBwdWJsaWMgV29ya1F1ZXVlSXRlbSB7CiAgICAgcHVibGljOgotICAgICAgICBCYWNr
TmF2aWdhdGlvbkl0ZW0odW5zaWduZWQgaG93RmFyQmFja3dhcmQpIDogbV9ob3dGYXJCYWNrd2Fy
ZChob3dGYXJCYWNrd2FyZCkgeyB9CisgICAgICAgIGV4cGxpY2l0IEJhY2tOYXZpZ2F0aW9uSXRl
bSh1bnNpZ25lZCBob3dGYXJCYWNrd2FyZCkgOiBtX2hvd0ZhckJhY2t3YXJkKGhvd0ZhckJhY2t3
YXJkKSB7IH0KIAogICAgICAgICBib29sIGludm9rZSgpIGNvbnN0IHsgcmV0dXJuIGdvVG9JdGVt
QXRJbmRleCgtbV9ob3dGYXJCYWNrd2FyZCk7IH0KIApAQCAtMTMxLDYgKzE2NCwxNiBAQCB2b2lk
IFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlUmVsb2FkKCkKICAgICBlbnF1ZXVlKG5ldyBSZWxvYWRJ
dGVtKCkpOwogfQogCit2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlTG9hZGluZ1NjcmlwdChj
b25zdCBTdHJpbmcmIHNjcmlwdCkKK3sKKyAgICBlbnF1ZXVlKG5ldyBTY3JpcHRJdGVtPC8qbG9h
ZGluZyovIHRydWU+KHNjcmlwdCkpOworfQorCit2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVl
Tm9uTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCkKK3sKKyAgICBlbnF1ZXVlKG5l
dyBTY3JpcHRJdGVtPC8qbG9hZGluZyovIGZhbHNlPihzY3JpcHQpKTsKK30KKwogdm9pZCBXb3Jr
UXVldWVNYW5hZ2VyOjplbnF1ZXVlKFdvcmtRdWV1ZUl0ZW0qIGl0ZW0pCiB7CiAgICAgQVNTRVJU
KGl0ZW0pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5h
Z2VyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFnZXIuaAppbmRleCA2
NjVjN2FiLi5iOWEyMmRkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dvcmtR
dWV1ZU1hbmFnZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFn
ZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBXb3JrUXVldWVNYW5hZ2VyX2gKICNkZWZp
bmUgV29ya1F1ZXVlTWFuYWdlcl9oCiAKLSNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMzcsNiArMzYsNyBAQCBjbGFzcyBXb3JrUXVl
dWVNYW5hZ2VyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrUXVldWVNYW5hZ2VyKTsK
IHB1YmxpYzoKICAgICBXb3JrUXVldWVNYW5hZ2VyKCk7CisgICAgfldvcmtRdWV1ZU1hbmFnZXIo
KTsKIAogICAgIGJvb2wgaXNXb3JrUXVldWVFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fd29ya1F1
ZXVlLmlzRW1wdHkoKTsgfQogICAgIHZvaWQgY2xlYXJXb3JrUXVldWUoKTsKQEAgLTQ1LDE0ICs0
NSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBxdWV1ZUxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFN0cmluZyYgdGFyZ2V0KTsKICAgICB2b2lkIHF1ZXVlQmFja05hdmlnYXRpb24odW5zaWdu
ZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVSZWxvYWQoKTsKKyAgICB2b2lkIHF1
ZXVlTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCk7CisgICAgdm9pZCBxdWV1ZU5v
bkxvYWRpbmdTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogCi1wcml2YXRlOgotICAgIGNs
YXNzIFdvcmtRdWV1ZUl0ZW0gewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+V29ya1F1
ZXVlSXRlbSgpIHsgfQotICAgICAgICB2aXJ0dWFsIGJvb2wgaW52b2tlKCkgY29uc3QgPSAwOyAv
LyBSZXR1cm5zICd0cnVlJyBpZiB0aGlzIHN0YXJ0ZWQgYSBsb2FkLgotICAgIH07ICAgIAotICAg
IHR5cGVkZWYgRGVxdWU8T3duUHRyPFdvcmtRdWV1ZUl0ZW0+ID4gV29ya1F1ZXVlOworcHJpdmF0
ZTogICAgCisgICAgdHlwZWRlZiBEZXF1ZTxPd25QdHI8Y2xhc3MgV29ya1F1ZXVlSXRlbT4gPiBX
b3JrUXVldWU7CiAKICAgICB2b2lkIGVucXVldWUoV29ya1F1ZXVlSXRlbSopOyAvLyBBZG9wdHMg
cG9pbnRlci4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169838</attachid>
            <date>2012-10-22 00:33:57 -0700</date>
            <delta_ts>2012-10-22 01:19:55 -0700</delta_ts>
            <desc>patch v3</desc>
            <filename>bug42675_v3</filename>
            <type>text/plain</type>
            <size>14977</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDk4ZTAzMGUyNDJlNDEyMWU1Y2U1YzYyM2NkNDE2ZDkyNjFlMGViNjAKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIE9jdCAxNyAxNjo0MTowOSAyMDEyICswMzAwCgogICAgYnVnNDI2NzUKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWE0
OGM4Ny4uY2FjNmNjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTE4ICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFdl
YktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQgYW5kIHRl
c3RSdW5uZXIucXVldWVOb25Mb2FkaW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcHBlZCBjb3JyZXNwb25kaW5nIHRlc3QgY2FzZXMg
Zm9yIFdLMi4gUHV0IHRob3NlIHdoaWNoIHN0aWxsIGZhaWwgdG8gYXBwcm9wcmlhdGUKKyAgICAg
ICAgZ3JvdXBzLgorCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisK
IDIwMTItMTAtMjEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgc3VwcHJlc3NpbmcgZmFpbHVyZSB1bnRpbCBJIGNhbiBmaWd1cmUgb3V0
IHdoYXQncyBnb2luZyBvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYWJhYWVjZi4uOTM2MjYzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTI5MywzNCArMjkzLDkgQEAgc3ZnL2N1c3RvbS9tYW51YWxseS1w
YXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwKIHN2Zy9jdXN0b20v
bWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1sCiBzdmcvY3VzdG9t
L3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbAogCi0jIFdlYktpdFRlc3RSdW5u
ZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZU5vbkxvYWRpbmdTY3JpcHQKLSMgPGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODE0MT4KLWh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9hbmNob3ItZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9lcnJvcjQwNC1nb2Jh
Y2suaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2phdmFzY3JpcHRsaW5rLWdvYmFjay5odG1s
Ci1odHRwL3Rlc3RzL25hdmlnYXRpb24vbWV0YXJlZGlyZWN0LWdvYmFjay5odG1sCi1odHRwL3Rl
c3RzL25hdmlnYXRpb24vcG9zdC1nb2JhY2syLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9w
b3N0cmVkaXJlY3QtYmFzaWMuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bvc3RyZWRpcmVj
dC1mcmFtZXMuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bvc3RyZWRpcmVjdC1nb2JhY2sx
Lmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVkaXJlY3QtZ29iYWNrMi5odG1sCi1o
dHRwL3Rlc3RzL25hdmlnYXRpb24vcmVkaXJlY3QzMDItZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMv
bmF2aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1iYXNpYy5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRp
b24vcmVsYXRpdmVhbmNob3ItZnJhbWVzLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWxh
dGl2ZWFuY2hvci1nb2JhY2suaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc3RvcmUtZm9y
bS1zdGF0ZS1odHRwcy5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vc3VjY2VzczIwMC1mcmFt
ZXMtbG9hZHNhbWUuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1Y2Nlc3MyMDAtZ29iYWNr
Lmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNzMjAwLWxvYWRzYW1lLmh0bWwKLWh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNzMjAwLXJlbG9hZC5odG1sCi1odHRwL3Rlc3RzL25h
dmlnYXRpb24vdGltZXJyZWRpcmVjdC1nb2JhY2suaHRtbAotCi0jIFdlYktpdFRlc3RSdW5uZXIg
bmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQKLSMgPGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NT4KKyMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyB0
ZXN0UnVubmVyLnF1ZXVlRm9yd2FyZE5hdmlnYXRpb24KKyMgPGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTcwMD4KIGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2Ut
ZmFpbG92ZXItdG8tbmV0d29yay5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vZm9yd2FyZC1h
bmQtY2FuY2VsLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0LWdvYmFjay1zYW1lLXVy
bC5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdHJlZGlyZWN0LXJlbG9hZC5odG1sCiAK
ICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRDYWNoZU1v
ZGVsCiAjIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2ODQ+CkBA
IC03NDksNiArNzI0LDEzIEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNwb25zZTIwNC5odG1s
CiBodHRwL3Rlc3RzL25hdmlnYXRpb24vc3VjY2VzczIwMC1zdWJmcmFtZWxvYWQuaHRtbAogaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3RpbWVycmVkaXJlY3Qtc3ViZnJhbWVsb2FkLmh0bWwKIAorIyBS
ZWRpcmVjdGVkIHRvIHVuZXhwZWN0ZWQgcGFnZS4gTWlnaHQgYmUgRUZMIHBvcnQgc3BlY2lmaWMg
aXNzdWUuCitodHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdHJlZGlyZWN0LWJhc2ljLmh0bWwKK2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVkaXJlY3QtZ29iYWNrMS5odG1sCisKKyMgVW5leHBl
Y3RlZCBvdXRwdXQgZnJvbSBzY3JvbGxpbmcuIE1pZ2h0IGJlIEVGTCBwb3J0IHNwZWNpZmljIGlz
c3VlLgoraHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlbGF0aXZlYW5jaG9yLWZyYW1lcy5odG1sCisK
ICMjIyBFTkQgT0YgKDIpIENsYXNzaWZpZWQgZmFpbHVyZXMgd2l0aG91dCBidWcgcmVwb3J0cyAo
eWV0KQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGRlYmFhNS4uM2E3
MTg2NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM5IEBACisyMDEyLTEwLTE4ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWls
LnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMg
dGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQgYW5kIHRlc3RSdW5uZXIucXVldWVOb25Mb2Fk
aW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIGltcGxlbWVudGF0aW9uIG9mIHRlc3RSdW5uZXIucXVldWVMb2FkaW5nU2NyaXB0IGFu
ZCB0ZXN0UnVubmVyLnF1ZXVlTm9uTG9hZGluZ1NjcmlwdC4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6Cisg
ICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpxdWV1ZUxvYWRpbmdTY3JpcHQpOgorICAgICAg
ICAoV1RSKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OnF1ZXVlTm9uTG9hZGluZ1Nj
cmlwdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oOgorICAgICAgICAoSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RSdW5uZXI6OnF1ZXVlTG9hZGluZ1NjcmlwdCk6CisgICAgICAgIChXVFIpOgorICAgICAgICAo
V1RSOjpUZXN0UnVubmVyOjpxdWV1ZU5vbkxvYWRpbmdTY3JpcHQpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1
bm5lcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6Cisg
ICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3Rl
ZEJ1bmRsZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdUUik6CisgICAgICAgIChXVFI6OnJ1bkphdmFTY3JpcHRGdW5jdGlvbik6
CisgICAgICAgIChTY3JpcHRJdGVtKToKKyAgICAgICAgKFdUUjo6U2NyaXB0SXRlbTo6U2NyaXB0
SXRlbSk6CisgICAgICAgIChXVFI6OlNjcmlwdEl0ZW06Omludm9rZSk6CisgICAgICAgIChXVFI6
OldvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlQmFja05hdmlnYXRpb24pOgorICAgICAgICAoV1RSOjpX
b3JrUXVldWVNYW5hZ2VyOjpxdWV1ZUxvYWRpbmdTY3JpcHQpOgorICAgICAgICAoV1RSOjpXb3Jr
UXVldWVNYW5hZ2VyOjpxdWV1ZU5vbkxvYWRpbmdTY3JpcHQpOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5oOgorICAgICAgICAoV29ya1F1ZXVlTWFuYWdlcik6
CisKIDIwMTItMTAtMjEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBpbnRyb2R1Y2UgYSBwdWJsaWMgQVBJIGZvciB0aGUgVGVzdFJ1
bm5lciBsaWJyYXJ5CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCA4MTQzMmRhLi5mOWY2
MTk5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTE4Niw1ICsxODYsNyBAQCBpbnRl
cmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBxdWV1ZUJhY2tOYXZpZ2F0aW9uKGluIHVuc2ln
bmVkIGxvbmcgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVMb2FkKGluIERPTVN0cmlu
ZyB1cmwsIGluIERPTVN0cmluZyB0YXJnZXQpOwogICAgIHZvaWQgcXVldWVSZWxvYWQoKTsKKyAg
ICB2b2lkIHF1ZXVlTG9hZGluZ1NjcmlwdChpbiBET01TdHJpbmcgc2NyaXB0KTsKKyAgICB2b2lk
IHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChpbiBET01TdHJpbmcgc2NyaXB0KTsKIH07CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKaW5kZXggOGZmNzEzZi4uZDY0YTczNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTUw
Nyw0ICs1MDcsMjAgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVSZWxvYWQoKQogICAgIFdL
QnVuZGxlUG9zdE1lc3NhZ2UobV9idW5kbGUsIG1lc3NhZ2VOYW1lLmdldCgpLCAwKTsKIH0KIAor
dm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVMb2FkaW5nU2NyaXB0KFdLU3RyaW5nUmVmIHNjcmlw
dCkKK3sKKyAgICBtX3VzZVdvcmtRdWV1ZSA9IHRydWU7CisKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlF1ZXVlTG9hZGluZ1NjcmlwdCIpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1fYnVu
ZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgc2NyaXB0KTsKK30KKwordm9pZCBJbmplY3RlZEJ1bmRs
ZTo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KFdLU3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBtX3Vz
ZVdvcmtRdWV1ZSA9IHRydWU7CisKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlF1ZXVlTm9uTG9h
ZGluZ1NjcmlwdCIpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1fYnVuZGxlLCBtZXNzYWdl
TmFtZS5nZXQoKSwgc2NyaXB0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgK
aW5kZXggMGI4OTU4NC4uZjNkMjAzNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMTA0LDYgKzEwNCw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHF1ZXVlQmFja05hdmlnYXRpb24odW5zaWduZWQgaG93RmFyQmFj
a3dhcmQpOwogICAgIHZvaWQgcXVldWVMb2FkKFdLU3RyaW5nUmVmIHVybCwgV0tTdHJpbmdSZWYg
dGFyZ2V0KTsKICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7CisgICAgdm9pZCBxdWV1ZUxvYWRpbmdT
Y3JpcHQoV0tTdHJpbmdSZWYgc2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1Njcmlw
dChXS1N0cmluZ1JlZiBzY3JpcHQpOwogCiBwcml2YXRlOgogICAgIEluamVjdGVkQnVuZGxlKCk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmNwcAppbmRleCA3NDAwNDk1Li40M2E2YzBlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTg1Miw0ICs4NTIs
MTYgQEAgdm9pZCBUZXN0UnVubmVyOjpxdWV1ZVJlbG9hZCgpCiAgICAgSW5qZWN0ZWRCdW5kbGU6
OnNoYXJlZCgpLnF1ZXVlUmVsb2FkKCk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6cXVldWVMb2Fk
aW5nU2NyaXB0KEpTU3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNjcmlwdCk7CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJl
ZCgpLnF1ZXVlTG9hZGluZ1NjcmlwdChzY3JpcHRXSy5nZXQoKSk7Cit9CisKK3ZvaWQgVGVzdFJ1
bm5lcjo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KEpTU3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNjcmlwdCk7CisgICAgSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlTm9uTG9hZGluZ1NjcmlwdChzY3JpcHRXSy5nZXQo
KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCA5NmQ4MjIwLi5mOTJlMzQyIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaApAQCAtMjY1LDYgKzI2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHF1ZXVlQmFja05hdmln
YXRpb24odW5zaWduZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVMb2FkKEpTU3Ry
aW5nUmVmIHVybCwgSlNTdHJpbmdSZWYgdGFyZ2V0KTsKICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7
CisgICAgdm9pZCBxdWV1ZUxvYWRpbmdTY3JpcHQoSlNTdHJpbmdSZWYgc2NyaXB0KTsKKyAgICB2
b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChKU1N0cmluZ1JlZiBzY3JpcHQpOwogCiBwcml2YXRl
OgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJbnRlcnZh
bDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggMDQwYWRi
NS4uZmQ5NDIzMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAK
QEAgLTQ2Niw2ICs0NjYsMjAgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3Nh
Z2VOYW1lLCAiUXVldWVMb2FkaW5nU2NyaXB0IikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlw
ZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKyAgICAgICAgV0tTdHJp
bmdSZWYgc2NyaXB0ID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KG1lc3NhZ2VCb2R5KTsKKyAg
ICAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLndvcmtRdWV1ZU1hbmFnZXIoKS5xdWV1ZUxv
YWRpbmdTY3JpcHQodG9XVEZTdHJpbmcoc2NyaXB0KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlF1
ZXVlTm9uTG9hZGluZ1NjcmlwdCIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNz
YWdlQm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIHNj
cmlwdCA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihtZXNzYWdlQm9keSk7CisgICAgICAgIFRl
c3RDb250cm9sbGVyOjpzaGFyZWQoKS53b3JrUXVldWVNYW5hZ2VyKCkucXVldWVOb25Mb2FkaW5n
U2NyaXB0KHRvV1RGU3RyaW5nKHNjcmlwdCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dv
cmtRdWV1ZU1hbmFnZXIuY3BwCmluZGV4IDFlZmE4YWQuLmNkYjEyNmUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lu
Y2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CiAKQEAgLTUzLDExICs1NCw0OCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgZ29Ub0l0ZW1B
dEluZGV4KGludCBpbmRleCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorY2xhc3MgV29ya1F1ZXVl
SXRlbSB7CitwdWJsaWM6CisgICAgZW51bSBUeXBlIHsKKyAgICAgICAgTG9hZGluZywKKyAgICAg
ICAgTm90TG9hZGluZworICAgIH07CisKKyAgICB2aXJ0dWFsIH5Xb3JrUXVldWVJdGVtKCkgeyB9
CisgICAgdmlydHVhbCBUeXBlIGludm9rZSgpIGNvbnN0ID0gMDsKK307CisKKy8vIFJlcXVpcmVk
IGJ5IFdLUGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZSgpLgorc3RhdGljIHZvaWQgcnVuSmF2
YVNjcmlwdEZ1bmN0aW9uKFdLU2VyaWFsaXplZFNjcmlwdFZhbHVlUmVmLCBXS0Vycm9yUmVmLCB2
b2lkKikKK3sKK30KKwordGVtcGxhdGUgPFdvcmtRdWV1ZUl0ZW06OlR5cGUgdHlwZT4KK2NsYXNz
IFNjcmlwdEl0ZW0gOiBwdWJsaWMgV29ya1F1ZXVlSXRlbSB7CitwdWJsaWM6CisgICAgZXhwbGlj
aXQgU2NyaXB0SXRlbShjb25zdCBTdHJpbmcmIHNjcmlwdCkKKyAgICAgICAgOiBtX3NjcmlwdChB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhzY3JpcHQudXRmOCgpLmRhdGEo
KSkpCisgICAgeworICAgIH0KKworICAgIFdvcmtRdWV1ZUl0ZW06OlR5cGUgaW52b2tlKCkgY29u
c3QKKyAgICB7CisgICAgICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZShtYWluUGFn
ZSgpLCBtX3NjcmlwdC5nZXQoKSwgMCwgcnVuSmF2YVNjcmlwdEZ1bmN0aW9uKTsKKyAgICAgICAg
cmV0dXJuIHR5cGU7CisgICAgfQorCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1fc2Ny
aXB0OworfTsKKwogV29ya1F1ZXVlTWFuYWdlcjo6V29ya1F1ZXVlTWFuYWdlcigpCiAgICAgOiBt
X3Byb2Nlc3NpbmcoZmFsc2UpCiB7CiB9CiAKK1dvcmtRdWV1ZU1hbmFnZXI6On5Xb3JrUXVldWVN
YW5hZ2VyKCkKK3sKK30KKwogdm9pZCBXb3JrUXVldWVNYW5hZ2VyOjpjbGVhcldvcmtRdWV1ZSgp
CiB7CiAgICAgbV9wcm9jZXNzaW5nID0gZmFsc2U7CkBAIC02OSw3ICsxMDcsNyBAQCBib29sIFdv
cmtRdWV1ZU1hbmFnZXI6OnByb2Nlc3NXb3JrUXVldWUoKQogICAgIG1fcHJvY2Vzc2luZyA9IGZh
bHNlOwogICAgIHdoaWxlICghbV9wcm9jZXNzaW5nICYmICFtX3dvcmtRdWV1ZS5pc0VtcHR5KCkp
IHsKICAgICAgICAgT3duUHRyPFdvcmtRdWV1ZUl0ZW0+IGl0ZW0obV93b3JrUXVldWUudGFrZUZp
cnN0KCkpOwotICAgICAgICBtX3Byb2Nlc3NpbmcgPSBpdGVtLT5pbnZva2UoKTsKKyAgICAgICAg
bV9wcm9jZXNzaW5nID0gKGl0ZW0tPmludm9rZSgpID09IFdvcmtRdWV1ZUl0ZW06OkxvYWRpbmcp
OwogICAgIH0KIAogICAgIHJldHVybiAhbV9wcm9jZXNzaW5nOwpAQCAtODUsMTUgKzEyMywxNSBA
QCB2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlTG9hZChjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgU3RyaW5nJiB0YXJnZXQpCiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIGJvb2wg
aW52b2tlKCkgY29uc3QKKyAgICAgICAgV29ya1F1ZXVlSXRlbTo6VHlwZSBpbnZva2UoKSBjb25z
dAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fdGFyZ2V0LmlzRW1wdHkoKSkgewogICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBVc2UgdGFyZ2V0LiBTb21lIGxheW91dCB0ZXN0cyBjYW5u
b3QgcGFzcyBhcyB0aGV5IHJlbHkgb24gdGhpcyBmdW5jdGlvbmFsaXR5LgogICAgICAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAicXVldWVMb2FkIGZvciBhIHNwZWNpZmljIHRhcmdldCBpcyBu
b3QgaW1wbGVtZW50ZWQuXG4iKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIFdvcmtRdWV1ZUl0ZW06Ok5vdExvYWRpbmc7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBXS1BhZ2VMb2FkVVJMKG1haW5QYWdlKCksIG1fdXJsLmdldCgpKTsK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgcmV0dXJuIFdvcmtRdWV1ZUl0
ZW06OkxvYWRpbmc7CiAgICAgICAgIH0KIAogICAgICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4g
bV91cmw7CkBAIC0xMDcsOSArMTQ1LDkgQEAgdm9pZCBXb3JrUXVldWVNYW5hZ2VyOjpxdWV1ZUJh
Y2tOYXZpZ2F0aW9uKHVuc2lnbmVkIGhvd0ZhckJhY2t3YXJkKQogewogICAgIGNsYXNzIEJhY2tO
YXZpZ2F0aW9uSXRlbSA6IHB1YmxpYyBXb3JrUXVldWVJdGVtIHsKICAgICBwdWJsaWM6Ci0gICAg
ICAgIEJhY2tOYXZpZ2F0aW9uSXRlbSh1bnNpZ25lZCBob3dGYXJCYWNrd2FyZCkgOiBtX2hvd0Zh
ckJhY2t3YXJkKGhvd0ZhckJhY2t3YXJkKSB7IH0KKyAgICAgICAgZXhwbGljaXQgQmFja05hdmln
YXRpb25JdGVtKHVuc2lnbmVkIGhvd0ZhckJhY2t3YXJkKSA6IG1faG93RmFyQmFja3dhcmQoaG93
RmFyQmFja3dhcmQpIHsgfQogCi0gICAgICAgIGJvb2wgaW52b2tlKCkgY29uc3QgeyByZXR1cm4g
Z29Ub0l0ZW1BdEluZGV4KC1tX2hvd0ZhckJhY2t3YXJkKTsgfQorICAgICAgICBXb3JrUXVldWVJ
dGVtOjpUeXBlIGludm9rZSgpIGNvbnN0IHsgcmV0dXJuIGdvVG9JdGVtQXRJbmRleCgtbV9ob3dG
YXJCYWNrd2FyZCkgPyBXb3JrUXVldWVJdGVtOjpMb2FkaW5nIDogV29ya1F1ZXVlSXRlbTo6Tm90
TG9hZGluZzsgfQogCiAgICAgICAgIHVuc2lnbmVkIG1faG93RmFyQmFja3dhcmQ7CiAgICAgfTsK
QEAgLTEyMSwxNiArMTU5LDI2IEBAIHZvaWQgV29ya1F1ZXVlTWFuYWdlcjo6cXVldWVSZWxvYWQo
KQogewogICAgIGNsYXNzIFJlbG9hZEl0ZW0gOiBwdWJsaWMgV29ya1F1ZXVlSXRlbSB7CiAgICAg
cHVibGljOgotICAgICAgICBib29sIGludm9rZSgpIGNvbnN0CisgICAgICAgIFdvcmtRdWV1ZUl0
ZW06OlR5cGUgaW52b2tlKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgV0tQYWdlUmVs
b2FkKG1haW5QYWdlKCkpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBy
ZXR1cm4gV29ya1F1ZXVlSXRlbTo6TG9hZGluZzsKICAgICAgICAgfQogICAgIH07CiAKICAgICBl
bnF1ZXVlKG5ldyBSZWxvYWRJdGVtKCkpOwogfQogCit2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1
ZXVlTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCkKK3sKKyAgICBlbnF1ZXVlKG5l
dyBTY3JpcHRJdGVtPFdvcmtRdWV1ZUl0ZW06OkxvYWRpbmc+KHNjcmlwdCkpOworfQorCit2b2lk
IFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlTm9uTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNj
cmlwdCkKK3sKKyAgICBlbnF1ZXVlKG5ldyBTY3JpcHRJdGVtPFdvcmtRdWV1ZUl0ZW06Ok5vdExv
YWRpbmc+KHNjcmlwdCkpOworfQorCiB2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OmVucXVldWUoV29y
a1F1ZXVlSXRlbSogaXRlbSkKIHsKICAgICBBU1NFUlQoaXRlbSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFnZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvV29ya1F1ZXVlTWFuYWdlci5oCmluZGV4IDY2NWM3YWIuLmI5YTIyZGQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAj
aWZuZGVmIFdvcmtRdWV1ZU1hbmFnZXJfaAogI2RlZmluZSBXb3JrUXVldWVNYW5hZ2VyX2gKIAot
I2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CkBAIC0zNyw2ICszNiw3IEBAIGNsYXNzIFdvcmtRdWV1ZU1hbmFnZXIgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdvcmtRdWV1ZU1hbmFnZXIpOwogcHVibGljOgogICAgIFdvcmtRdWV1ZU1h
bmFnZXIoKTsKKyAgICB+V29ya1F1ZXVlTWFuYWdlcigpOwogCiAgICAgYm9vbCBpc1dvcmtRdWV1
ZUVtcHR5KCkgY29uc3QgeyByZXR1cm4gbV93b3JrUXVldWUuaXNFbXB0eSgpOyB9CiAgICAgdm9p
ZCBjbGVhcldvcmtRdWV1ZSgpOwpAQCAtNDUsMTQgKzQ1LDExIEBAIHB1YmxpYzoKICAgICB2b2lk
IHF1ZXVlTG9hZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0YXJnZXQpOwogICAg
IHZvaWQgcXVldWVCYWNrTmF2aWdhdGlvbih1bnNpZ25lZCBob3dGYXJCYWNrd2FyZCk7CiAgICAg
dm9pZCBxdWV1ZVJlbG9hZCgpOworICAgIHZvaWQgcXVldWVMb2FkaW5nU2NyaXB0KGNvbnN0IFN0
cmluZyYgc2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChjb25zdCBTdHJp
bmcmIHNjcmlwdCk7CiAKLXByaXZhdGU6Ci0gICAgY2xhc3MgV29ya1F1ZXVlSXRlbSB7Ci0gICAg
cHVibGljOgotICAgICAgICB2aXJ0dWFsIH5Xb3JrUXVldWVJdGVtKCkgeyB9Ci0gICAgICAgIHZp
cnR1YWwgYm9vbCBpbnZva2UoKSBjb25zdCA9IDA7IC8vIFJldHVybnMgJ3RydWUnIGlmIHRoaXMg
c3RhcnRlZCBhIGxvYWQuCi0gICAgfTsgICAgCi0gICAgdHlwZWRlZiBEZXF1ZTxPd25QdHI8V29y
a1F1ZXVlSXRlbT4gPiBXb3JrUXVldWU7Citwcml2YXRlOiAgICAKKyAgICB0eXBlZGVmIERlcXVl
PE93blB0cjxjbGFzcyBXb3JrUXVldWVJdGVtPiA+IFdvcmtRdWV1ZTsKIAogICAgIHZvaWQgZW5x
dWV1ZShXb3JrUXVldWVJdGVtKik7IC8vIEFkb3B0cyBwb2ludGVyLgogCg==
</data>
<flag name="review"
          id="183254"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169846</attachid>
            <date>2012-10-22 01:19:55 -0700</date>
            <delta_ts>2012-10-22 01:42:17 -0700</delta_ts>
            <desc>to be landed</desc>
            <filename>bug42675_v4</filename>
            <type>text/plain</type>
            <size>15001</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDA4OWNlZTBkM2VkNzAxYzA4YTczNTZiMjI3YTUyMTVjMDViNGQ2NDYKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
TW9uIE9jdCAyMiAxMToxNToyOCAyMDEyICswMzAwCgogICAgYnVnNDI2NzUKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWE0
OGM4Ny4uNzdjY2VmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTE4ICBNaWtoYWls
IFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFdl
YktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQgYW5kIHRl
c3RSdW5uZXIucXVldWVOb25Mb2FkaW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIFVuc2tpcHBlZCBjb3JyZXNwb25kaW5n
IHRlc3QgY2FzZXMgZm9yIFdLMi4gUHV0IHRob3NlIHdoaWNoIHN0aWxsIGZhaWwgdG8gYXBwcm9w
cmlhdGUKKyAgICAgICAgZ3JvdXBzLgorCisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMTItMTAtMjEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgc3VwcHJlc3NpbmcgZmFpbHVyZSB1bnRpbCBJIGNh
biBmaWd1cmUgb3V0IHdoYXQncyBnb2luZyBvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggYWJhYWVjZi4uOTM2MjYzZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI5MywzNCArMjkzLDkgQEAgc3ZnL2N1c3Rv
bS9tYW51YWxseS1wYXJzZWQtZW1iZWRkZWQtc3ZnLWFsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwK
IHN2Zy9jdXN0b20vbWFudWFsbHktcGFyc2VkLXN2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC5odG1s
CiBzdmcvY3VzdG9tL3N2Zy1hbGxvd2VkLWluLWRhc2hib2FyZC1vYmplY3QuaHRtbAogCi0jIFdl
YktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZU5vbkxvYWRpbmdTY3JpcHQKLSMg
PGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODE0MT4KLWh0dHAvdGVz
dHMvbmF2aWdhdGlvbi9hbmNob3ItZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9l
cnJvcjQwNC1nb2JhY2suaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2phdmFzY3JpcHRsaW5r
LWdvYmFjay5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vbWV0YXJlZGlyZWN0LWdvYmFjay5o
dG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdC1nb2JhY2syLmh0bWwKLWh0dHAvdGVzdHMv
bmF2aWdhdGlvbi9wb3N0cmVkaXJlY3QtYmFzaWMuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3Bvc3RyZWRpcmVjdC1mcmFtZXMuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bvc3RyZWRp
cmVjdC1nb2JhY2sxLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVkaXJlY3QtZ29i
YWNrMi5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVkaXJlY3QzMDItZ29iYWNrLmh0bWwK
LWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1iYXNpYy5odG1sCi1odHRwL3Rl
c3RzL25hdmlnYXRpb24vcmVsYXRpdmVhbmNob3ItZnJhbWVzLmh0bWwKLWh0dHAvdGVzdHMvbmF2
aWdhdGlvbi9yZWxhdGl2ZWFuY2hvci1nb2JhY2suaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3Jlc3RvcmUtZm9ybS1zdGF0ZS1odHRwcy5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vc3Vj
Y2VzczIwMC1mcmFtZXMtbG9hZHNhbWUuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3N1Y2Nl
c3MyMDAtZ29iYWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNzMjAwLWxvYWRz
YW1lLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9zdWNjZXNzMjAwLXJlbG9hZC5odG1sCi1o
dHRwL3Rlc3RzL25hdmlnYXRpb24vdGltZXJyZWRpcmVjdC1nb2JhY2suaHRtbAotCi0jIFdlYktp
dFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQKLSMgPGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY3NT4KKyMgV2ViS2l0VGVzdFJ1
bm5lciBuZWVkcyB0ZXN0UnVubmVyLnF1ZXVlRm9yd2FyZE5hdmlnYXRpb24KKyMgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTcwMD4KIGh0dHAvdGVzdHMvY2FjaGUv
c3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29yay5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRp
b24vZm9yd2FyZC1hbmQtY2FuY2VsLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0LWdv
YmFjay1zYW1lLXVybC5odG1sCi1odHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdHJlZGlyZWN0LXJl
bG9hZC5odG1sCiAKICMgV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyBsYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXRDYWNoZU1vZGVsCiAjIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDI2ODQ+CkBAIC03NDksNiArNzI0LDEzIEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNw
b25zZTIwNC5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vc3VjY2VzczIwMC1zdWJmcmFtZWxv
YWQuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3RpbWVycmVkaXJlY3Qtc3ViZnJhbWVsb2Fk
Lmh0bWwKIAorIyBSZWRpcmVjdGVkIHRvIHVuZXhwZWN0ZWQgcGFnZS4gTWlnaHQgYmUgRUZMIHBv
cnQgc3BlY2lmaWMgaXNzdWUuCitodHRwL3Rlc3RzL25hdmlnYXRpb24vcG9zdHJlZGlyZWN0LWJh
c2ljLmh0bWwKK2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0cmVkaXJlY3QtZ29iYWNrMS5odG1s
CisKKyMgVW5leHBlY3RlZCBvdXRwdXQgZnJvbSBzY3JvbGxpbmcuIE1pZ2h0IGJlIEVGTCBwb3J0
IHNwZWNpZmljIGlzc3VlLgoraHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlbGF0aXZlYW5jaG9yLWZy
YW1lcy5odG1sCisKICMjIyBFTkQgT0YgKDIpIENsYXNzaWZpZWQgZmFpbHVyZXMgd2l0aG91dCBi
dWcgcmVwb3J0cyAoeWV0KQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
ZGRlYmFhNS4uY2NiNTQ4YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEwLTE4ICBNaWtoYWlsIFBvemRueWFr
b3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgorCisgICAgICAgIFdlYktpdFRlc3RS
dW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5xdWV1ZUxvYWRpbmdTY3JpcHQgYW5kIHRlc3RSdW5uZXIu
cXVldWVOb25Mb2FkaW5nU2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUg
Q2hyaXN0aWFuc2VuLgorCisgICAgICAgIEFkZGVkIGltcGxlbWVudGF0aW9uIG9mIHRlc3RSdW5u
ZXIucXVldWVMb2FkaW5nU2NyaXB0IGFuZCB0ZXN0UnVubmVyLnF1ZXVlTm9uTG9hZGluZ1Njcmlw
dC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
VGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpxdWV1
ZUxvYWRpbmdTY3JpcHQpOgorICAgICAgICAoV1RSKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRC
dW5kbGU6OnF1ZXVlTm9uTG9hZGluZ1NjcmlwdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAoSW5qZWN0ZWRCdW5k
bGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnF1ZXVlTG9hZGluZ1NjcmlwdCk6Cisg
ICAgICAgIChXVFIpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpxdWV1ZU5vbkxvYWRpbmdT
Y3JpcHQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRS
ZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdUUik6CisgICAgICAgIChXVFI6
OnJ1bkphdmFTY3JpcHRGdW5jdGlvbik6CisgICAgICAgIChTY3JpcHRJdGVtKToKKyAgICAgICAg
KFdUUjo6U2NyaXB0SXRlbTo6U2NyaXB0SXRlbSk6CisgICAgICAgIChXVFI6OlNjcmlwdEl0ZW06
Omludm9rZSk6CisgICAgICAgIChXVFI6OldvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlQmFja05hdmln
YXRpb24pOgorICAgICAgICAoV1RSOjpXb3JrUXVldWVNYW5hZ2VyOjpxdWV1ZUxvYWRpbmdTY3Jp
cHQpOgorICAgICAgICAoV1RSOjpXb3JrUXVldWVNYW5hZ2VyOjpxdWV1ZU5vbkxvYWRpbmdTY3Jp
cHQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5oOgorICAg
ICAgICAoV29ya1F1ZXVlTWFuYWdlcik6CisKIDIwMTItMTAtMjEgIEpvY2hlbiBFaXNpbmdlciAg
PGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBpbnRyb2R1Y2UgYSBw
dWJsaWMgQVBJIGZvciB0aGUgVGVzdFJ1bm5lciBsaWJyYXJ5CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVy
LmlkbAppbmRleCA4MTQzMmRhLi5mOWY2MTk5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwK
QEAgLTE4Niw1ICsxODYsNyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBxdWV1
ZUJhY2tOYXZpZ2F0aW9uKGluIHVuc2lnbmVkIGxvbmcgaG93RmFyQmFja3dhcmQpOwogICAgIHZv
aWQgcXVldWVMb2FkKGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyB0YXJnZXQpOwogICAg
IHZvaWQgcXVldWVSZWxvYWQoKTsKKyAgICB2b2lkIHF1ZXVlTG9hZGluZ1NjcmlwdChpbiBET01T
dHJpbmcgc2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChpbiBET01TdHJp
bmcgc2NyaXB0KTsKIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggOGZmNzEzZi4uZDY0YTczNCAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5jcHAKQEAgLTUwNyw0ICs1MDcsMjAgQEAgdm9pZCBJbmplY3RlZEJ1bmRs
ZTo6cXVldWVSZWxvYWQoKQogICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UobV9idW5kbGUsIG1lc3Nh
Z2VOYW1lLmdldCgpLCAwKTsKIH0KIAordm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVMb2FkaW5n
U2NyaXB0KFdLU3RyaW5nUmVmIHNjcmlwdCkKK3sKKyAgICBtX3VzZVdvcmtRdWV1ZSA9IHRydWU7
CisKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlF1ZXVlTG9hZGluZ1NjcmlwdCIpKTsKKyAgICBX
S0J1bmRsZVBvc3RNZXNzYWdlKG1fYnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgc2NyaXB0KTsK
K30KKwordm9pZCBJbmplY3RlZEJ1bmRsZTo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KFdLU3RyaW5n
UmVmIHNjcmlwdCkKK3sKKyAgICBtX3VzZVdvcmtRdWV1ZSA9IHRydWU7CisKKyAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIlF1ZXVlTm9uTG9hZGluZ1NjcmlwdCIpKTsKKyAgICBXS0J1bmRsZVBvc3RN
ZXNzYWdlKG1fYnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgc2NyaXB0KTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5kZXggMGI4OTU4NC4uZjNkMjAzNCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuaApAQCAtMTA0LDYgKzEwNCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHF1ZXVlQmFja05hdmln
YXRpb24odW5zaWduZWQgaG93RmFyQmFja3dhcmQpOwogICAgIHZvaWQgcXVldWVMb2FkKFdLU3Ry
aW5nUmVmIHVybCwgV0tTdHJpbmdSZWYgdGFyZ2V0KTsKICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7
CisgICAgdm9pZCBxdWV1ZUxvYWRpbmdTY3JpcHQoV0tTdHJpbmdSZWYgc2NyaXB0KTsKKyAgICB2
b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChXS1N0cmluZ1JlZiBzY3JpcHQpOwogCiBwcml2YXRl
OgogICAgIEluamVjdGVkQnVuZGxlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCA3NDAwNDk1Li40M2E2YzBlIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5jcHAKQEAgLTg1Miw0ICs4NTIsMTYgQEAgdm9pZCBUZXN0UnVubmVyOjpxdWV1ZVJlbG9h
ZCgpCiAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlUmVsb2FkKCk7CiB9CiAKK3Zv
aWQgVGVzdFJ1bm5lcjo6cXVldWVMb2FkaW5nU2NyaXB0KEpTU3RyaW5nUmVmIHNjcmlwdCkKK3sK
KyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sgPSB0b1dLKHNjcmlwdCk7Cisg
ICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlTG9hZGluZ1NjcmlwdChzY3JpcHRXSy5n
ZXQoKSk7Cit9CisKK3ZvaWQgVGVzdFJ1bm5lcjo6cXVldWVOb25Mb2FkaW5nU2NyaXB0KEpTU3Ry
aW5nUmVmIHNjcmlwdCkKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc2NyaXB0V0sg
PSB0b1dLKHNjcmlwdCk7CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnF1ZXVlTm9uTG9h
ZGluZ1NjcmlwdChzY3JpcHRXSy5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApp
bmRleCA5NmQ4MjIwLi5mOTJlMzQyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMjY1LDYgKzI2NSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHF1ZXVlQmFja05hdmlnYXRpb24odW5zaWduZWQgaG93RmFyQmFja3dhcmQpOwog
ICAgIHZvaWQgcXVldWVMb2FkKEpTU3RyaW5nUmVmIHVybCwgSlNTdHJpbmdSZWYgdGFyZ2V0KTsK
ICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7CisgICAgdm9pZCBxdWV1ZUxvYWRpbmdTY3JpcHQoSlNT
dHJpbmdSZWYgc2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9uTG9hZGluZ1NjcmlwdChKU1N0cmlu
Z1JlZiBzY3JpcHQpOwogCiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2FpdFRv
RHVtcFdhdGNoZG9nVGltZXJJbnRlcnZhbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHAKaW5kZXggMDQwYWRiNS4uZmQ5NDIzMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTQ2Niw2ICs0NjYsMjAgQEAgdm9pZCBUZXN0SW52
b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tTdHJpbmdSZWYg
bWVzc2FnZU5hbWUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lz
RXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiUXVldWVMb2FkaW5nU2NyaXB0IikpIHsK
KyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS1N0cmluZ0dldFR5
cGVJRCgpKTsKKyAgICAgICAgV0tTdHJpbmdSZWYgc2NyaXB0ID0gc3RhdGljX2Nhc3Q8V0tTdHJp
bmdSZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLndv
cmtRdWV1ZU1hbmFnZXIoKS5xdWV1ZUxvYWRpbmdTY3JpcHQodG9XVEZTdHJpbmcoc2NyaXB0KSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4
Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlF1ZXVlTm9uTG9hZGluZ1NjcmlwdCIpKSB7CisgICAgICAg
IEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7
CisgICAgICAgIFdLU3RyaW5nUmVmIHNjcmlwdCA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPiht
ZXNzYWdlQm9keSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS53b3JrUXVldWVN
YW5hZ2VyKCkucXVldWVOb25Mb2FkaW5nU2NyaXB0KHRvV1RGU3RyaW5nKHNjcmlwdCkpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFnZXIuY3BwCmluZGV4IDFlZmE4YWQu
LjczODM1NzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFu
YWdlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Xb3JrUXVldWVNYW5hZ2VyLmNw
cApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogI2luY2x1
ZGUgIlRlc3RDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2UuaD4KKyNpbmNs
dWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTUzLDExICs1NCw0OCBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgZ29Ub0l0ZW1BdEluZGV4KGludCBpbmRleCkKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAorY2xhc3MgV29ya1F1ZXVlSXRlbSB7CitwdWJsaWM6CisgICAgZW51bSBUeXBlIHsK
KyAgICAgICAgTG9hZGluZywKKyAgICAgICAgTm9uTG9hZGluZworICAgIH07CisKKyAgICB2aXJ0
dWFsIH5Xb3JrUXVldWVJdGVtKCkgeyB9CisgICAgdmlydHVhbCBUeXBlIGludm9rZSgpIGNvbnN0
ID0gMDsKK307CisKKy8vIFJlcXVpcmVkIGJ5IFdLUGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFt
ZSgpLgorc3RhdGljIHZvaWQgcnVuSmF2YVNjcmlwdEZ1bmN0aW9uKFdLU2VyaWFsaXplZFNjcmlw
dFZhbHVlUmVmLCBXS0Vycm9yUmVmLCB2b2lkKikKK3sKK30KKwordGVtcGxhdGUgPFdvcmtRdWV1
ZUl0ZW06OlR5cGUgdHlwZT4KK2NsYXNzIFNjcmlwdEl0ZW0gOiBwdWJsaWMgV29ya1F1ZXVlSXRl
bSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgU2NyaXB0SXRlbShjb25zdCBTdHJpbmcmIHNjcmlw
dCkKKyAgICAgICAgOiBtX3NjcmlwdChBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZyhzY3JpcHQudXRmOCgpLmRhdGEoKSkpCisgICAgeworICAgIH0KKworICAgIFdvcmtRdWV1
ZUl0ZW06OlR5cGUgaW52b2tlKCkgY29uc3QKKyAgICB7CisgICAgICAgIFdLUGFnZVJ1bkphdmFT
Y3JpcHRJbk1haW5GcmFtZShtYWluUGFnZSgpLCBtX3NjcmlwdC5nZXQoKSwgMCwgcnVuSmF2YVNj
cmlwdEZ1bmN0aW9uKTsKKyAgICAgICAgcmV0dXJuIHR5cGU7CisgICAgfQorCisgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IG1fc2NyaXB0OworfTsKKwogV29ya1F1ZXVlTWFuYWdlcjo6V29y
a1F1ZXVlTWFuYWdlcigpCiAgICAgOiBtX3Byb2Nlc3NpbmcoZmFsc2UpCiB7CiB9CiAKK1dvcmtR
dWV1ZU1hbmFnZXI6On5Xb3JrUXVldWVNYW5hZ2VyKCkKK3sKK30KKwogdm9pZCBXb3JrUXVldWVN
YW5hZ2VyOjpjbGVhcldvcmtRdWV1ZSgpCiB7CiAgICAgbV9wcm9jZXNzaW5nID0gZmFsc2U7CkBA
IC02OSw3ICsxMDcsNyBAQCBib29sIFdvcmtRdWV1ZU1hbmFnZXI6OnByb2Nlc3NXb3JrUXVldWUo
KQogICAgIG1fcHJvY2Vzc2luZyA9IGZhbHNlOwogICAgIHdoaWxlICghbV9wcm9jZXNzaW5nICYm
ICFtX3dvcmtRdWV1ZS5pc0VtcHR5KCkpIHsKICAgICAgICAgT3duUHRyPFdvcmtRdWV1ZUl0ZW0+
IGl0ZW0obV93b3JrUXVldWUudGFrZUZpcnN0KCkpOwotICAgICAgICBtX3Byb2Nlc3NpbmcgPSBp
dGVtLT5pbnZva2UoKTsKKyAgICAgICAgbV9wcm9jZXNzaW5nID0gKGl0ZW0tPmludm9rZSgpID09
IFdvcmtRdWV1ZUl0ZW06OkxvYWRpbmcpOwogICAgIH0KIAogICAgIHJldHVybiAhbV9wcm9jZXNz
aW5nOwpAQCAtODUsMTUgKzEyMywxNSBAQCB2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlTG9h
ZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0YXJnZXQpCiAgICAgICAgIHsKICAg
ICAgICAgfQogCi0gICAgICAgIGJvb2wgaW52b2tlKCkgY29uc3QKKyAgICAgICAgV29ya1F1ZXVl
SXRlbTo6VHlwZSBpbnZva2UoKSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1f
dGFyZ2V0LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBVc2UgdGFyZ2V0
LiBTb21lIGxheW91dCB0ZXN0cyBjYW5ub3QgcGFzcyBhcyB0aGV5IHJlbHkgb24gdGhpcyBmdW5j
dGlvbmFsaXR5LgogICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicXVldWVMb2FkIGZv
ciBhIHNwZWNpZmljIHRhcmdldCBpcyBub3QgaW1wbGVtZW50ZWQuXG4iKTsKLSAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgcmV0dXJuIFdvcmtRdWV1ZUl0ZW06
Ok5vbkxvYWRpbmc7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBXS1BhZ2VMb2FkVVJMKG1h
aW5QYWdlKCksIG1fdXJsLmdldCgpKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICAgICAgcmV0dXJuIFdvcmtRdWV1ZUl0ZW06OkxvYWRpbmc7CiAgICAgICAgIH0KIAogICAgICAg
ICBXS1JldGFpblB0cjxXS1VSTFJlZj4gbV91cmw7CkBAIC0xMDcsOSArMTQ1LDkgQEAgdm9pZCBX
b3JrUXVldWVNYW5hZ2VyOjpxdWV1ZUJhY2tOYXZpZ2F0aW9uKHVuc2lnbmVkIGhvd0ZhckJhY2t3
YXJkKQogewogICAgIGNsYXNzIEJhY2tOYXZpZ2F0aW9uSXRlbSA6IHB1YmxpYyBXb3JrUXVldWVJ
dGVtIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEJhY2tOYXZpZ2F0aW9uSXRlbSh1bnNpZ25lZCBo
b3dGYXJCYWNrd2FyZCkgOiBtX2hvd0ZhckJhY2t3YXJkKGhvd0ZhckJhY2t3YXJkKSB7IH0KKyAg
ICAgICAgZXhwbGljaXQgQmFja05hdmlnYXRpb25JdGVtKHVuc2lnbmVkIGhvd0ZhckJhY2t3YXJk
KSA6IG1faG93RmFyQmFja3dhcmQoaG93RmFyQmFja3dhcmQpIHsgfQogCi0gICAgICAgIGJvb2wg
aW52b2tlKCkgY29uc3QgeyByZXR1cm4gZ29Ub0l0ZW1BdEluZGV4KC1tX2hvd0ZhckJhY2t3YXJk
KTsgfQorICAgICAgICBXb3JrUXVldWVJdGVtOjpUeXBlIGludm9rZSgpIGNvbnN0IHsgcmV0dXJu
IGdvVG9JdGVtQXRJbmRleCgtbV9ob3dGYXJCYWNrd2FyZCkgPyBXb3JrUXVldWVJdGVtOjpMb2Fk
aW5nIDogV29ya1F1ZXVlSXRlbTo6Tm9uTG9hZGluZzsgfQogCiAgICAgICAgIHVuc2lnbmVkIG1f
aG93RmFyQmFja3dhcmQ7CiAgICAgfTsKQEAgLTEyMSwxNiArMTU5LDI2IEBAIHZvaWQgV29ya1F1
ZXVlTWFuYWdlcjo6cXVldWVSZWxvYWQoKQogewogICAgIGNsYXNzIFJlbG9hZEl0ZW0gOiBwdWJs
aWMgV29ya1F1ZXVlSXRlbSB7CiAgICAgcHVibGljOgotICAgICAgICBib29sIGludm9rZSgpIGNv
bnN0CisgICAgICAgIFdvcmtRdWV1ZUl0ZW06OlR5cGUgaW52b2tlKCkgY29uc3QKICAgICAgICAg
ewogICAgICAgICAgICAgV0tQYWdlUmVsb2FkKG1haW5QYWdlKCkpOwotICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgICAgICByZXR1cm4gV29ya1F1ZXVlSXRlbTo6TG9hZGluZzsKICAg
ICAgICAgfQogICAgIH07CiAKICAgICBlbnF1ZXVlKG5ldyBSZWxvYWRJdGVtKCkpOwogfQogCit2
b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlTG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNj
cmlwdCkKK3sKKyAgICBlbnF1ZXVlKG5ldyBTY3JpcHRJdGVtPFdvcmtRdWV1ZUl0ZW06OkxvYWRp
bmc+KHNjcmlwdCkpOworfQorCit2b2lkIFdvcmtRdWV1ZU1hbmFnZXI6OnF1ZXVlTm9uTG9hZGlu
Z1NjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCkKK3sKKyAgICBlbnF1ZXVlKG5ldyBTY3JpcHRJ
dGVtPFdvcmtRdWV1ZUl0ZW06Ok5vbkxvYWRpbmc+KHNjcmlwdCkpOworfQorCiB2b2lkIFdvcmtR
dWV1ZU1hbmFnZXI6OmVucXVldWUoV29ya1F1ZXVlSXRlbSogaXRlbSkKIHsKICAgICBBU1NFUlQo
aXRlbSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dvcmtRdWV1ZU1hbmFn
ZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdlci5oCmluZGV4IDY2
NWM3YWIuLmI5YTIyZGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1
ZXVlTWFuYWdlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV29ya1F1ZXVlTWFuYWdl
ci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFdvcmtRdWV1ZU1hbmFnZXJfaAogI2RlZmlu
ZSBXb3JrUXVldWVNYW5hZ2VyX2gKIAotI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0zNyw2ICszNiw3IEBAIGNsYXNzIFdvcmtRdWV1
ZU1hbmFnZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtRdWV1ZU1hbmFnZXIpOwog
cHVibGljOgogICAgIFdvcmtRdWV1ZU1hbmFnZXIoKTsKKyAgICB+V29ya1F1ZXVlTWFuYWdlcigp
OwogCiAgICAgYm9vbCBpc1dvcmtRdWV1ZUVtcHR5KCkgY29uc3QgeyByZXR1cm4gbV93b3JrUXVl
dWUuaXNFbXB0eSgpOyB9CiAgICAgdm9pZCBjbGVhcldvcmtRdWV1ZSgpOwpAQCAtNDUsMTQgKzQ1
LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHF1ZXVlTG9hZChjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgU3RyaW5nJiB0YXJnZXQpOwogICAgIHZvaWQgcXVldWVCYWNrTmF2aWdhdGlvbih1bnNpZ25l
ZCBob3dGYXJCYWNrd2FyZCk7CiAgICAgdm9pZCBxdWV1ZVJlbG9hZCgpOworICAgIHZvaWQgcXVl
dWVMb2FkaW5nU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0KTsKKyAgICB2b2lkIHF1ZXVlTm9u
TG9hZGluZ1NjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdCk7CiAKLXByaXZhdGU6Ci0gICAgY2xh
c3MgV29ya1F1ZXVlSXRlbSB7Ci0gICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5Xb3JrUXVl
dWVJdGVtKCkgeyB9Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpbnZva2UoKSBjb25zdCA9IDA7IC8v
IFJldHVybnMgJ3RydWUnIGlmIHRoaXMgc3RhcnRlZCBhIGxvYWQuCi0gICAgfTsgICAgCi0gICAg
dHlwZWRlZiBEZXF1ZTxPd25QdHI8V29ya1F1ZXVlSXRlbT4gPiBXb3JrUXVldWU7Citwcml2YXRl
OiAgICAKKyAgICB0eXBlZGVmIERlcXVlPE93blB0cjxjbGFzcyBXb3JrUXVldWVJdGVtPiA+IFdv
cmtRdWV1ZTsKIAogICAgIHZvaWQgZW5xdWV1ZShXb3JrUXVldWVJdGVtKik7IC8vIEFkb3B0cyBw
b2ludGVyLgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>