<?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>107449</bug_id>
          
          <creation_ts>2013-01-21 07:16:33 -0800</creation_ts>
          <short_desc>[Qt][WK1] Web Notifications</short_desc>
          <delta_ts>2013-02-20 03:55:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</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>
          <dependson>107694</dependson>
    
    <dependson>107696</dependson>
          <blocked>88186</blocked>
    
    <blocked>103747</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>jturcotte</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>812128</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-01-21 07:16:33 -0800</bug_when>
    <thetext>Web Notifications in WebKit1 still have a few issues, among those:

requestPermission should use securityOrigin
DumpRenderTree should support testing of web notification.
requestPermission should and not ask the user if an answer is already given
A deny reply from the user should also be remember.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812129</commentid>
    <comment_count>1</comment_count>
      <attachid>183782</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-01-21 07:22:02 -0800</bug_when>
    <thetext>Created attachment 183782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812142</commentid>
    <comment_count>2</comment_count>
      <attachid>183782</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-01-21 07:49:34 -0800</bug_when>
    <thetext>Comment on attachment 183782
Patch

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

r-ing until we agree on the dumpNotification part.

&gt; Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp:-361
&gt; -    m_cachedPermissions.remove(context);
&gt; -

Could you explain why this line isn&apos;t needed, in the changelog?

&gt; Tools/DumpRenderTree/qt/TestRunnerQt.cpp:-48
&gt; -    DumpRenderTreeSupportQt::dumpNotification(true);

If we remove this, it would be better to remove all the code that this triggered in NotificationPresenterClientQt.cpp and all test expected files that relied on this.
Could this be done in a different patch as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812162</commentid>
    <comment_count>3</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-01-21 08:08:33 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 183782 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=183782&amp;action=review
&gt; 
&gt; r-ing until we agree on the dumpNotification part.
&gt; 
&gt; &gt; Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp:-361
&gt; &gt; -    m_cachedPermissions.remove(context);
&gt; &gt; -
&gt; 
&gt; Could you explain why this line isn&apos;t needed, in the changelog?
&gt; 
&gt; &gt; Tools/DumpRenderTree/qt/TestRunnerQt.cpp:-48
&gt; &gt; -    DumpRenderTreeSupportQt::dumpNotification(true);
&gt; 
&gt; If we remove this, it would be better to remove all the code that this triggered in NotificationPresenterClientQt.cpp and all test expected files that relied on this.
&gt; Could this be done in a different patch as well?

That might be a good idea. It just means all the tests would need qt-specific baselines, unless we choose not enable them yet either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812193</commentid>
    <comment_count>4</comment_count>
      <attachid>183792</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-01-21 08:34:47 -0800</bug_when>
    <thetext>Created attachment 183792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812195</commentid>
    <comment_count>5</comment_count>
      <attachid>183792</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-21 08:39:29 -0800</bug_when>
    <thetext>Comment on attachment 183792
Patch

Attachment 183792 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16042091</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812198</commentid>
    <comment_count>6</comment_count>
      <attachid>183793</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-01-21 08:51:34 -0800</bug_when>
    <thetext>Created attachment 183793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812228</commentid>
    <comment_count>7</comment_count>
      <attachid>183793</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-21 09:37:43 -0800</bug_when>
    <thetext>Comment on attachment 183793
Patch

Attachment 183793 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16031175

New failing tests:
fast/notifications/notifications-display-close-events.html
fast/notifications/notifications-click-event.html
fast/notifications/notifications-no-icon.html
fast/notifications/notifications-replace.html
fast/notifications/notifications-with-permission.html
fast/notifications/notifications-rtl.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812975</commentid>
    <comment_count>8</comment_count>
      <attachid>183975</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-01-22 05:48:30 -0800</bug_when>
    <thetext>Created attachment 183975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814169</commentid>
    <comment_count>9</comment_count>
      <attachid>183975</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-01-23 06:50:04 -0800</bug_when>
    <thetext>Comment on attachment 183975
Patch

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

&gt; Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp:381
&gt; +    m_cachedPermissions.remove(context-&gt;securityOrigin()-&gt;toRawString());

You check context-&gt;securityOrigin() in checkPermission but not here and it seems like it is exposed to the same risk, could you verify?

&gt; Tools/DumpRenderTree/qt/TestRunnerQt.cpp:-75
&gt; -    m_desktopNotificationAllowedOrigins.clear();

You should probably remove the member from the header as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837321</commentid>
    <comment_count>10</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-02-20 03:55:13 -0800</bug_when>
    <thetext>Closing bug since the split patches have landed. The last part about changing to using security-origin, is not covered by any tests, and might not even fit the existing API.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183782</attachid>
            <date>2013-01-21 07:22:02 -0800</date>
            <delta_ts>2013-01-21 08:34:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107449-20130121161820.patch</filename>
            <type>text/plain</type>
            <size>16086</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDY0N2RiYWI4NDkx
NmFkNWY5YTIyYTcxNmExOWEwYmJhNThmYjgxOGEuLjU4OTQ2YWJmMGU2YWY2ZDUxMmUxZmIyNDQ3
ZWNmMDA0ZmRmN2ZmMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzEgQEAKIDIwMTMtMDEt
MjEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKKyAg
ICAgICAgW1F0XVtXSzFdIFdlYiBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yZSB1c2VyIGRlbnkgcmVwbGllcywgZG8gbm90
IHNlbmQgcmVxdWVzdFBlcm1pc3Npb24gZm9yIG9yaWdpbnMgd2UKKyAgICAgICAgYWxyZWFkeSBo
YXZlIGEgdXNlciByZXBseSBvbi4KKworICAgICAgICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgV2Vi
S2l0MiBhbmQgdGhlIFczQyBzcGVjLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZp
Y2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0
aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlcXVlc3RQZXJtaXNzaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjaGVja1Blcm1pc3Npb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmNhbmNlbFJlcXVl
c3RzRm9yUGVybWlzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRRdDo6c2V0Tm90aWZpY2F0aW9uc0FsbG93ZWRGb3JGcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2xlYXJDYWNoZWRQZXJtaXNz
aW9ucyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xp
ZW50UXQuaDoKKyAgICAgICAgKE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0KToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwOgorICAgICAgICAoUVdlYlBh
Z2VBZGFwdGVyOjpzZXROb3RpZmljYXRpb25zQWxsb3dlZEZvckZyYW1lKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuaDoKKyAgICAgICAgKiBXaWRnZXRBcGkvcXdl
YnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2U6OnNldEZlYXR1cmVQZXJtaXNzaW9uKToKKwor
MjAxMy0wMS0yMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNv
bT4KKwogICAgICAgICBbUXRdW1dLMV0gUGVybWlzc2lvbiByZXF1ZXN0IGNhbGxiYWNrcyBmb3Ig
bm9uLWxlZ2FjeSBub3RpZmljYXRpb25zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDc0MzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNw
cAppbmRleCBkM2E2ZDc0ZTFkYWRiMDFhZmY1NzRlMDQxOTFkN2UyOTljNDFmNzVjLi43ZWY1YTQy
MDQ2N2JkZTc5YjZhNWUzY2FmNDYxZjA1YjNiZjBiZDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0LmNwcApAQCAtMzEwLDYgKzMxMCwxMyBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
bwogICAgIGlmIChkdW1wTm90aWZpY2F0aW9uKQogICAgICAgICBwcmludGYoIkRFU0tUT1AgTk9U
SUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiAlc1xuIiwgUVN0cmluZyhjb250ZXh0LT5z
ZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CiAKKyAg
ICBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IGNoZWNrUGVybWlz
c2lvbihjb250ZXh0KTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGlmIChjYWxsYmFjaykKKyAgICAgICAg
ICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAg
ICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIENhbGxiYWNrc0luZm8gPjo6aXRlcmF0
b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5maW5kKGNvbnRleHQpOwogICAg
IGlmIChpdGVyICE9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5lbmQoKSkKICAgICAgICAg
aXRlci52YWx1ZSgpLm1fdm9pZENhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2spOwpAQCAtMzMzLDYg
KzM0MCwxMyBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVy
bWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogICAgIGlmIChkdW1wTm90aWZpY2F0
aW9uKQogICAgICAgICBwcmludGYoIkRFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVR
VUVTVEVEOiAlc1xuIiwgUVN0cmluZyhjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmlu
ZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CiAKKyAgICBOb3RpZmljYXRpb25DbGllbnQ6OlBl
cm1pc3Npb24gcGVybWlzc2lvbiA9IGNoZWNrUGVybWlzc2lvbihjb250ZXh0KTsKKyAgICBpZiAo
cGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7
CisgICAgICAgIGlmIChjYWxsYmFjaykKKyAgICAgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVu
dChOb3RpZmljYXRpb246OnBlcm1pc3Npb25TdHJpbmcocGVybWlzc2lvbikpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCiAgICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIENhbGxi
YWNrc0luZm8gPjo6aXRlcmF0b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5m
aW5kKGNvbnRleHQpOwogICAgIGlmIChpdGVyICE9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0
cy5lbmQoKSkKICAgICAgICAgaXRlci52YWx1ZSgpLm1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFj
ayk7CkBAIC0zNTIsMTMgKzM2NiwxOCBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogCiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6
OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotICAg
IHJldHVybiBtX2NhY2hlZFBlcm1pc3Npb25zLnZhbHVlKGNvbnRleHQsIE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQpOworICAgIGlmICghY29udGV4dCB8fCAhY29udGV4
dC0+c2VjdXJpdHlPcmlnaW4oKSkKKyAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6
UGVybWlzc2lvbk5vdEFsbG93ZWQ7CisKKyAgICBRSGFzaDxRU3RyaW5nLCBib29sPjo6Y29uc3Rf
aXRlcmF0b3IgaXRlciA9IG1fY2FjaGVkUGVybWlzc2lvbnMuY29uc3RGaW5kKGNvbnRleHQtPnNl
Y3VyaXR5T3JpZ2luKCktPnRvUmF3U3RyaW5nKCkpOworICAgIGlmIChpdGVyICE9IG1fY2FjaGVk
UGVybWlzc2lvbnMuY29uc3RFbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0ZXIudmFsdWUoKSA/IE5v
dGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb25EZW5pZWQ7CisKKyAgICByZXR1cm4gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJt
aXNzaW9uTm90QWxsb3dlZDsKIH0KIAogdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCiB7Ci0gICAgbV9jYWNoZWRQZXJtaXNzaW9ucy5yZW1vdmUoY29udGV4dCk7Ci0KICAg
ICBRSGFzaDxTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgQ2FsbGJhY2tzSW5mbyA+OjppdGVyYXRv
ciBpdGVyID0gbV9wZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzLmZpbmQoY29udGV4dCk7CiAgICAg
aWYgKGl0ZXIgPT0gbV9wZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzLmVuZCgpKQogICAgICAgICBy
ZXR1cm47CkBAIC0zNzgsOSArMzk3LDkgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRRdDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkMKICAgICBw
YWdlLT5ub3RpZmljYXRpb25zUGVybWlzc2lvblJlcXVlc3RDYW5jZWxsZWQoZnJhbWUpOwogfQog
Ci12b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjphbGxvd05vdGlmaWNhdGlvbkZv
ckZyYW1lKEZyYW1lKiBmcmFtZSkKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6
OnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUoRnJhbWUqIGZyYW1lLCBib29sIGFsbG93
ZWQpCiB7Ci0gICAgbV9jYWNoZWRQZXJtaXNzaW9ucy5pbnNlcnQoZnJhbWUtPmRvY3VtZW50KCks
IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQpOworICAgIG1fY2FjaGVkUGVy
bWlzc2lvbnMuaW5zZXJ0KGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1Jh
d1N0cmluZygpLCBhbGxvd2VkKTsKIAogICAgIFFIYXNoPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCAgQ2FsbGJhY2tzSW5mbz46Oml0ZXJhdG9yIGl0ZXIgPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVx
dWVzdHMuYmVnaW4oKTsKICAgICB3aGlsZSAoaXRlciAhPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVx
dWVzdHMuZW5kKCkpIHsKQEAgLTM5OSwxMCArNDE4LDExIEBAIHZvaWQgTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OmFsbG93Tm90aWZpY2F0aW9uRm9yRnJhbWUoRnJhbWUqIGZyYW1lKQog
ICAgIH0KICNlbmRpZgogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQorICAgIE5vdGlmaWNhdGlv
bkNsaWVudDo6UGVybWlzc2lvbiBwZXJtaXNzaW9uID0gYWxsb3dlZCA/IE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25E
ZW5pZWQ7CiAgICAgUUxpc3Q8UmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4g
PiYgY2FsbGJhY2tzID0gaXRlci52YWx1ZSgpLm1fY2FsbGJhY2tzOwogICAgIFFfRk9SRUFDSChj
b25zdCBSZWZQdHI8Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrPiYgY2FsbGJhY2ssIGNh
bGxiYWNrcykgewogICAgICAgICBpZiAoY2FsbGJhY2spCi0gICAgICAgICAgICBjYWxsYmFjay0+
aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkFsbG93ZWQpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVF
dmVudChOb3RpZmljYXRpb246OnBlcm1pc3Npb25TdHJpbmcocGVybWlzc2lvbikpOwogICAgIH0K
ICNlbmRpZgogICAgIG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5yZW1vdmUoaXRlci5rZXko
KSk7CkBAIC00MjEsNiArNDQxLDExIEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
UXQ6OnNlbmRFdmVudChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgY29uc3QKICAgICAgICAg
bm90aWZpY2F0aW9uLT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxz
ZSwgdHJ1ZSkpOwogfQogCit2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjbGVh
ckNhY2hlZFBlcm1pc3Npb25zKCkKK3sKKyAgICBtX2NhY2hlZFBlcm1pc3Npb25zLmNsZWFyKCk7
Cit9CisKIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlbW92ZVJlcGxhY2Vk
Tm90aWZpY2F0aW9uRnJvbVF1ZXVlKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogewogICAg
IE5vdGlmaWNhdGlvbiogb2xkTm90aWZpY2F0aW9uID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaCBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xp
ZW50UXQuaAppbmRleCAyYzUyZjQzNWEwYWQ1MDllMzFhYmM5OGEyMjY0MWFmYTlhMWNkOGIyLi5j
ZGVhYjQ3ZDEwNDVhOGI0NzcwYzg2NTk0NWMwOWJjMzQyMTM4MGU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0
LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdC5oCkBAIC0xMDEsNyArMTAxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBj
YW5jZWwoTm90aWZpY2F0aW9uV3JhcHBlciopOwogCi0gICAgdm9pZCBhbGxvd05vdGlmaWNhdGlv
bkZvckZyYW1lKEZyYW1lKik7CisgICAgdm9pZCBzZXROb3RpZmljYXRpb25zQWxsb3dlZEZvckZy
YW1lKEZyYW1lKiwgYm9vbCBhbGxvd2VkKTsKIAogICAgIHN0YXRpYyBib29sIGR1bXBOb3RpZmlj
YXRpb247CiAKQEAgLTExOCw2ICsxMTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpZmljYXRp
b25DbGlja2VkKGNvbnN0IFFTdHJpbmcmIHRpdGxlKTsKICAgICB2b2lkIHNlbmREaXNwbGF5RXZl
bnQoTm90aWZpY2F0aW9uV3JhcHBlciopOwogCisgICAgdm9pZCBjbGVhckNhY2hlZFBlcm1pc3Np
b25zKCk7CisKIHByaXZhdGU6CiAgICAgdm9pZCBzZW5kRXZlbnQoTm90aWZpY2F0aW9uKiwgY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUpOwogICAgIHZvaWQgZGlzcGxheU5vdGlmaWNhdGlv
bihOb3RpZmljYXRpb24qKTsKQEAgLTEzOSw3ICsxNDEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAg
ICAgfTsKICAgICBRSGFzaDxTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgIENhbGxiYWNrc0luZm8g
PiBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHM7Ci0gICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbj4gbV9jYWNoZWRQZXJtaXNz
aW9uczsKKyAgICBRSGFzaDxRU3RyaW5nLCBib29sPiBtX2NhY2hlZFBlcm1pc3Npb25zOwogCiAg
ICAgTm90aWZpY2F0aW9uc1F1ZXVlIG1fbm90aWZpY2F0aW9uczsKICAgICBRdFBsYXRmb3JtUGx1
Z2luIG1fcGxhdGZvcm1QbHVnaW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1FXZWJQYWdlQWRhcHRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L1FXZWJQYWdlQWRhcHRlci5jcHAKaW5kZXggNjNmNDQyYTcwY2UxZGUxMGVjNzJjMDJl
YjZlZmRlMjU5NGFjZDJmOC4uOGRmYjRmZjdhNjk3MzhkM2IyNDVjODBiZmNhZTYwNDc0YzYxZTc4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFk
YXB0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VB
ZGFwdGVyLmNwcApAQCAtMTIyOCw5ICsxMjI4LDkgQEAgUVN0cmluZyBRV2ViUGFnZUFkYXB0ZXI6
OmNvbnRleHRNZW51SXRlbVRhZ0ZvckFjdGlvbihRV2ViUGFnZUFkYXB0ZXI6Ok1lbnVBY3Rpb24K
IH0KIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpCi12b2lkIFFXZWJQYWdlQWRhcHRlcjo6YWxsb3dOb3RpZmljYXRpb25zRm9yRnJhbWUo
UVdlYkZyYW1lQWRhcHRlciogZnJhbWUpCit2b2lkIFFXZWJQYWdlQWRhcHRlcjo6c2V0Tm90aWZp
Y2F0aW9uc0FsbG93ZWRGb3JGcmFtZShRV2ViRnJhbWVBZGFwdGVyKiBmcmFtZSwgYm9vbCBhbGxv
d2VkKQogewotICAgIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25Q
cmVzZW50ZXIoKS0+YWxsb3dOb3RpZmljYXRpb25Gb3JGcmFtZShmcmFtZS0+ZnJhbWUpOworICAg
IE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+
c2V0Tm90aWZpY2F0aW9uc0FsbG93ZWRGb3JGcmFtZShmcmFtZS0+ZnJhbWUsIGFsbG93ZWQpOwog
fQogCiB2b2lkIFFXZWJQYWdlQWRhcHRlcjo6YWRkTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VB
ZGFwdGVyLmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdlQWRhcHRl
ci5oCmluZGV4IDIyYTUyMTA5OWFmMDNjOTM0ZmI5ZjQ2NjgwYzY3YWVjZGM1N2ZiZGMuLjM3YjMz
OTJjZDY3MzJlMzNhNjg5NjkzNThiMmIyYzIwMmRiZjQ1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmgKKysrIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuaApAQCAtMzEyLDcgKzMxMiw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEdlb2xvY2F0aW9uRW5hYmxlZEZvckZyYW1lKFFXZWJG
cmFtZUFkYXB0ZXIqLCBib29sKTsKICNlbmRpZgogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8
fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCi0gICAgdm9pZCBhbGxvd05vdGlmaWNhdGlv
bnNGb3JGcmFtZShRV2ViRnJhbWVBZGFwdGVyKik7CisgICAgdm9pZCBzZXROb3RpZmljYXRpb25z
QWxsb3dlZEZvckZyYW1lKFFXZWJGcmFtZUFkYXB0ZXIqLCBib29sIGFsbG93ZWQpOwogICAgIHZv
aWQgYWRkTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50KCk7CiAjaWZuZGVmIFFUX05PX1NZU1RF
TVRSQVlJQ09OCiAgICAgYm9vbCBoYXNTeXN0ZW1UcmF5SWNvbigpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9XaWRnZXRBcGkvcXdlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dC9xdC9XaWRnZXRBcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGY5Y2VjM2U1NDczMjZlMjM4NmRlYjVm
NjdkMWFjMDkxN2U0MzhiYTQuLmExZmU0OWUxMzc5MjQxMGMyZTM5ZTEzMzdjM2RlMWQzYzQzZmYy
MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2lkZ2V0QXBpL3F3ZWJwYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dpZGdldEFwaS9xd2VicGFnZS5jcHAKQEAgLTE1ODQsMTEg
KzE1ODQsMTUgQEAgYm9vbCBRV2ViUGFnZTo6c2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgpCiAK
IHZvaWQgUVdlYlBhZ2U6OnNldEZlYXR1cmVQZXJtaXNzaW9uKFFXZWJGcmFtZSogZnJhbWUsIEZl
YXR1cmUgZmVhdHVyZSwgUGVybWlzc2lvblBvbGljeSBwb2xpY3kpCiB7CisjaWYgIUVOQUJMRShO
T1RJRklDQVRJT05TKSAmJiAhRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKSAmJiAhRU5BQkxF
KEdFT0xPQ0FUSU9OKQorICAgIFFfVU5VU0VEKGZyYW1lKTsKKyAgICBRX1VOVVNFRChwb2xpY3kp
OworI2VuZGlmCiAgICAgc3dpdGNoIChmZWF0dXJlKSB7CiAgICAgY2FzZSBOb3RpZmljYXRpb25z
OgogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElP
TlMpCi0gICAgICAgIGlmIChwb2xpY3kgPT0gUGVybWlzc2lvbkdyYW50ZWRCeVVzZXIpCi0gICAg
ICAgICAgICBkLT5hbGxvd05vdGlmaWNhdGlvbnNGb3JGcmFtZShmcmFtZS0+ZCk7CisgICAgICAg
IGlmIChwb2xpY3kgIT0gUGVybWlzc2lvblVua25vd24pCisgICAgICAgICAgICBkLT5zZXROb3Rp
ZmljYXRpb25zQWxsb3dlZEZvckZyYW1lKGZyYW1lLT5kLCAocG9saWN5ID09IFBlcm1pc3Npb25H
cmFudGVkQnlVc2VyKSk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHZW9sb2Nh
dGlvbjoKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCA1YmIyYjZlNzIxOWU1ZjcwNTIyMDhmOWRiYTcwZDkwOTRmZDU1ZWM0Li5lNGYwNjEwM2NjNTNj
MzYxMWUwODA4ODU1ZTcxMzE4NDVkYjY4MDY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDEtMjEgIEFsbGFu
IFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0
XVtXSzFdIFdlYiBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDc0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBEbyBub3QgZHVtcCBub3RpZmljYXRpb24gdGVzdCB0byB0aGUgY29u
c29sZS4gVGhpcyBtYWRlIHVzIGRpZmZlcmVudCBmcm9tIGJhc2VsaW5lLgorICAgICAgICBJbXBs
ZW1lbnQgZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24gYW5kIHJlbW92ZUFsbFdlYk5vdGlm
aWNhdGlvblBlcm1pc3Npb25zLgorICAgICAgICBSZW1vdmUgdW51c2VkIG1fZGVza3RvcE5vdGlm
aWNhdGlvbkFsbG93ZWRPcmlnaW5zIHZhcmlhYmxlLgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvcXQvVGVzdFJ1bm5lclF0LmNwcDoKKyAgICAgICAgKFRlc3RSdW5uZXI6OlRlc3RSdW5uZXIp
OgorICAgICAgICAoVGVzdFJ1bm5lcjo6cmVzZXQpOgorICAgICAgICAoVGVzdFJ1bm5lcjo6Z3Jh
bnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKToKKyAgICAgICAgKFRlc3RSdW5uZXI6OmRlbnlX
ZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKToKKyAgICAgICAgKFRlc3RSdW5uZXI6OnJlbW92ZUFs
bFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKToKKwogMjAxMy0wMS0yMSAgQ2hyaXN0b3BoZSBE
dW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLVFJd
IHBsYXRmb3JtUnVuVW50aWwoKSBzaG91bGQga2VlcCB0aGUgbWFpbiBsb29wIHJ1bm5pbmcKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwCmluZGV4IDRhYTQzMDQwY2VlOThk
ODRjOWIzYmQ0OGIzZDZlYWE3ODZhOTJlY2UuLjRkNjA3OGVkNDM5MTk2ODE1YTVlMzJmMjg0YWFk
ZWFlYTJmNmRhMGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5u
ZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcApA
QCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWVRdC5oIgogI2luY2x1
ZGUgIkR1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQuaCIKICNpbmNsdWRlICJXb3JrUXVldWUuaCIKICNpbmNsdWRlICJXb3Jr
UXVldWVJdGVtUXQuaCIKICNpbmNsdWRlIDxRQ29yZUFwcGxpY2F0aW9uPgpAQCAtNDUsNyArNDYs
NiBAQCBUZXN0UnVubmVyOjpUZXN0UnVubmVyKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlKiBkcnQp
CiAgICAgLCBtX3RpbWVvdXQoMzAwMDApCiB7CiAgICAgcmVzZXQoKTsKLSAgICBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6ZHVtcE5vdGlmaWNhdGlvbih0cnVlKTsKIH0KIAogdm9pZCBUZXN0UnVu
bmVyOjpyZXNldCgpCkBAIC03Miw3ICs3Miw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6cmVzZXQoKQog
ICAgIG1fd2ViSGlzdG9yeSA9IDA7CiAgICAgbV9nbG9iYWxGbGFnID0gZmFsc2U7CiAgICAgbV91
c2VyU3R5bGVTaGVldEVuYWJsZWQgPSBmYWxzZTsKLSAgICBtX2Rlc2t0b3BOb3RpZmljYXRpb25B
bGxvd2VkT3JpZ2lucy5jbGVhcigpOwogICAgIG1faWdub3JlRGVza3RvcE5vdGlmaWNhdGlvbiA9
IGZhbHNlOwogICAgIG1faXNHZW9sb2NhdGlvblBlcm1pc3Npb25TZXQgPSBmYWxzZTsKICAgICBt
X2lzUHJpbnRpbmcgPSBmYWxzZTsKQEAgLTk3LDYgKzk2LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpy
ZXNldCgpCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnJlc2V0R2VvbG9jYXRpb25Nb2Nr
KG1fZHJ0LT5wYWdlQWRhcHRlcigpKTsKICAgICBzZXRJY29uRGF0YWJhc2VFbmFibGVkKGZhbHNl
KTsKICAgICBjbGVhckFsbERhdGFiYXNlcygpOworICAgIHJlbW92ZUFsbFdlYk5vdGlmaWNhdGlv
blBlcm1pc3Npb25zKCk7CiAgICAgLy8gVGhlIGRlZmF1bHQgc3RhdGUgZm9yIERSVCBpcyB0byBi
bG9jayB0aGlyZC1wYXJ0eSBjb29raWVzLCBtaW1pY2luZyB0aGUgTWFjIHBvcnQKICAgICBzZXRB
bHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKICAgICBlbWl0IGhpZGVQYWdlKCk7CkBAIC0yMTUs
NyArMjE1LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Np
b24oY29uc3QgUVN0cmluZyYgb3JpZ2luKQogewogICAgIFFXZWJGcmFtZSogZnJhbWUgPSBtX2Ry
dC0+d2ViUGFnZSgpLT5tYWluRnJhbWUoKTsKICAgICBtX2RydC0+d2ViUGFnZSgpLT5zZXRGZWF0
dXJlUGVybWlzc2lvbihmcmFtZSwgUVdlYlBhZ2U6Ok5vdGlmaWNhdGlvbnMsIFFXZWJQYWdlOjpQ
ZXJtaXNzaW9uR3JhbnRlZEJ5VXNlcik7Ci0gICAgbV9kZXNrdG9wTm90aWZpY2F0aW9uQWxsb3dl
ZE9yaWdpbnMuYXBwZW5kKG9yaWdpbik7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6aWdub3JlTGVn
YWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKCkKQEAgLTIyNSwxMiArMjI0LDEz
IEBAIHZvaWQgVGVzdFJ1bm5lcjo6aWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RzKCkKIAogdm9pZCBUZXN0UnVubmVyOjpkZW55V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbihjb25zdCBRU3RyaW5nJiBvcmlnaW4pCiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudC4K
KyAgICBRV2ViRnJhbWUqIGZyYW1lID0gbV9kcnQtPndlYlBhZ2UoKS0+bWFpbkZyYW1lKCk7Cisg
ICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0RmVhdHVyZVBlcm1pc3Npb24oZnJhbWUsIFFXZWJQYWdl
OjpOb3RpZmljYXRpb25zLCBRV2ViUGFnZTo6UGVybWlzc2lvbkRlbmllZEJ5VXNlcik7CiB9CiAK
IHZvaWQgVGVzdFJ1bm5lcjo6cmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKQog
ewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCisgICAgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5jbGVhckNhY2hlZFBlcm1p
c3Npb25zKCk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6c2ltdWxhdGVXZWJOb3RpZmljYXRpb25D
bGljayhjb25zdCBRV2ViRWxlbWVudCYgbm90aWZpY2F0aW9uKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNmZTg0MGE5MmQ0
MjgyY2JlYjJkYjZmNjM2MzlmZTU0Njk1YzdkNDcuLjJkMmRhOWFkM2YyYTZmNzcxNjNiZjdmNjhi
Zjg2NzQyYTVlODgzM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wMS0yMSAgQWxsYW4g
U2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRd
W1dLMV0gV2ViIE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNzQ0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVuc2tpcCB0aGUgbm93IHdvcmtpbmcgdGVzdHMgaW4gaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zLiAKKyAgICAgICAgU2tpcCBmb3VyIHRlc3RzIHRoYXQgc3RpbGwgZmFp
bCBvbiBXZWJLaXQxLgorCisgICAgICAgICogcGxhdGZvcm0vcXQtNS4wLXdrMS9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMt
MDEtMjEgIEFuZHJleSBBZGFpa2luICA8YWFuZHJleUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogbW9kaWZ5IGdlbmVyYXRlX3Byb3RvY29sX2V4dGVybnMucHkgdG8gZ2Vu
ZXJhdGUgSlNPTiB0eXBlZGVmJ3MgZm9yIEBjb25zdHJ1Y3RvcnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0LTUuMC13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2NjM2ZmJjNjIyZTk1
NDY3ODhiOTAxYzljY2Q4NzlkODdlMTExNWFmLi5kZTZhMDZiYTJmYmNkNGQyMTg2NWIwYzFmZGQ0
MjI3OTAzZTcwYmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNS4wLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0xODIsMyArMTgyLDkgQEAgd2Via2l0Lm9yZy9iLzEwNTE1OCBj
b21wb3NpdGluZy90aWxpbmcvY3Jhc2gtaHVnZS1sYXllci5odG1sCiAKICMgW1F0XVtXSzFdIE5l
dyBmYXN0L2Nzcy9zdGlja3kvc3RpY2t5LXRvcC16b29tZWQuaHRtbCBmYWlscwogd2Via2l0Lm9y
Zy9iLzEwNTM5MCBmYXN0L2Nzcy9zdGlja3kvc3RpY2t5LXRvcC16b29tZWQuaHRtbAorCisjIFdl
YiBOb3RpZmljYXRpb24gdGVzdHMgZmFpbGluZyBpbiBXZWJLaXQxCitodHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvZXZlbnRzLmh0bWwgWyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvZXZlbnRzLmh0bWwgWyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy93aW5kb3ctc2hvdy1vbi1jbGljay5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwgWyBGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDM0NzhmYmZhZGRlYTI1
MTNhZWVjY2E4YmVmMDgxMDZkNjg4M2U0NjYuLjIxYTdjNjA3NmFkNTBiYmE3N2NlZGM2YWJlODJi
NmMwZDcyYTlhM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjI5MSw5ICsyMjkxLDYgQEAgc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmctY2xpcHBpbmcu
c3ZnCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTUzMAogaHR0
cC90ZXN0cy9zZWN1cml0eS9pbmFjdGl2ZS1kb2N1bWVudC13aXRoLWVtcHR5LXNlY3VyaXR5LW9y
aWdpbi5odG1sCiAKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1
NTA3Ci1odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKLQogIyBOZXcgZmFzdC9jYW52YXMvY2FudmFz
LWxpbmVEYXNoLmh0bWwgaW50cm9kdWNlZCBpbiByMTI4MTE2IGZhaWxzCiAjIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjM2MAogZmFzdC9jYW52YXMvY2FudmFzLWxp
bmVEYXNoLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183792</attachid>
            <date>2013-01-21 08:34:47 -0800</date>
            <delta_ts>2013-01-21 08:51:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107449-20130121173104.patch</filename>
            <type>text/plain</type>
            <size>21795</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDY0N2RiYWI4NDkx
NmFkNWY5YTIyYTcxNmExOWEwYmJhNThmYjgxOGEuLjc0ZTY0ODNhZTI0YjUwZDVmOTg2YmIwZjAw
ZTI4OWE5NDkwMzk4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzIgQEAKIDIwMTMtMDEt
MjEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKKyAg
ICAgICAgW1F0XVtXSzFdIFdlYiBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgd2UgYWxzbyByZW1lbWJlciB1c2VyIGRl
bnkgcGVybWlzc2lvbnMuIAorICAgICAgICBTdG9yZSB1c2VyIHBlcm1pc3Npb25zIHBlciBzZWN1
cml0eSBvcmlnaW4sIGFuZCAKKyAgICAgICAgZG8gbm90IGFzayBmb3IgcGVybWlzc2lvbnMgYWxy
ZWFkeSBnaXZlbiBvciBkZW5pZWQuCisKKyAgICAgICAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIFdl
YktpdDIgYW5kIHRoZSBXM0Mgc3BlYy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2hlY2tQZXJtaXNzaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjYW5jZWxSZXF1
ZXN0c0ZvclBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQ6OnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUpOgorICAgICAgICAo
V2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmNsZWFyQ2FjaGVkUGVybWlz
c2lvbnMpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudFF0Lmg6CisgICAgICAgIChOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdCk6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmNwcDoKKyAgICAgICAgKFFXZWJQ
YWdlQWRhcHRlcjo6c2V0Tm90aWZpY2F0aW9uc0FsbG93ZWRGb3JGcmFtZSk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmg6CisgICAgICAgICogV2lkZ2V0QXBpL3F3
ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpzZXRGZWF0dXJlUGVybWlzc2lvbik6CisK
KzIwMTMtMDEtMjEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5j
b20+CisKICAgICAgICAgW1F0XVtXSzFdIFBlcm1pc3Npb24gcmVxdWVzdCBjYWxsYmFja3MgZm9y
IG5vbi1sZWdhY3kgbm90aWZpY2F0aW9ucwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NDM4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5j
cHAKaW5kZXggZDNhNmQ3NGUxZGFkYjAxYWZmNTc0ZTA0MTkxZDdlMjk5YzQxZjc1Yy4uN2VmNWE0
MjA0NjdiZGU3OWI2YTVlM2NhZjQ2MWYwNWIzYmYwYmQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRRdC5jcHAKQEAgLTMxMCw2ICszMTAsMTMgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y28KICAgICBpZiAoZHVtcE5vdGlmaWNhdGlvbikKICAgICAgICAgcHJpbnRmKCJERVNLVE9QIE5P
VElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogJXNcbiIsIFFTdHJpbmcoY29udGV4dC0+
c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSkudG9VdGY4KCkuY29uc3REYXRhKCkpOwogCisg
ICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBjaGVja1Blcm1p
c3Npb24oY29udGV4dCk7CisgICAgaWYgKHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9uQ2xpZW50
OjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgeworICAgICAgICBpZiAoY2FsbGJhY2spCisgICAgICAg
ICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIFFIYXNoPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBDYWxsYmFja3NJbmZvID46Oml0ZXJh
dG9yIGl0ZXIgPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMuZmluZChjb250ZXh0KTsKICAg
ICBpZiAoaXRlciAhPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMuZW5kKCkpCiAgICAgICAg
IGl0ZXIudmFsdWUoKS5tX3ZvaWRDYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrKTsKQEAgLTMzMyw2
ICszNDAsMTMgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6cmVxdWVzdFBl
cm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY28KICAgICBpZiAoZHVtcE5vdGlmaWNh
dGlvbikKICAgICAgICAgcHJpbnRmKCJERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJF
UVVFU1RFRDogJXNcbiIsIFFTdHJpbmcoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJp
bmcoKSkudG9VdGY4KCkuY29uc3REYXRhKCkpOwogCisgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQ
ZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBjaGVja1Blcm1pc3Npb24oY29udGV4dCk7CisgICAgaWYg
KHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZCkg
eworICAgICAgICBpZiAoY2FsbGJhY2spCisgICAgICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZl
bnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKHBlcm1pc3Npb24pKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIFFIYXNoPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBDYWxs
YmFja3NJbmZvID46Oml0ZXJhdG9yIGl0ZXIgPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMu
ZmluZChjb250ZXh0KTsKICAgICBpZiAoaXRlciAhPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVz
dHMuZW5kKCkpCiAgICAgICAgIGl0ZXIudmFsdWUoKS5tX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJh
Y2spOwpAQCAtMzUyLDEzICszNjYsMTggQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRRdDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY28KIAogTm90
aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0
OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSAg
ICByZXR1cm4gbV9jYWNoZWRQZXJtaXNzaW9ucy52YWx1ZShjb250ZXh0LCBOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKTsKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRl
eHQtPnNlY3VyaXR5T3JpZ2luKCkpCisgICAgICAgIHJldHVybiBOb3RpZmljYXRpb25DbGllbnQ6
OlBlcm1pc3Npb25Ob3RBbGxvd2VkOworCisgICAgUUhhc2g8UVN0cmluZywgYm9vbD46OmNvbnN0
X2l0ZXJhdG9yIGl0ZXIgPSBtX2NhY2hlZFBlcm1pc3Npb25zLmNvbnN0RmluZChjb250ZXh0LT5z
ZWN1cml0eU9yaWdpbigpLT50b1Jhd1N0cmluZygpKTsKKyAgICBpZiAoaXRlciAhPSBtX2NhY2hl
ZFBlcm1pc3Npb25zLmNvbnN0RW5kKCkpCisgICAgICAgIHJldHVybiBpdGVyLnZhbHVlKCkgPyBO
b3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9uQ2xpZW50
OjpQZXJtaXNzaW9uRGVuaWVkOworCisgICAgcmV0dXJuIE5vdGlmaWNhdGlvbkNsaWVudDo6UGVy
bWlzc2lvbk5vdEFsbG93ZWQ7CiB9CiAKIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
UXQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KQogewotICAgIG1fY2FjaGVkUGVybWlzc2lvbnMucmVtb3ZlKGNvbnRleHQpOwotCiAg
ICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIENhbGxiYWNrc0luZm8gPjo6aXRlcmF0
b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5maW5kKGNvbnRleHQpOwogICAg
IGlmIChpdGVyID09IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5lbmQoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtMzc4LDkgKzM5Nyw5IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xp
ZW50UXQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25DCiAgICAg
cGFnZS0+bm90aWZpY2F0aW9uc1Blcm1pc3Npb25SZXF1ZXN0Q2FuY2VsbGVkKGZyYW1lKTsKIH0K
IAotdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6YWxsb3dOb3RpZmljYXRpb25G
b3JGcmFtZShGcmFtZSogZnJhbWUpCit2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0
OjpzZXROb3RpZmljYXRpb25zQWxsb3dlZEZvckZyYW1lKEZyYW1lKiBmcmFtZSwgYm9vbCBhbGxv
d2VkKQogewotICAgIG1fY2FjaGVkUGVybWlzc2lvbnMuaW5zZXJ0KGZyYW1lLT5kb2N1bWVudCgp
LCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKTsKKyAgICBtX2NhY2hlZFBl
cm1pc3Npb25zLmluc2VydChmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9S
YXdTdHJpbmcoKSwgYWxsb3dlZCk7CiAKICAgICBRSGFzaDxTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgIENhbGxiYWNrc0luZm8+OjppdGVyYXRvciBpdGVyID0gbV9wZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzLmJlZ2luKCk7CiAgICAgd2hpbGUgKGl0ZXIgIT0gbV9wZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzLmVuZCgpKSB7CkBAIC0zOTksMTAgKzQxOCwxMSBAQCB2b2lkIE5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudFF0OjphbGxvd05vdGlmaWNhdGlvbkZvckZyYW1lKEZyYW1lKiBmcmFtZSkK
ICAgICB9CiAjZW5kaWYKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKKyAgICBOb3RpZmljYXRp
b25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IGFsbG93ZWQgPyBOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
RGVuaWVkOwogICAgIFFMaXN0PFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2s+
ID4mIGNhbGxiYWNrcyA9IGl0ZXIudmFsdWUoKS5tX2NhbGxiYWNrczsKICAgICBRX0ZPUkVBQ0go
Y29uc3QgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjaz4mIGNhbGxiYWNrLCBj
YWxsYmFja3MpIHsKICAgICAgICAgaWYgKGNhbGxiYWNrKQotICAgICAgICAgICAgY2FsbGJhY2st
PmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmluZyhOb3RpZmljYXRpb25D
bGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSk7CisgICAgICAgICAgICBjYWxsYmFjay0+aGFuZGxl
RXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKHBlcm1pc3Npb24pKTsKICAgICB9
CiAjZW5kaWYKICAgICBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMucmVtb3ZlKGl0ZXIua2V5
KCkpOwpAQCAtNDIxLDYgKzQ0MSwxMSBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0OjpzZW5kRXZlbnQoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIGNvbnN0CiAgICAgICAg
IG5vdGlmaWNhdGlvbi0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFs
c2UsIHRydWUpKTsKIH0KIAordm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2xl
YXJDYWNoZWRQZXJtaXNzaW9ucygpCit7CisgICAgbV9jYWNoZWRQZXJtaXNzaW9ucy5jbGVhcigp
OworfQorCiB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZW1vdmVSZXBsYWNl
ZE5vdGlmaWNhdGlvbkZyb21RdWV1ZShOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKIHsKICAg
ICBOb3RpZmljYXRpb24qIG9sZE5vdGlmaWNhdGlvbiA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudFF0LmgKaW5kZXggMmM1MmY0MzVhMGFkNTA5ZTMxYWJjOThhMjI2NDFhZmE5YTFjZDhiMi4u
Y2RlYWI0N2QxMDQ1YThiNDc3MGM4NjU5NDVjMDliYzM0MjEzODBlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
Y2FuY2VsKE5vdGlmaWNhdGlvbldyYXBwZXIqKTsKIAotICAgIHZvaWQgYWxsb3dOb3RpZmljYXRp
b25Gb3JGcmFtZShGcmFtZSopOworICAgIHZvaWQgc2V0Tm90aWZpY2F0aW9uc0FsbG93ZWRGb3JG
cmFtZShGcmFtZSosIGJvb2wgYWxsb3dlZCk7CiAKICAgICBzdGF0aWMgYm9vbCBkdW1wTm90aWZp
Y2F0aW9uOwogCkBAIC0xMTgsNiArMTE4LDggQEAgcHVibGljOgogICAgIHZvaWQgbm90aWZpY2F0
aW9uQ2xpY2tlZChjb25zdCBRU3RyaW5nJiB0aXRsZSk7CiAgICAgdm9pZCBzZW5kRGlzcGxheUV2
ZW50KE5vdGlmaWNhdGlvbldyYXBwZXIqKTsKIAorICAgIHZvaWQgY2xlYXJDYWNoZWRQZXJtaXNz
aW9ucygpOworCiBwcml2YXRlOgogICAgIHZvaWQgc2VuZEV2ZW50KE5vdGlmaWNhdGlvbiosIGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKTsKICAgICB2b2lkIGRpc3BsYXlOb3RpZmljYXRp
b24oTm90aWZpY2F0aW9uKik7CkBAIC0xMzksNyArMTQxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgog
ICAgIH07CiAgICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosICBDYWxsYmFja3NJbmZv
ID4gbV9wZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzOwotICAgIFFIYXNoPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24+IG1fY2FjaGVkUGVybWlz
c2lvbnM7CisgICAgUUhhc2g8UVN0cmluZywgYm9vbD4gbV9jYWNoZWRQZXJtaXNzaW9uczsKIAog
ICAgIE5vdGlmaWNhdGlvbnNRdWV1ZSBtX25vdGlmaWNhdGlvbnM7CiAgICAgUXRQbGF0Zm9ybVBs
dWdpbiBtX3BsYXRmb3JtUGx1Z2luOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwCmluZGV4IDYzZjQ0MmE3MGNlMWRlMTBlYzcyYzAy
ZWI2ZWZkZTI1OTRhY2QyZjguLjhkZmI0ZmY3YTY5NzM4ZDNiMjQ1YzgwYmZjYWU2MDQ3NGM2MWU3
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VB
ZGFwdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdl
QWRhcHRlci5jcHAKQEAgLTEyMjgsOSArMTIyOCw5IEBAIFFTdHJpbmcgUVdlYlBhZ2VBZGFwdGVy
Ojpjb250ZXh0TWVudUl0ZW1UYWdGb3JBY3Rpb24oUVdlYlBhZ2VBZGFwdGVyOjpNZW51QWN0aW9u
CiB9CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklD
QVRJT05TKQotdm9pZCBRV2ViUGFnZUFkYXB0ZXI6OmFsbG93Tm90aWZpY2F0aW9uc0ZvckZyYW1l
KFFXZWJGcmFtZUFkYXB0ZXIqIGZyYW1lKQordm9pZCBRV2ViUGFnZUFkYXB0ZXI6OnNldE5vdGlm
aWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUoUVdlYkZyYW1lQWRhcHRlciogZnJhbWUsIGJvb2wgYWxs
b3dlZCkKIHsKLSAgICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9u
UHJlc2VudGVyKCktPmFsbG93Tm90aWZpY2F0aW9uRm9yRnJhbWUoZnJhbWUtPmZyYW1lKTsKKyAg
ICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkt
PnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUoZnJhbWUtPmZyYW1lLCBhbGxvd2VkKTsK
IH0KIAogdm9pZCBRV2ViUGFnZUFkYXB0ZXI6OmFkZE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdl
QWRhcHRlci5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0
ZXIuaAppbmRleCAyMmE1MjEwOTlhZjAzYzkzNGZiOWY0NjY4MGM2N2FlY2RjNTdmYmRjLi4zN2Iz
MzkyY2Q2NzMyZTMzYTY4OTY5MzU4YjJiMmMyMDJkYmY0NTBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdlQWRhcHRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmgKQEAgLTMxMiw3ICszMTIs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRHZW9sb2NhdGlvbkVuYWJsZWRGb3JGcmFtZShRV2Vi
RnJhbWVBZGFwdGVyKiwgYm9vbCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykg
fHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIHZvaWQgYWxsb3dOb3RpZmljYXRp
b25zRm9yRnJhbWUoUVdlYkZyYW1lQWRhcHRlciopOworICAgIHZvaWQgc2V0Tm90aWZpY2F0aW9u
c0FsbG93ZWRGb3JGcmFtZShRV2ViRnJhbWVBZGFwdGVyKiwgYm9vbCBhbGxvd2VkKTsKICAgICB2
b2lkIGFkZE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudCgpOwogI2lmbmRlZiBRVF9OT19TWVNU
RU1UUkFZSUNPTgogICAgIGJvb2wgaGFzU3lzdGVtVHJheUljb24oKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvV2lkZ2V0QXBpL3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2lkZ2V0QXBpL3F3ZWJwYWdlLmNwcAppbmRleCBmOWNlYzNlNTQ3MzI2ZTIzODZkZWI1
ZjY3ZDFhYzA5MTdlNDM4YmE0Li5hMWZlNDllMTM3OTI0MTBjMmUzOWUxMzM3YzNkZTFkM2M0M2Zm
MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dpZGdldEFwaS9xd2VicGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9XaWRnZXRBcGkvcXdlYnBhZ2UuY3BwCkBAIC0xNTg0LDEx
ICsxNTg0LDE1IEBAIGJvb2wgUVdlYlBhZ2U6OnNob3VsZEludGVycnVwdEphdmFTY3JpcHQoKQog
CiB2b2lkIFFXZWJQYWdlOjpzZXRGZWF0dXJlUGVybWlzc2lvbihRV2ViRnJhbWUqIGZyYW1lLCBG
ZWF0dXJlIGZlYXR1cmUsIFBlcm1pc3Npb25Qb2xpY3kgcG9saWN5KQogeworI2lmICFFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykgJiYgIUVOQUJM
RShHRU9MT0NBVElPTikKKyAgICBRX1VOVVNFRChmcmFtZSk7CisgICAgUV9VTlVTRUQocG9saWN5
KTsKKyNlbmRpZgogICAgIHN3aXRjaCAoZmVhdHVyZSkgewogICAgIGNhc2UgTm90aWZpY2F0aW9u
czoKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJ
T05TKQotICAgICAgICBpZiAocG9saWN5ID09IFBlcm1pc3Npb25HcmFudGVkQnlVc2VyKQotICAg
ICAgICAgICAgZC0+YWxsb3dOb3RpZmljYXRpb25zRm9yRnJhbWUoZnJhbWUtPmQpOworICAgICAg
ICBpZiAocG9saWN5ICE9IFBlcm1pc3Npb25Vbmtub3duKQorICAgICAgICAgICAgZC0+c2V0Tm90
aWZpY2F0aW9uc0FsbG93ZWRGb3JGcmFtZShmcmFtZS0+ZCwgKHBvbGljeSA9PSBQZXJtaXNzaW9u
R3JhbnRlZEJ5VXNlcikpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgR2VvbG9j
YXRpb246CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggNWJiMmI2ZTcyMTllNWY3MDUyMjA4ZjlkYmE3MGQ5MDk0ZmQ1NWVjNC4uOGY4ZDA5YThmNTNi
ODliYWJjZjE1NzAxMDQyZTMwOTQ5Y2NkMjFlMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTIxICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFtR
dF1bV0sxXSBXZWIgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRG8gbm90IGR1bXAgbm90aWZpY2F0aW9uIG91dHB1dCB0byB0aGUg
Y29uc29sZSBieSBkZWZhdWx0LCBpbnN0ZWFkIGFsbG93IHRoZSAKKyAgICAgICAgdGVzdHMgdGhh
dCBuZWVkIGl0IHRvIGVuYWJsZSBpdC4KKyAgICAgICAgSW1wbGVtZW50IGRlbnlXZWJOb3RpZmlj
YXRpb25QZXJtaXNzaW9uIGFuZCByZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucy4K
KyAgICAgICAgUmVtb3ZlIHVudXNlZCBtX2Rlc2t0b3BOb3RpZmljYXRpb25BbGxvd2VkT3JpZ2lu
cyB2YXJpYWJsZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5j
cHA6CisgICAgICAgIChUZXN0UnVubmVyOjpUZXN0UnVubmVyKToKKyAgICAgICAgKFRlc3RSdW5u
ZXI6OnJlc2V0KToKKyAgICAgICAgKFRlc3RSdW5uZXI6OmR1bXBOb3RpZmljYXRpb25zKToKKyAg
ICAgICAgKFRlc3RSdW5uZXI6OmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbik6CisgICAg
ICAgIChUZXN0UnVubmVyOjpkZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAg
IChUZXN0UnVubmVyOjpyZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9ucyk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0Lmg6CisgICAgICAgIChUZXN0UnVu
bmVyKToKKwogMjAxMy0wMS0yMSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpA
aW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLVFJdIHBsYXRmb3JtUnVuVW50aWwoKSBzaG91
bGQga2VlcCB0aGUgbWFpbiBsb29wIHJ1bm5pbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0
UnVubmVyUXQuY3BwCmluZGV4IDRhYTQzMDQwY2VlOThkODRjOWIzYmQ0OGIzZDZlYWE3ODZhOTJl
Y2UuLjc4ZGRmMzExN2RmZTljOTI5MzM2MTA5ZTQ2OTBlMjQ3ZDVlYTY1ZTYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5j
bHVkZSAiRHVtcFJlbmRlclRyZWVRdC5oIgogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaCIKICNpbmNs
dWRlICJXb3JrUXVldWUuaCIKICNpbmNsdWRlICJXb3JrUXVldWVJdGVtUXQuaCIKICNpbmNsdWRl
IDxRQ29yZUFwcGxpY2F0aW9uPgpAQCAtNDUsNyArNDYsNiBAQCBUZXN0UnVubmVyOjpUZXN0UnVu
bmVyKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlKiBkcnQpCiAgICAgLCBtX3RpbWVvdXQoMzAwMDAp
CiB7CiAgICAgcmVzZXQoKTsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcE5vdGlm
aWNhdGlvbih0cnVlKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpyZXNldCgpCkBAIC03Miw3ICs3
Miw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6cmVzZXQoKQogICAgIG1fd2ViSGlzdG9yeSA9IDA7CiAg
ICAgbV9nbG9iYWxGbGFnID0gZmFsc2U7CiAgICAgbV91c2VyU3R5bGVTaGVldEVuYWJsZWQgPSBm
YWxzZTsKLSAgICBtX2Rlc2t0b3BOb3RpZmljYXRpb25BbGxvd2VkT3JpZ2lucy5jbGVhcigpOwog
ICAgIG1faWdub3JlRGVza3RvcE5vdGlmaWNhdGlvbiA9IGZhbHNlOwogICAgIG1faXNHZW9sb2Nh
dGlvblBlcm1pc3Npb25TZXQgPSBmYWxzZTsKICAgICBtX2lzUHJpbnRpbmcgPSBmYWxzZTsKQEAg
LTk1LDEzICs5NCwyMCBAQCB2b2lkIFRlc3RSdW5uZXI6OnJlc2V0KCkKICAgICBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6ZHVtcEhpc3RvcnlDYWxsYmFja3MoZmFsc2UpOwogICAgIER1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0OjpkdW1wVmlzaXRlZExpbmtzQ2FsbGJhY2tzKGZhbHNlKTsKICAgICBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cmVzZXRHZW9sb2NhdGlvbk1vY2sobV9kcnQtPnBhZ2VB
ZGFwdGVyKCkpOworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkdW1wTm90aWZpY2F0aW9u
KGZhbHNlKTsKICAgICBzZXRJY29uRGF0YWJhc2VFbmFibGVkKGZhbHNlKTsKICAgICBjbGVhckFs
bERhdGFiYXNlcygpOworICAgIHJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7
CiAgICAgLy8gVGhlIGRlZmF1bHQgc3RhdGUgZm9yIERSVCBpcyB0byBibG9jayB0aGlyZC1wYXJ0
eSBjb29raWVzLCBtaW1pY2luZyB0aGUgTWFjIHBvcnQKICAgICBzZXRBbHdheXNBY2NlcHRDb29r
aWVzKGZhbHNlKTsKICAgICBlbWl0IGhpZGVQYWdlKCk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6
ZHVtcE5vdGlmaWNhdGlvbnMoKQoreworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkdW1w
Tm90aWZpY2F0aW9uKHRydWUpOworfQorCiB2b2lkIFRlc3RSdW5uZXI6OnByb2Nlc3NXb3JrKCkK
IHsKICAgICAvLyBxRGVidWcoKSA8PCAiPj4+cHJvY2Vzc1dvcmsiOwpAQCAtMjE1LDcgKzIyMSw2
IEBAIHZvaWQgVGVzdFJ1bm5lcjo6Z3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKGNvbnN0
IFFTdHJpbmcmIG9yaWdpbikKIHsKICAgICBRV2ViRnJhbWUqIGZyYW1lID0gbV9kcnQtPndlYlBh
Z2UoKS0+bWFpbkZyYW1lKCk7CiAgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0RmVhdHVyZVBlcm1p
c3Npb24oZnJhbWUsIFFXZWJQYWdlOjpOb3RpZmljYXRpb25zLCBRV2ViUGFnZTo6UGVybWlzc2lv
bkdyYW50ZWRCeVVzZXIpOwotICAgIG1fZGVza3RvcE5vdGlmaWNhdGlvbkFsbG93ZWRPcmlnaW5z
LmFwcGVuZChvcmlnaW4pOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6Omlnbm9yZUxlZ2FjeVdlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0cygpCkBAIC0yMjUsMTIgKzIzMCwxMyBAQCB2b2lk
IFRlc3RSdW5uZXI6Omlnbm9yZUxlZ2FjeVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
cygpCiAKIHZvaWQgVGVzdFJ1bm5lcjo6ZGVueVdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oY29u
c3QgUVN0cmluZyYgb3JpZ2luKQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCisgICAgUVdl
YkZyYW1lKiBmcmFtZSA9IG1fZHJ0LT53ZWJQYWdlKCktPm1haW5GcmFtZSgpOworICAgIG1fZHJ0
LT53ZWJQYWdlKCktPnNldEZlYXR1cmVQZXJtaXNzaW9uKGZyYW1lLCBRV2ViUGFnZTo6Tm90aWZp
Y2F0aW9ucywgUVdlYlBhZ2U6OlBlcm1pc3Npb25EZW5pZWRCeVVzZXIpOwogfQogCiB2b2lkIFRl
c3RSdW5uZXI6OnJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCkKIHsKLSAgICAv
LyBGSVhNRTogaW1wbGVtZW50LgorICAgIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+Y2xlYXJDYWNoZWRQZXJtaXNzaW9ucygp
OwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2soY29u
c3QgUVdlYkVsZW1lbnQmIG5vdGlmaWNhdGlvbikKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1
bm5lclF0LmgKaW5kZXggMjcxOTQxODhlYWY4MTg1YTk0MTVhN2VkNTYyZDY0NGY2NGYwY2Y1My4u
NmE2ODAwOWVmY2RiYjcyOTk2ZDAyNTc0YTU1MjQ5ZTE2MWU5OTIxNCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKQEAgLTEwOCw2ICsxMDgsNyBAQCBwdWJsaWMgUV9TTE9U
UzoKICAgICB2b2lkIGR1bXBEYXRhYmFzZUNhbGxiYWNrcygpIHsgbV9kdW1wRGF0YWJhc2VDYWxs
YmFja3MgPSB0cnVlOyB9CiAgICAgdm9pZCBkdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2Fs
bGJhY2tzKCkgeyBtX2R1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdhdGVDYWxsYmFja3MgPSB0cnVl
OyB9CiAgICAgdm9pZCBkdW1wU3RhdHVzQ2FsbGJhY2tzKCkgeyBtX2R1bXBTdGF0dXNDYWxsYmFj
a3MgPSB0cnVlOyB9CisgICAgdm9pZCBkdW1wTm90aWZpY2F0aW9ucygpOwogICAgIHZvaWQgc2V0
Q2FuT3BlbldpbmRvd3MoKSB7IG1fY2FuT3BlbldpbmRvd3MgPSB0cnVlOyB9CiAgICAgdm9pZCBz
ZXRQcmludGluZygpIHsgbV9pc1ByaW50aW5nID0gdHJ1ZTsgfQogICAgIHZvaWQgd2FpdFVudGls
RG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGNmZTg0MGE5MmQ0MjgyY2JlYjJkYjZmNjM2MzlmZTU0Njk1YzdkNDcu
LjM4NGM1YjcyNmJmNTNkY2VhMDIyNDk3YjZhODg1NjdiZTdlZTYxYzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAxMy0wMS0yMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2Vu
QGRpZ2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMV0gV2ViIE5vdGlmaWNhdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzQ0OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCB0aGUgbm93
IHdvcmtpbmcgdGVzdHMgaW4gaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zLiAKKyAgICAgICAgU2tp
cCBmb3VyIHRlc3RzIHRoYXQgc3RpbGwgZmFpbCBvbiBXZWJLaXQxLgorICAgICAgICBVcGRhdGUg
dGVzdHMgdGhhdCBuZWVkIG5vdGlmaWNhdGlvbnMgZHVtcHRlZC4KKworICAgICAgICAqIGZhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWw6CisgICAgICAgICog
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29uLmh0
bWw6CisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5o
dG1sOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1s
OgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlz
c2lvbi5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL3F0LTUuMC13azEvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTAxLTIx
ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IG1vZGlmeSBnZW5lcmF0ZV9wcm90b2NvbF9leHRlcm5zLnB5IHRvIGdlbmVyYXRl
IEpTT04gdHlwZWRlZidzIGZvciBAY29uc3RydWN0b3JzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRt
bAppbmRleCA1ODM2YTViYTAwNjRhZTMwMWM5YWZhZTZhODk1N2FkYzg1Y2ZkYzY4Li44ZDM4NTQ0
MDM3MDBmZGQ0NDk4ZGQ5YmEyOTIwNWVjOTA1MDNjMjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50
Lmh0bWwKQEAgLTEyLDYgKzEyLDcgQEAKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJt
aXNzaW9uKCJmaWxlOi8vIik7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwogICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICAgICAgfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRp
b25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbAppbmRleCAzMTQ3MDQ4
MGRlZjlkYjExZWU0NWVhMjllZDQ2N2E0YWIzNjJiMDljLi4yYzY2MWU4ODBmM2VjOGI1MWY1Zjc4
YmU2NzJmNGNkMzc4NWU3YTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZl
bnRzLmh0bWwKQEAgLTEyLDYgKzEyLDcgQEAKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKCJmaWxlOi8vIik7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1uby1pY29uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1uby1pY29uLmh0bWwKaW5kZXggNDg5YjdmNTAxOGVjYjBiY2I4ODhmOTUzZGM5ZDIx
MTEyMmFhZDk4My4uNmFhMTEzZWE3NjRiYzhiODI0ZGJiNjkxNjI1YzRhMjliYmM1ODNjNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8t
aWNvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLW5vLWljb24uaHRtbApAQCAtMTIsNiArMTIsNyBAQAogICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlm
aWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRp
b25zKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5v
dGlmaWNhdGlvbnMpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0
aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbAppbmRleCBlM2NkYWYyYTVhYTkyZTFlYTRi
YmYwZmY0MzQ0YTYyNzUwNDJhMDM1Li43MTg0YmE4NWVkYTM4Y2I0ZGU0ZDllYzRhM2NjYTIwNDFm
OTdkMmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1yZXBsYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25z
L25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCkBAIC0xMiw2ICsxMiw3IEBACiAgICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdy
YW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwogICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cE5vdGlmaWNhdGlvbnMoKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKCF3aW5k
b3cud2Via2l0Tm90aWZpY2F0aW9ucykgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbAppbmRleCBjNGZkZTNkNjJkNmI2NjA1
MDZkM2M1Zjc5ZWI0ZDU5MzE0ZWJkMDliLi5hYmU2YmU0Mjc2YTNhMDFlMTQ0MTIwOWUwYTU5MjMz
NzJkYmI5YTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMv
bm90aWZpY2F0aW9ucy1ydGwuaHRtbApAQCAtMTIsNiArMTIsNyBAQAogICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdl
Yk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3Rp
ZmljYXRpb25zKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICghd2luZG93Lndl
YmtpdE5vdGlmaWNhdGlvbnMpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZp
Y2F0aW9ucy9ub3RpZmljYXRpb25zLXdpdGgtcGVybWlzc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLmh0bWwKaW5k
ZXggZTBlYTNlMDFlYjJkMjViOTFmZTM0ZDhkZDAxMWY2OWM2YTI4OTgwOS4uM2QyODllOGEzZGJj
ZWNlNDNlZDQ1MDdjOGYwODQwMjYwNzY5NTUyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNz
aW9uLmh0bWwKQEAgLTEyLDYgKzEyLDcgQEAKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKCJmaWxlOi8vIik7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0aW9ucygpOwog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNjYzNmZiYzYyMmU5NTQ2Nzg4YjkwMWM5Y2NkODc5ZDg3ZTExMTVhZi4uZjYwOTlh
MmY1M2QwY2ExMzBmNTQyNzI0M2JmMWJiOTIwZTYyYTdjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQtNS4wLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0LTUuMC13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTgyLDMgKzE4Miw5IEBA
IHdlYmtpdC5vcmcvYi8xMDUxNTggY29tcG9zaXRpbmcvdGlsaW5nL2NyYXNoLWh1Z2UtbGF5ZXIu
aHRtbAogCiAjIFtRdF1bV0sxXSBOZXcgZmFzdC9jc3Mvc3RpY2t5L3N0aWNreS10b3Atem9vbWVk
Lmh0bWwgZmFpbHMKIHdlYmtpdC5vcmcvYi8xMDUzOTAgZmFzdC9jc3Mvc3RpY2t5L3N0aWNreS10
b3Atem9vbWVkLmh0bWwKKworIyBbUXRdIFdlYiBOb3RpZmljYXRpb24gdGVzdHMgZmFpbGluZyBk
dWUgdG8gbWlzc2luZyBtZXRob2RzIGluIERSVC4KK3dlYmtpdC5vcmcvYi85NTUwNyBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvZXZlbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85
NTUwNyBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvd2luZG93LXNob3ctb24tY2xpY2suaHRtbCBb
IEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk1NTA3IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvZXZlbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85NTUwNyBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwgWyBGYWls
dXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDM0Nzhm
YmZhZGRlYTI1MTNhZWVjY2E4YmVmMDgxMDZkNjg4M2U0NjYuLjIxYTdjNjA3NmFkNTBiYmE3N2Nl
ZGM2YWJlODJiNmMwZDcyYTlhM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjI5MSw5ICsyMjkxLDYgQEAgc3ZnL2N1c3RvbS9jbGFtcGVkLW1hc2tpbmct
Y2xpcHBpbmcuc3ZnCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NTUzMAogaHR0cC90ZXN0cy9zZWN1cml0eS9pbmFjdGl2ZS1kb2N1bWVudC13aXRoLWVtcHR5LXNl
Y3VyaXR5LW9yaWdpbi5odG1sCiAKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk1NTA3Ci1odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKLQogIyBOZXcgZmFzdC9jYW52
YXMvY2FudmFzLWxpbmVEYXNoLmh0bWwgaW50cm9kdWNlZCBpbiByMTI4MTE2IGZhaWxzCiAjIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjM2MAogZmFzdC9jYW52YXMv
Y2FudmFzLWxpbmVEYXNoLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183793</attachid>
            <date>2013-01-21 08:51:34 -0800</date>
            <delta_ts>2013-01-22 05:48:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107449-20130121174752.patch</filename>
            <type>text/plain</type>
            <size>23210</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMzM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDY0N2RiYWI4NDkx
NmFkNWY5YTIyYTcxNmExOWEwYmJhNThmYjgxOGEuLjk4NDY3MzkzMTg2M2IzYzcyNDc4NWMyZjI5
Y2VhNjRkM2YxOTVjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzYgQEAKIDIwMTMtMDEt
MjEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKKyAg
ICAgICAgW1F0XVtXSzFdIFdlYiBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgd2UgYWxzbyByZW1lbWJlciB1c2VyIGRl
bnkgcGVybWlzc2lvbnMuIAorICAgICAgICBTdG9yZSB1c2VyIHBlcm1pc3Npb25zIHBlciBzZWN1
cml0eSBvcmlnaW4sIGFuZCAKKyAgICAgICAgZG8gbm90IGFzayBmb3IgcGVybWlzc2lvbnMgYWxy
ZWFkeSBnaXZlbiBvciBkZW5pZWQuCisKKyAgICAgICAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIFdl
YktpdDIgYW5kIHRoZSBXM0Mgc3BlYy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpjbGVhck5vdGlmaWNhdGlvblBlcm1pc3Npb25zKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2hlY2tQZXJtaXNzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjYW5jZWxS
ZXF1ZXN0c0ZvclBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmNsZWFyQ2FjaGVkUGVy
bWlzc2lvbnMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaDoKKyAgICAgICAgKE5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudFF0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0
ZXIuY3BwOgorICAgICAgICAoUVdlYlBhZ2VBZGFwdGVyOjpzZXROb3RpZmljYXRpb25zQWxsb3dl
ZEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuaDoK
KyAgICAgICAgKiBXaWRnZXRBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2U6OnNl
dEZlYXR1cmVQZXJtaXNzaW9uKToKKworMjAxMy0wMS0yMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2Vu
ICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KKwogICAgICAgICBbUXRdW1dLMV0gUGVybWlzc2lv
biByZXF1ZXN0IGNhbGxiYWNrcyBmb3Igbm9uLWxlZ2FjeSBub3RpZmljYXRpb25zCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc0MzgKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmNwcAppbmRleCAzM2E0ZDI0Y2RlZTkwNDFhM2MzNzc3ZDdiN2I1MmI1NTQ5YzZh
YmUzLi5mMTcwOWUxZjNjZTFjNjNiYjkxYmUyNjZkM2Q1MmEzMmMzYTNjMTc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmNwcApAQCAtMTA2NiwzICsxMDY2LDggQEAgUVN0cmluZyBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdDo6ZnJhbWVSZW5kZXJUcmVlRHVtcChRV2ViRnJhbWVBZGFwdGVyKiBhZGFwdGVy
KQogCiAgICAgcmV0dXJuIGV4dGVybmFsUmVwcmVzZW50YXRpb24oYWRhcHRlci0+ZnJhbWUpOwog
fQorCit2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpjbGVhck5vdGlmaWNhdGlvblBlcm1p
c3Npb25zKCkKK3sKKyAgICBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6
bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmNsZWFyQ2FjaGVkUGVybWlzc2lvbnMoKTsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuaAppbmRleCBlZGRiMTA4NmUzNTE1NTUwMWE2MGZjOWFhMWRmZDk5ODAxYTI3
ZWY1Li4yNTIyZmFiYjJjMDU4NTAxMTBjYTRkNGU4ODUyYTAwYzUwMzQ3YTY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdC5oCkBAIC0yMTcsNiArMjE3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNl
dFNlYW1sZXNzSUZyYW1lc0VuYWJsZWQoYm9vbCk7CiAKICAgICBzdGF0aWMgUVN0cmluZyBmcmFt
ZVJlbmRlclRyZWVEdW1wKFFXZWJGcmFtZUFkYXB0ZXIqKTsKKyAgICBzdGF0aWMgdm9pZCBjbGVh
ck5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CiB9OwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdC5jcHAKaW5kZXggZDNhNmQ3NGUxZGFkYjAxYWZmNTc0ZTA0MTkxZDdlMjk5
YzQxZjc1Yy4uYTk0YjA0YzNhMmE1YjhjNTM2NThiYjQ3ZTAxNzE2YmE1YWYxZjIzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHAKQEAgLTMxMCw2ICszMTAsMTMgQEAgdm9pZCBO
b3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY28KICAgICBpZiAoZHVtcE5vdGlmaWNhdGlvbikKICAgICAgICAgcHJp
bnRmKCJERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogJXNcbiIsIFFT
dHJpbmcoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSkudG9VdGY4KCkuY29u
c3REYXRhKCkpOwogCisgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Np
b24gPSBjaGVja1Blcm1pc3Npb24oY29udGV4dCk7CisgICAgaWYgKHBlcm1pc3Npb24gIT0gTm90
aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZCkgeworICAgICAgICBpZiAoY2Fs
bGJhY2spCisgICAgICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIFFIYXNoPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBDYWxsYmFj
a3NJbmZvID46Oml0ZXJhdG9yIGl0ZXIgPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMuZmlu
ZChjb250ZXh0KTsKICAgICBpZiAoaXRlciAhPSBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMu
ZW5kKCkpCiAgICAgICAgIGl0ZXIudmFsdWUoKS5tX3ZvaWRDYWxsYmFja3MuYXBwZW5kKGNhbGxi
YWNrKTsKQEAgLTMzMyw2ICszNDAsMTMgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRRdDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY28KICAgICBp
ZiAoZHVtcE5vdGlmaWNhdGlvbikKICAgICAgICAgcHJpbnRmKCJERVNLVE9QIE5PVElGSUNBVElP
TiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogJXNcbiIsIFFTdHJpbmcoY29udGV4dC0+c2VjdXJpdHlP
cmlnaW4oKS0+dG9TdHJpbmcoKSkudG9VdGY4KCkuY29uc3REYXRhKCkpOwogCisgICAgTm90aWZp
Y2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBjaGVja1Blcm1pc3Npb24oY29u
dGV4dCk7CisgICAgaWYgKHBlcm1pc3Npb24gIT0gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNz
aW9uTm90QWxsb3dlZCkgeworICAgICAgICBpZiAoY2FsbGJhY2spCisgICAgICAgICAgICBjYWxs
YmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKHBlcm1pc3Np
b24pKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFFIYXNoPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBDYWxsYmFja3NJbmZvID46Oml0ZXJhdG9yIGl0ZXIgPSBtX3BlbmRpbmdQZXJt
aXNzaW9uUmVxdWVzdHMuZmluZChjb250ZXh0KTsKICAgICBpZiAoaXRlciAhPSBtX3BlbmRpbmdQ
ZXJtaXNzaW9uUmVxdWVzdHMuZW5kKCkpCiAgICAgICAgIGl0ZXIudmFsdWUoKS5tX2NhbGxiYWNr
cy5hcHBlbmQoY2FsbGJhY2spOwpAQCAtMzUyLDEyICszNjYsMTkgQEAgdm9pZCBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdDo6cmVxdWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY28KIAogTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIE5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudFF0OjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkKIHsKLSAgICByZXR1cm4gbV9jYWNoZWRQZXJtaXNzaW9ucy52YWx1ZShjb250ZXh0
LCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKTsKKyAgICBpZiAoIWNv
bnRleHQgfHwgIWNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpCisgICAgICAgIHJldHVybiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkOworCisgICAgUUhhc2g8UVN0cmlu
ZywgYm9vbD46OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBtX2NhY2hlZFBlcm1pc3Npb25zLmNvbnN0
RmluZChjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT50b1Jhd1N0cmluZygpKTsKKyAgICBpZiAo
aXRlciAhPSBtX2NhY2hlZFBlcm1pc3Npb25zLmNvbnN0RW5kKCkpCisgICAgICAgIHJldHVybiBp
dGVyLnZhbHVlKCkgPyBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90
aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uRGVuaWVkOworCisgICAgcmV0dXJuIE5vdGlmaWNh
dGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQ7CiB9CiAKIHZvaWQgTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQogewotICAgIG1fY2FjaGVkUGVybWlzc2lvbnMucmVtb3Zl
KGNvbnRleHQpOworICAgIG1fY2FjaGVkUGVybWlzc2lvbnMucmVtb3ZlKGNvbnRleHQtPnNlY3Vy
aXR5T3JpZ2luKCktPnRvUmF3U3RyaW5nKCkpOwogCiAgICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIENhbGxiYWNrc0luZm8gPjo6aXRlcmF0b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1p
c3Npb25SZXF1ZXN0cy5maW5kKGNvbnRleHQpOwogICAgIGlmIChpdGVyID09IG1fcGVuZGluZ1Bl
cm1pc3Npb25SZXF1ZXN0cy5lbmQoKSkKQEAgLTM3OCw5ICszOTksOSBAQCB2b2lkIE5vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0OjpjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0
RXhlY3V0aW9uQwogICAgIHBhZ2UtPm5vdGlmaWNhdGlvbnNQZXJtaXNzaW9uUmVxdWVzdENhbmNl
bGxlZChmcmFtZSk7CiB9CiAKLXZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmFs
bG93Tm90aWZpY2F0aW9uRm9yRnJhbWUoRnJhbWUqIGZyYW1lKQordm9pZCBOb3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdDo6c2V0Tm90aWZpY2F0aW9uc0FsbG93ZWRGb3JGcmFtZShGcmFtZSog
ZnJhbWUsIGJvb2wgYWxsb3dlZCkKIHsKLSAgICBtX2NhY2hlZFBlcm1pc3Npb25zLmluc2VydChm
cmFtZS0+ZG9jdW1lbnQoKSwgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCk7
CisgICAgbV9jYWNoZWRQZXJtaXNzaW9ucy5pbnNlcnQoZnJhbWUtPmRvY3VtZW50KCktPnNlY3Vy
aXR5T3JpZ2luKCktPnRvUmF3U3RyaW5nKCksIGFsbG93ZWQpOwogCiAgICAgUUhhc2g8U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosICBDYWxsYmFja3NJbmZvPjo6aXRlcmF0b3IgaXRlciA9IG1fcGVu
ZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5iZWdpbigpOwogICAgIHdoaWxlIChpdGVyICE9IG1fcGVu
ZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5lbmQoKSkgewpAQCAtMzk5LDEwICs0MjAsMTEgQEAgdm9p
ZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6YWxsb3dOb3RpZmljYXRpb25Gb3JGcmFt
ZShGcmFtZSogZnJhbWUpCiAgICAgfQogI2VuZGlmCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMp
CisgICAgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uIHBlcm1pc3Npb24gPSBhbGxvd2Vk
ID8gTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCA6IE5vdGlmaWNhdGlvbkNs
aWVudDo6UGVybWlzc2lvbkRlbmllZDsKICAgICBRTGlzdDxSZWZQdHI8Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrPiA+JiBjYWxsYmFja3MgPSBpdGVyLnZhbHVlKCkubV9jYWxsYmFja3M7
CiAgICAgUV9GT1JFQUNIKGNvbnN0IFJlZlB0cjxOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJh
Y2s+JiBjYWxsYmFjaywgY2FsbGJhY2tzKSB7CiAgICAgICAgIGlmIChjYWxsYmFjaykKLSAgICAg
ICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnBlcm1pc3Npb25TdHJp
bmcoTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9uQWxsb3dlZCkpOworICAgICAgICAgICAg
Y2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmluZyhwZXJt
aXNzaW9uKSk7CiAgICAgfQogI2VuZGlmCiAgICAgbV9wZW5kaW5nUGVybWlzc2lvblJlcXVlc3Rz
LnJlbW92ZShpdGVyLmtleSgpKTsKQEAgLTQyMSw2ICs0NDMsMTEgQEAgdm9pZCBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdDo6c2VuZEV2ZW50KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9u
LCBjb25zdAogICAgICAgICBub3RpZmljYXRpb24tPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWUsIGZhbHNlLCB0cnVlKSk7CiB9CiAKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQ6OmNsZWFyQ2FjaGVkUGVybWlzc2lvbnMoKQoreworICAgIG1fY2FjaGVkUGVy
bWlzc2lvbnMuY2xlYXIoKTsKK30KKwogdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dDo6cmVtb3ZlUmVwbGFjZWROb3RpZmljYXRpb25Gcm9tUXVldWUoTm90aWZpY2F0aW9uKiBub3Rp
ZmljYXRpb24pCiB7CiAgICAgTm90aWZpY2F0aW9uKiBvbGROb3RpZmljYXRpb24gPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRRdC5oCmluZGV4IDJjNTJmNDM1YTBhZDUwOWUzMWFiYzk4YTIy
NjQxYWZhOWExY2Q4YjIuLmNkZWFiNDdkMTA0NWE4YjQ3NzBjODY1OTQ1YzA5YmMzNDIxMzgwZTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGNhbmNlbChOb3RpZmljYXRpb25XcmFwcGVyKik7CiAKLSAgICB2b2lk
IGFsbG93Tm90aWZpY2F0aW9uRm9yRnJhbWUoRnJhbWUqKTsKKyAgICB2b2lkIHNldE5vdGlmaWNh
dGlvbnNBbGxvd2VkRm9yRnJhbWUoRnJhbWUqLCBib29sIGFsbG93ZWQpOwogCiAgICAgc3RhdGlj
IGJvb2wgZHVtcE5vdGlmaWNhdGlvbjsKIApAQCAtMTE4LDYgKzExOCw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIG5vdGlmaWNhdGlvbkNsaWNrZWQoY29uc3QgUVN0cmluZyYgdGl0bGUpOwogICAgIHZv
aWQgc2VuZERpc3BsYXlFdmVudChOb3RpZmljYXRpb25XcmFwcGVyKik7CiAKKyAgICB2b2lkIGNs
ZWFyQ2FjaGVkUGVybWlzc2lvbnMoKTsKKwogcHJpdmF0ZToKICAgICB2b2lkIHNlbmRFdmVudChO
b3RpZmljYXRpb24qLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSk7CiAgICAgdm9pZCBk
aXNwbGF5Tm90aWZpY2F0aW9uKE5vdGlmaWNhdGlvbiopOwpAQCAtMTM5LDcgKzE0MSw3IEBAIHBy
aXZhdGU6CiAjZW5kaWYKICAgICB9OwogICAgIFFIYXNoPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCAgQ2FsbGJhY2tzSW5mbyA+IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0czsKLSAgICBRSGFz
aDxTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTm90aWZpY2F0aW9uQ2xpZW50OjpQZXJtaXNzaW9u
PiBtX2NhY2hlZFBlcm1pc3Npb25zOworICAgIFFIYXNoPFFTdHJpbmcsIGJvb2w+IG1fY2FjaGVk
UGVybWlzc2lvbnM7CiAKICAgICBOb3RpZmljYXRpb25zUXVldWUgbV9ub3RpZmljYXRpb25zOwog
ICAgIFF0UGxhdGZvcm1QbHVnaW4gbV9wbGF0Zm9ybVBsdWdpbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmNwcAppbmRleCA2M2Y0NDJh
NzBjZTFkZTEwZWM3MmMwMmViNmVmZGUyNTk0YWNkMmY4Li44ZGZiNGZmN2E2OTczOGQzYjI0NWM4
MGJmY2FlNjA0NzRjNjFlNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L1FXZWJQYWdlQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwCkBAIC0xMjI4LDkgKzEyMjgsOSBAQCBRU3RyaW5n
IFFXZWJQYWdlQWRhcHRlcjo6Y29udGV4dE1lbnVJdGVtVGFnRm9yQWN0aW9uKFFXZWJQYWdlQWRh
cHRlcjo6TWVudUFjdGlvbgogfQogCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLXZvaWQgUVdlYlBhZ2VBZGFwdGVyOjphbGxvd05vdGlm
aWNhdGlvbnNGb3JGcmFtZShRV2ViRnJhbWVBZGFwdGVyKiBmcmFtZSkKK3ZvaWQgUVdlYlBhZ2VB
ZGFwdGVyOjpzZXROb3RpZmljYXRpb25zQWxsb3dlZEZvckZyYW1lKFFXZWJGcmFtZUFkYXB0ZXIq
IGZyYW1lLCBib29sIGFsbG93ZWQpCiB7Ci0gICAgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5hbGxvd05vdGlmaWNhdGlvbkZvckZyYW1lKGZy
YW1lLT5mcmFtZSk7CisgICAgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNh
dGlvblByZXNlbnRlcigpLT5zZXROb3RpZmljYXRpb25zQWxsb3dlZEZvckZyYW1lKGZyYW1lLT5m
cmFtZSwgYWxsb3dlZCk7CiB9CiAKIHZvaWQgUVdlYlBhZ2VBZGFwdGVyOjphZGROb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvUVdlYlBhZ2VBZGFwdGVyLmgKaW5kZXggMjJhNTIxMDk5YWYwM2M5MzRmYjlmNDY2ODBjNjdh
ZWNkYzU3ZmJkYy4uMzdiMzM5MmNkNjczMmUzM2E2ODk2OTM1OGIyYjJjMjAyZGJmNDUwYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdlQWRhcHRlci5o
CkBAIC0zMTIsNyArMzEyLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0R2VvbG9jYXRpb25FbmFi
bGVkRm9yRnJhbWUoUVdlYkZyYW1lQWRhcHRlciosIGJvb2wpOwogI2VuZGlmCiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICB2b2lk
IGFsbG93Tm90aWZpY2F0aW9uc0ZvckZyYW1lKFFXZWJGcmFtZUFkYXB0ZXIqKTsKKyAgICB2b2lk
IHNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUoUVdlYkZyYW1lQWRhcHRlciosIGJvb2wg
YWxsb3dlZCk7CiAgICAgdm9pZCBhZGROb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnQoKTsKICNp
Zm5kZWYgUVRfTk9fU1lTVEVNVFJBWUlDT04KICAgICBib29sIGhhc1N5c3RlbVRyYXlJY29uKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dpZGdldEFwaS9xd2VicGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dpZGdldEFwaS9xd2VicGFnZS5jcHAKaW5kZXggZjljZWMz
ZTU0NzMyNmUyMzg2ZGViNWY2N2QxYWMwOTE3ZTQzOGJhNC4uYTFmZTQ5ZTEzNzkyNDEwYzJlMzll
MTMzN2MzZGUxZDNjNDNmZjIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XaWRnZXRB
cGkvcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2lkZ2V0QXBpL3F3ZWJwYWdl
LmNwcApAQCAtMTU4NCwxMSArMTU4NCwxNSBAQCBib29sIFFXZWJQYWdlOjpzaG91bGRJbnRlcnJ1
cHRKYXZhU2NyaXB0KCkKIAogdm9pZCBRV2ViUGFnZTo6c2V0RmVhdHVyZVBlcm1pc3Npb24oUVdl
YkZyYW1lKiBmcmFtZSwgRmVhdHVyZSBmZWF0dXJlLCBQZXJtaXNzaW9uUG9saWN5IHBvbGljeSkK
IHsKKyNpZiAhRU5BQkxFKE5PVElGSUNBVElPTlMpICYmICFFTkFCTEUoTEVHQUNZX05PVElGSUNB
VElPTlMpICYmICFFTkFCTEUoR0VPTE9DQVRJT04pCisgICAgUV9VTlVTRUQoZnJhbWUpOworICAg
IFFfVU5VU0VEKHBvbGljeSk7CisjZW5kaWYKICAgICBzd2l0Y2ggKGZlYXR1cmUpIHsKICAgICBj
YXNlIE5vdGlmaWNhdGlvbnM6CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShM
RUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICAgICAgaWYgKHBvbGljeSA9PSBQZXJtaXNzaW9uR3Jh
bnRlZEJ5VXNlcikKLSAgICAgICAgICAgIGQtPmFsbG93Tm90aWZpY2F0aW9uc0ZvckZyYW1lKGZy
YW1lLT5kKTsKKyAgICAgICAgaWYgKHBvbGljeSAhPSBQZXJtaXNzaW9uVW5rbm93bikKKyAgICAg
ICAgICAgIGQtPnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUoZnJhbWUtPmQsIChwb2xp
Y3kgPT0gUGVybWlzc2lvbkdyYW50ZWRCeVVzZXIpKTsKICNlbmRpZgogICAgICAgICBicmVhazsK
ICAgICBjYXNlIEdlb2xvY2F0aW9uOgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGYxZjMxYzBmMTk1ZTQ1NThkYzNmZWFjZWU4ZDlkOGMwODc2YTgw
NGMuLjhhNjNhNjQyYjljODBlNGRiMzk2OTQ3OGFhZTcwYTdkOTJlYzk2NTggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAor
MjAxMy0wMS0yMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNv
bT4KKworICAgICAgICBbUXRdW1dLMV0gV2ViIE5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzQ0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIG5vdCBkdW1wIG5vdGlmaWNhdGlv
biBvdXRwdXQgdG8gdGhlIGNvbnNvbGUgYnkgZGVmYXVsdCwgaW5zdGVhZCBhbGxvdyB0aGUgCisg
ICAgICAgIHRlc3RzIHRoYXQgbmVlZCBpdCB0byBlbmFibGUgaXQuCisgICAgICAgIEltcGxlbWVu
dCBkZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbiBhbmQgcmVtb3ZlQWxsV2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbnMuCisgICAgICAgIFJlbW92ZSB1bnVzZWQgbV9kZXNrdG9wTm90aWZpY2F0
aW9uQWxsb3dlZE9yaWdpbnMgdmFyaWFibGUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9x
dC9UZXN0UnVubmVyUXQuY3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6VGVzdFJ1bm5lcik6Cisg
ICAgICAgIChUZXN0UnVubmVyOjpyZXNldCk6CisgICAgICAgIChUZXN0UnVubmVyOjpkdW1wTm90
aWZpY2F0aW9ucyk6CisgICAgICAgIChUZXN0UnVubmVyOjpncmFudFdlYk5vdGlmaWNhdGlvblBl
cm1pc3Npb24pOgorICAgICAgICAoVGVzdFJ1bm5lcjo6ZGVueVdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb24pOgorICAgICAgICAoVGVzdFJ1bm5lcjo6cmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oOgor
ICAgICAgICAoVGVzdFJ1bm5lcik6CisKIDIwMTMtMDEtMjEgIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGduc0Bnbm9tZS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE0MDI4NSk6IEdUSyB1
c2VzIFdLUGFnZVJlc291cmNlTG9hZENsaWVudCB3aGljaCB3YXMgcmVtb3ZlZApkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKaW5kZXggNGFhNDMwNDBjZWU5OGQ4NGM5YjNi
ZDQ4YjNkNmVhYTc4NmE5MmVjZS4uMDkyMzU0NjUzMzk2YWJhMzZjMjZlYTJmZDJmMzE5YTdlNGRk
YTQ1NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNw
cAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwCkBAIC0zMSw2
ICszMSw3IEBACiAKICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZVF0LmgiCiAjaW5jbHVkZSAiRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQuaCIKKyNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXJD
bGllbnRRdC5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZS5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZUl0
ZW1RdC5oIgogI2luY2x1ZGUgPFFDb3JlQXBwbGljYXRpb24+CkBAIC00NSw3ICs0Niw2IEBAIFRl
c3RSdW5uZXI6OlRlc3RSdW5uZXIoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWUqIGRydCkKICAgICAs
IG1fdGltZW91dCgzMDAwMCkKIHsKICAgICByZXNldCgpOwotICAgIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0OjpkdW1wTm90aWZpY2F0aW9uKHRydWUpOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnJl
c2V0KCkKQEAgLTcyLDcgKzcyLDYgQEAgdm9pZCBUZXN0UnVubmVyOjpyZXNldCgpCiAgICAgbV93
ZWJIaXN0b3J5ID0gMDsKICAgICBtX2dsb2JhbEZsYWcgPSBmYWxzZTsKICAgICBtX3VzZXJTdHls
ZVNoZWV0RW5hYmxlZCA9IGZhbHNlOwotICAgIG1fZGVza3RvcE5vdGlmaWNhdGlvbkFsbG93ZWRP
cmlnaW5zLmNsZWFyKCk7CiAgICAgbV9pZ25vcmVEZXNrdG9wTm90aWZpY2F0aW9uID0gZmFsc2U7
CiAgICAgbV9pc0dlb2xvY2F0aW9uUGVybWlzc2lvblNldCA9IGZhbHNlOwogICAgIG1faXNQcmlu
dGluZyA9IGZhbHNlOwpAQCAtOTUsMTMgKzk0LDIwIEBAIHZvaWQgVGVzdFJ1bm5lcjo6cmVzZXQo
KQogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkdW1wSGlzdG9yeUNhbGxiYWNrcyhmYWxz
ZSk7CiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBWaXNpdGVkTGlua3NDYWxsYmFj
a3MoZmFsc2UpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpyZXNldEdlb2xvY2F0aW9u
TW9jayhtX2RydC0+cGFnZUFkYXB0ZXIoKSk7CisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6
OmR1bXBOb3RpZmljYXRpb24oZmFsc2UpOwogICAgIHNldEljb25EYXRhYmFzZUVuYWJsZWQoZmFs
c2UpOwogICAgIGNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgcmVtb3ZlQWxsV2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbnMoKTsKICAgICAvLyBUaGUgZGVmYXVsdCBzdGF0ZSBmb3IgRFJUIGlzIHRv
IGJsb2NrIHRoaXJkLXBhcnR5IGNvb2tpZXMsIG1pbWljaW5nIHRoZSBNYWMgcG9ydAogICAgIHNl
dEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2UpOwogICAgIGVtaXQgaGlkZVBhZ2UoKTsKIH0KIAor
dm9pZCBUZXN0UnVubmVyOjpkdW1wTm90aWZpY2F0aW9ucygpCit7CisgICAgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQ6OmR1bXBOb3RpZmljYXRpb24odHJ1ZSk7Cit9CisKIHZvaWQgVGVzdFJ1bm5l
cjo6cHJvY2Vzc1dvcmsoKQogewogICAgIC8vIHFEZWJ1ZygpIDw8ICI+Pj5wcm9jZXNzV29yayI7
CkBAIC0yMTUsNyArMjIxLDYgQEAgdm9pZCBUZXN0UnVubmVyOjpncmFudFdlYk5vdGlmaWNhdGlv
blBlcm1pc3Npb24oY29uc3QgUVN0cmluZyYgb3JpZ2luKQogewogICAgIFFXZWJGcmFtZSogZnJh
bWUgPSBtX2RydC0+d2ViUGFnZSgpLT5tYWluRnJhbWUoKTsKICAgICBtX2RydC0+d2ViUGFnZSgp
LT5zZXRGZWF0dXJlUGVybWlzc2lvbihmcmFtZSwgUVdlYlBhZ2U6Ok5vdGlmaWNhdGlvbnMsIFFX
ZWJQYWdlOjpQZXJtaXNzaW9uR3JhbnRlZEJ5VXNlcik7Ci0gICAgbV9kZXNrdG9wTm90aWZpY2F0
aW9uQWxsb3dlZE9yaWdpbnMuYXBwZW5kKG9yaWdpbik7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6
aWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKCkKQEAgLTIyNSwx
MiArMjMwLDEzIEBAIHZvaWQgVGVzdFJ1bm5lcjo6aWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RzKCkKIAogdm9pZCBUZXN0UnVubmVyOjpkZW55V2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbihjb25zdCBRU3RyaW5nJiBvcmlnaW4pCiB7Ci0gICAgLy8gRklYTUU6IGlt
cGxlbWVudC4KKyAgICBRV2ViRnJhbWUqIGZyYW1lID0gbV9kcnQtPndlYlBhZ2UoKS0+bWFpbkZy
YW1lKCk7CisgICAgbV9kcnQtPndlYlBhZ2UoKS0+c2V0RmVhdHVyZVBlcm1pc3Npb24oZnJhbWUs
IFFXZWJQYWdlOjpOb3RpZmljYXRpb25zLCBRV2ViUGFnZTo6UGVybWlzc2lvbkRlbmllZEJ5VXNl
cik7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6cmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbnMoKQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCisgICAgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OmNsZWFyTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKIH0KIAogdm9pZCBUZXN0
UnVubmVyOjpzaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKGNvbnN0IFFXZWJFbGVtZW50JiBu
b3RpZmljYXRpb24pCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVu
bmVyUXQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oCmluZGV4IDI3
MTk0MTg4ZWFmODE4NWE5NDE1YTdlZDU2MmQ2NDRmNjRmMGNmNTMuLjZhNjgwMDllZmNkYmI3Mjk5
NmQwMjU3NGE1NTI0OWUxNjFlOTkyMTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L1Rlc3RSdW5uZXJRdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5u
ZXJRdC5oCkBAIC0xMDgsNiArMTA4LDcgQEAgcHVibGljIFFfU0xPVFM6CiAgICAgdm9pZCBkdW1w
RGF0YWJhc2VDYWxsYmFja3MoKSB7IG1fZHVtcERhdGFiYXNlQ2FsbGJhY2tzID0gdHJ1ZTsgfQog
ICAgIHZvaWQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNhbGxiYWNrcygpIHsgbV9kdW1w
QXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVt
cFN0YXR1c0NhbGxiYWNrcygpIHsgbV9kdW1wU3RhdHVzQ2FsbGJhY2tzID0gdHJ1ZTsgfQorICAg
IHZvaWQgZHVtcE5vdGlmaWNhdGlvbnMoKTsKICAgICB2b2lkIHNldENhbk9wZW5XaW5kb3dzKCkg
eyBtX2Nhbk9wZW5XaW5kb3dzID0gdHJ1ZTsgfQogICAgIHZvaWQgc2V0UHJpbnRpbmcoKSB7IG1f
aXNQcmludGluZyA9IHRydWU7IH0KICAgICB2b2lkIHdhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBm
YzRjOTI4MTNkNjgyNmYzZjJhNmQyYjAyMWM2YmMyMGEwNTkxM2Q0Li5mM2E1YTNkMjljNTgzNGVm
ODQ3MzllYjYzODgzYThhOWY4YWUwY2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDEt
MjEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XVtXSzFdIFdlYiBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGhlIG5vdyB3b3JraW5nIHRlc3RzIGlu
IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy4gCisgICAgICAgIFNraXAgZm91ciB0ZXN0cyB0aGF0
IHN0aWxsIGZhaWwgb24gV2ViS2l0MS4KKyAgICAgICAgVXBkYXRlIHRlc3RzIHRoYXQgbmVlZCBu
b3RpZmljYXRpb25zIGR1bXB0ZWQuCisKKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90
aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi5odG1sOgorICAgICAgICAqIGZh
c3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbDoKKyAgICAgICAgKiBm
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbDoKKyAgICAgICAgKiBmYXN0
L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC01LjAtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wMS0yMSAgw4Fkw6FtIEthbGxhaSAg
PGthZGFtQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVu
aW5nLiBTa2lwIGZhaWxpbmcgdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1sCmluZGV4IDU4
MzZhNWJhMDA2NGFlMzAxYzlhZmFlNmE4OTU3YWRjODVjZmRjNjguLjhkMzg1NDQwMzcwMGZkZDQ0
OThkZDliYTI5MjA1ZWM5MDUwM2MyNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbApAQCAt
MTIsNiArMTIsNyBAQAogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZp
bGU6Ly8iKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7CiAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgICAgICB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXkt
Y2xvc2UtZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZp
Y2F0aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sCmluZGV4IDMxNDcwNDgwZGVmOWRiMTFl
ZTQ1ZWEyOWVkNDY3YTRhYjM2MmIwOWMuLjJjNjYxZTg4MGYzZWM4YjUxZjVmNzhiZTY3MmY0Y2Qz
Nzg1ZTdhOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3Rp
ZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbApA
QCAtMTIsNiArMTIsNyBAQAogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24o
ImZpbGU6Ly8iKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7CiAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgICAgICB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWlj
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5v
LWljb24uaHRtbAppbmRleCA0ODliN2Y1MDE4ZWNiMGJjYjg4OGY5NTNkYzlkMjExMTIyYWFkOTgz
Li42YWExMTNlYTc2NGJjOGI4MjRkYmI2OTE2MjVjNGEyOWJiYzU4M2M2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1uby1pY29uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNv
bi5odG1sCkBAIC0xMiw2ICsxMiw3IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvbigiZmlsZTovLyIpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9u
cykgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNh
dGlvbnMtcmVwbGFjZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtcmVwbGFjZS5odG1sCmluZGV4IGUzY2RhZjJhNWFhOTJlMWVhNGJiZjBmZjQzNDRh
NjI3NTA0MmEwMzUuLjcxODRiYTg1ZWRhMzhjYjRkZTRkOWVjNGEzY2NhMjA0MWY5N2QyYzYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJl
cGxhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1yZXBsYWNlLmh0bWwKQEAgLTEyLDYgKzEyLDcgQEAKICAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZ3JhbnRXZWJOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZpY2F0
aW9ucygpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoIXdpbmRvdy53ZWJraXRO
b3RpZmljYXRpb25zKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1ydGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9u
cy9ub3RpZmljYXRpb25zLXJ0bC5odG1sCmluZGV4IGM0ZmRlM2Q2MmQ2YjY2MDUwNmQzYzVmNzll
YjRkNTkzMTRlYmQwOWIuLmFiZTZiZTQyNzZhM2EwMWUxNDQxMjA5ZTBhNTkyMzM3MmRiYjlhODQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25z
LXJ0bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXJ0bC5odG1sCkBAIC0xMiw2ICsxMiw3IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0
aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMo
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZp
Y2F0aW9ucykgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25v
dGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlm
aWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbAppbmRleCBlMGVhM2Uw
MWViMmQyNWI5MWZlMzRkOGRkMDExZjY5YzZhMjg5ODA5Li4zZDI4OWU4YTNkYmNlY2U0M2VkNDUw
N2M4ZjA4NDAyNjA3Njk1NTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNh
dGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Npb24uaHRtbApA
QCAtMTIsNiArMTIsNyBAQAogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24o
ImZpbGU6Ly8iKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7CiAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgICAgICB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azEvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2
NjM2ZmJjNjIyZTk1NDY3ODhiOTAxYzljY2Q4NzlkODdlMTExNWFmLi5mNjA5OWEyZjUzZDBjYTEz
MGY1NDI3MjQzYmYxYmI5MjBlNjJhN2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC01LjAtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQtNS4wLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODIsMyArMTgyLDkgQEAgd2Via2l0Lm9y
Zy9iLzEwNTE1OCBjb21wb3NpdGluZy90aWxpbmcvY3Jhc2gtaHVnZS1sYXllci5odG1sCiAKICMg
W1F0XVtXSzFdIE5ldyBmYXN0L2Nzcy9zdGlja3kvc3RpY2t5LXRvcC16b29tZWQuaHRtbCBmYWls
cwogd2Via2l0Lm9yZy9iLzEwNTM5MCBmYXN0L2Nzcy9zdGlja3kvc3RpY2t5LXRvcC16b29tZWQu
aHRtbAorCisjIFtRdF0gV2ViIE5vdGlmaWNhdGlvbiB0ZXN0cyBmYWlsaW5nIGR1ZSB0byBtaXNz
aW5nIG1ldGhvZHMgaW4gRFJULgord2Via2l0Lm9yZy9iLzk1NTA3IGh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9ldmVudHMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk1NTA3IGh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy93aW5kb3ctc2hvdy1vbi1jbGljay5odG1sIFsgRmFpbHVyZSBd
Cit3ZWJraXQub3JnL2IvOTU1MDcgaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVu
dHMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk1NTA3IGh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2suaHRtbCBbIEZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmMxMzA5NDdhM2E0Njhm
NmQzZjBhYWM0ZGZiZDUyMTU5Y2VjY2NlMS4uMWRkNzdkNzE3ZjQyZjRhZWZmZjJhYmJmMmM2NjU0
YmU5NDA4OGFhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBA
IC0yMjk1LDkgKzIyOTUsNiBAQCBzdmcvY3VzdG9tL2NsYW1wZWQtbWFza2luZy1jbGlwcGluZy5z
dmcKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTMwCiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2luYWN0aXZlLWRvY3VtZW50LXdpdGgtZW1wdHktc2VjdXJpdHktb3Jp
Z2luLmh0bWwKIAotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1
MDcKLWh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucwotCiAjIE5ldyBmYXN0L2NhbnZhcy9jYW52YXMt
bGluZURhc2guaHRtbCBpbnRyb2R1Y2VkIGluIHIxMjgxMTYgZmFpbHMKICMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MzYwCiBmYXN0L2NhbnZhcy9jYW52YXMtbGlu
ZURhc2guaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183975</attachid>
            <date>2013-01-22 05:48:30 -0800</date>
            <delta_ts>2013-01-23 06:50:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107449-20130122144446.patch</filename>
            <type>text/plain</type>
            <size>23460</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDY0N2RiYWI4NDkx
NmFkNWY5YTIyYTcxNmExOWEwYmJhNThmYjgxOGEuLjczYzc0ZGVkM2M0ODE5YzNmN2MwZjVhZTRh
OGVkMDY3MGYzNTgxM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTMtMDEt
MjIgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgW1F0XVtXSzFdIFdlYiBOb3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbnN1cmUgd2UgYWxzbyByZW1lbWJlciB1c2VyIGRl
bnkgcGVybWlzc2lvbnMuIAorICAgICAgICBTdG9yZSB1c2VyIHBlcm1pc3Npb25zIHBlciBzZWN1
cml0eSBvcmlnaW4sIGFuZCAKKyAgICAgICAgZG8gbm90IGFzayBmb3IgcGVybWlzc2lvbnMgYWxy
ZWFkeSBnaXZlbiBvciBkZW5pZWQuCisKKyAgICAgICAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIFdl
YktpdDIgYW5kIHRoZSBXM0Mgc3BlYy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpjbGVhck5vdGlmaWNhdGlvblBlcm1pc3Npb25zKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L05v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2hlY2tQZXJtaXNzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjYW5jZWxS
ZXF1ZXN0c0ZvclBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmNsZWFyQ2FjaGVkUGVy
bWlzc2lvbnMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaDoKKyAgICAgICAgKE5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudFF0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0
ZXIuY3BwOgorICAgICAgICAoUVdlYlBhZ2VBZGFwdGVyOjpzZXROb3RpZmljYXRpb25zQWxsb3dl
ZEZvckZyYW1lKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuaDoK
KyAgICAgICAgKiBXaWRnZXRBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2U6OnNl
dEZlYXR1cmVQZXJtaXNzaW9uKToKKwogMjAxMy0wMS0yMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2Vu
ICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMV0gUGVybWlzc2lv
biByZXF1ZXN0IGNhbGxiYWNrcyBmb3Igbm9uLWxlZ2FjeSBub3RpZmljYXRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwCmluZGV4IDMzYTRkMjRjZGVlOTA0MWEzYzM3NzdkN2I3YjUyYjU1NDljNmFi
ZTMuLmYxNzA5ZTFmM2NlMWM2M2JiOTFiZTI2NmQzZDUyYTMyYzNhM2MxNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwCkBAIC0xMDY2LDMgKzEwNjYsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0OjpmcmFtZVJlbmRlclRyZWVEdW1wKFFXZWJGcmFtZUFkYXB0ZXIqIGFkYXB0ZXIp
CiAKICAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihhZGFwdGVyLT5mcmFtZSk7CiB9
CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNsZWFyTm90aWZpY2F0aW9uUGVybWlz
c2lvbnMoKQoreworICAgIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpu
b3RpZmljYXRpb25QcmVzZW50ZXIoKS0+Y2xlYXJDYWNoZWRQZXJtaXNzaW9ucygpOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5oCmluZGV4IGVkZGIxMDg2ZTM1MTU1NTAxYTYwZmM5YWExZGZkOTk4MDFhMjdl
ZjUuLjI1MjJmYWJiMmMwNTg1MDExMGNhNGQ0ZTg4NTJhMDBjNTAzNDdhNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmgKQEAgLTIxNyw2ICsyMTcsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0
U2VhbWxlc3NJRnJhbWVzRW5hYmxlZChib29sKTsKIAogICAgIHN0YXRpYyBRU3RyaW5nIGZyYW1l
UmVuZGVyVHJlZUR1bXAoUVdlYkZyYW1lQWRhcHRlciopOworICAgIHN0YXRpYyB2b2lkIGNsZWFy
Tm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudFF0LmNwcAppbmRleCBkM2E2ZDc0ZTFkYWRiMDFhZmY1NzRlMDQxOTFkN2UyOTlj
NDFmNzVjLi5hOTRiMDRjM2EyYTViOGM1MzY1OGJiNDdlMDE3MTZiYTVhZjFmMjMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRl
ckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcApAQCAtMzEwLDYgKzMxMCwxMyBAQCB2b2lkIE5v
dGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjbwogICAgIGlmIChkdW1wTm90aWZpY2F0aW9uKQogICAgICAgICBwcmlu
dGYoIkRFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiAlc1xuIiwgUVN0
cmluZyhjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKS50b1V0ZjgoKS5jb25z
dERhdGEoKSk7CiAKKyAgICBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lv
biA9IGNoZWNrUGVybWlzc2lvbihjb250ZXh0KTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGlmIChjYWxs
YmFjaykKKyAgICAgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIENhbGxiYWNr
c0luZm8gPjo6aXRlcmF0b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5maW5k
KGNvbnRleHQpOwogICAgIGlmIChpdGVyICE9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5l
bmQoKSkKICAgICAgICAgaXRlci52YWx1ZSgpLm1fdm9pZENhbGxiYWNrcy5hcHBlbmQoY2FsbGJh
Y2spOwpAQCAtMzMzLDYgKzM0MCwxMyBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogICAgIGlm
IChkdW1wTm90aWZpY2F0aW9uKQogICAgICAgICBwcmludGYoIkRFU0tUT1AgTk9USUZJQ0FUSU9O
IFBFUk1JU1NJT04gUkVRVUVTVEVEOiAlc1xuIiwgUVN0cmluZyhjb250ZXh0LT5zZWN1cml0eU9y
aWdpbigpLT50b1N0cmluZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CiAKKyAgICBOb3RpZmlj
YXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IGNoZWNrUGVybWlzc2lvbihjb250
ZXh0KTsKKyAgICBpZiAocGVybWlzc2lvbiAhPSBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Np
b25Ob3RBbGxvd2VkKSB7CisgICAgICAgIGlmIChjYWxsYmFjaykKKyAgICAgICAgICAgIGNhbGxi
YWNrLT5oYW5kbGVFdmVudChOb3RpZmljYXRpb246OnBlcm1pc3Npb25TdHJpbmcocGVybWlzc2lv
bikpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCosIENhbGxiYWNrc0luZm8gPjo6aXRlcmF0b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1p
c3Npb25SZXF1ZXN0cy5maW5kKGNvbnRleHQpOwogICAgIGlmIChpdGVyICE9IG1fcGVuZGluZ1Bl
cm1pc3Npb25SZXF1ZXN0cy5lbmQoKSkKICAgICAgICAgaXRlci52YWx1ZSgpLm1fY2FsbGJhY2tz
LmFwcGVuZChjYWxsYmFjayk7CkBAIC0zNTIsMTIgKzM2NiwxOSBAQCB2b2lkIE5vdGlmaWNhdGlv
blByZXNlbnRlckNsaWVudFF0OjpyZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjbwogCiBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OmNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KQogewotICAgIHJldHVybiBtX2NhY2hlZFBlcm1pc3Npb25zLnZhbHVlKGNvbnRleHQs
IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQpOworICAgIGlmICghY29u
dGV4dCB8fCAhY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSkKKyAgICAgICAgcmV0dXJuIE5vdGlm
aWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbk5vdEFsbG93ZWQ7CisKKyAgICBRSGFzaDxRU3RyaW5n
LCBib29sPjo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IG1fY2FjaGVkUGVybWlzc2lvbnMuY29uc3RG
aW5kKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCktPnRvUmF3U3RyaW5nKCkpOworICAgIGlmIChp
dGVyICE9IG1fY2FjaGVkUGVybWlzc2lvbnMuY29uc3RFbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0
ZXIudmFsdWUoKSA/IE5vdGlmaWNhdGlvbkNsaWVudDo6UGVybWlzc2lvbkFsbG93ZWQgOiBOb3Rp
ZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25EZW5pZWQ7CisKKyAgICByZXR1cm4gTm90aWZpY2F0
aW9uQ2xpZW50OjpQZXJtaXNzaW9uTm90QWxsb3dlZDsKIH0KIAogdm9pZCBOb3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7Ci0gICAgbV9jYWNoZWRQZXJtaXNzaW9ucy5yZW1vdmUo
Y29udGV4dCk7CisgICAgbV9jYWNoZWRQZXJtaXNzaW9ucy5yZW1vdmUoY29udGV4dC0+c2VjdXJp
dHlPcmlnaW4oKS0+dG9SYXdTdHJpbmcoKSk7CiAKICAgICBRSGFzaDxTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgQ2FsbGJhY2tzSW5mbyA+OjppdGVyYXRvciBpdGVyID0gbV9wZW5kaW5nUGVybWlz
c2lvblJlcXVlc3RzLmZpbmQoY29udGV4dCk7CiAgICAgaWYgKGl0ZXIgPT0gbV9wZW5kaW5nUGVy
bWlzc2lvblJlcXVlc3RzLmVuZCgpKQpAQCAtMzc4LDkgKzM5OSw5IEBAIHZvaWQgTm90aWZpY2F0
aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRF
eGVjdXRpb25DCiAgICAgcGFnZS0+bm90aWZpY2F0aW9uc1Blcm1pc3Npb25SZXF1ZXN0Q2FuY2Vs
bGVkKGZyYW1lKTsKIH0KIAotdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6YWxs
b3dOb3RpZmljYXRpb25Gb3JGcmFtZShGcmFtZSogZnJhbWUpCit2b2lkIE5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudFF0OjpzZXROb3RpZmljYXRpb25zQWxsb3dlZEZvckZyYW1lKEZyYW1lKiBm
cmFtZSwgYm9vbCBhbGxvd2VkKQogewotICAgIG1fY2FjaGVkUGVybWlzc2lvbnMuaW5zZXJ0KGZy
YW1lLT5kb2N1bWVudCgpLCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKTsK
KyAgICBtX2NhY2hlZFBlcm1pc3Npb25zLmluc2VydChmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJp
dHlPcmlnaW4oKS0+dG9SYXdTdHJpbmcoKSwgYWxsb3dlZCk7CiAKICAgICBRSGFzaDxTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgIENhbGxiYWNrc0luZm8+OjppdGVyYXRvciBpdGVyID0gbV9wZW5k
aW5nUGVybWlzc2lvblJlcXVlc3RzLmJlZ2luKCk7CiAgICAgd2hpbGUgKGl0ZXIgIT0gbV9wZW5k
aW5nUGVybWlzc2lvblJlcXVlc3RzLmVuZCgpKSB7CkBAIC0zOTksMTAgKzQyMCwxMSBAQCB2b2lk
IE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjphbGxvd05vdGlmaWNhdGlvbkZvckZyYW1l
KEZyYW1lKiBmcmFtZSkKICAgICB9CiAjZW5kaWYKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
KyAgICBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24gcGVybWlzc2lvbiA9IGFsbG93ZWQg
PyBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkIDogTm90aWZpY2F0aW9uQ2xp
ZW50OjpQZXJtaXNzaW9uRGVuaWVkOwogICAgIFFMaXN0PFJlZlB0cjxOb3RpZmljYXRpb25QZXJt
aXNzaW9uQ2FsbGJhY2s+ID4mIGNhbGxiYWNrcyA9IGl0ZXIudmFsdWUoKS5tX2NhbGxiYWNrczsK
ICAgICBRX0ZPUkVBQ0goY29uc3QgUmVmUHRyPE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFj
az4mIGNhbGxiYWNrLCBjYWxsYmFja3MpIHsKICAgICAgICAgaWYgKGNhbGxiYWNrKQotICAgICAg
ICAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KE5vdGlmaWNhdGlvbjo6cGVybWlzc2lvblN0cmlu
ZyhOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb25BbGxvd2VkKSk7CisgICAgICAgICAgICBj
YWxsYmFjay0+aGFuZGxlRXZlbnQoTm90aWZpY2F0aW9uOjpwZXJtaXNzaW9uU3RyaW5nKHBlcm1p
c3Npb24pKTsKICAgICB9CiAjZW5kaWYKICAgICBtX3BlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMu
cmVtb3ZlKGl0ZXIua2V5KCkpOwpAQCAtNDIxLDYgKzQ0MywxMSBAQCB2b2lkIE5vdGlmaWNhdGlv
blByZXNlbnRlckNsaWVudFF0OjpzZW5kRXZlbnQoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24s
IGNvbnN0CiAgICAgICAgIG5vdGlmaWNhdGlvbi0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZSwgZmFsc2UsIHRydWUpKTsKIH0KIAordm9pZCBOb3RpZmljYXRpb25QcmVzZW50
ZXJDbGllbnRRdDo6Y2xlYXJDYWNoZWRQZXJtaXNzaW9ucygpCit7CisgICAgbV9jYWNoZWRQZXJt
aXNzaW9ucy5jbGVhcigpOworfQorCiB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0
OjpyZW1vdmVSZXBsYWNlZE5vdGlmaWNhdGlvbkZyb21RdWV1ZShOb3RpZmljYXRpb24qIG5vdGlm
aWNhdGlvbikKIHsKICAgICBOb3RpZmljYXRpb24qIG9sZE5vdGlmaWNhdGlvbiA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNl
bnRlckNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0LmgKaW5kZXggMmM1MmY0MzVhMGFkNTA5ZTMxYWJjOThhMjI2
NDFhZmE5YTFjZDhiMi4uY2RlYWI0N2QxMDQ1YThiNDc3MGM4NjU5NDVjMDliYzM0MjEzODBlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgY2FuY2VsKE5vdGlmaWNhdGlvbldyYXBwZXIqKTsKIAotICAgIHZvaWQg
YWxsb3dOb3RpZmljYXRpb25Gb3JGcmFtZShGcmFtZSopOworICAgIHZvaWQgc2V0Tm90aWZpY2F0
aW9uc0FsbG93ZWRGb3JGcmFtZShGcmFtZSosIGJvb2wgYWxsb3dlZCk7CiAKICAgICBzdGF0aWMg
Ym9vbCBkdW1wTm90aWZpY2F0aW9uOwogCkBAIC0xMTgsNiArMTE4LDggQEAgcHVibGljOgogICAg
IHZvaWQgbm90aWZpY2F0aW9uQ2xpY2tlZChjb25zdCBRU3RyaW5nJiB0aXRsZSk7CiAgICAgdm9p
ZCBzZW5kRGlzcGxheUV2ZW50KE5vdGlmaWNhdGlvbldyYXBwZXIqKTsKIAorICAgIHZvaWQgY2xl
YXJDYWNoZWRQZXJtaXNzaW9ucygpOworCiBwcml2YXRlOgogICAgIHZvaWQgc2VuZEV2ZW50KE5v
dGlmaWNhdGlvbiosIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKTsKICAgICB2b2lkIGRp
c3BsYXlOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uKik7CkBAIC0xMzksNyArMTQxLDcgQEAgcHJp
dmF0ZToKICNlbmRpZgogICAgIH07CiAgICAgUUhhc2g8U2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
ICBDYWxsYmFja3NJbmZvID4gbV9wZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzOwotICAgIFFIYXNo
PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBOb3RpZmljYXRpb25DbGllbnQ6OlBlcm1pc3Npb24+
IG1fY2FjaGVkUGVybWlzc2lvbnM7CisgICAgUUhhc2g8UVN0cmluZywgYm9vbD4gbV9jYWNoZWRQ
ZXJtaXNzaW9uczsKIAogICAgIE5vdGlmaWNhdGlvbnNRdWV1ZSBtX25vdGlmaWNhdGlvbnM7CiAg
ICAgUXRQbGF0Zm9ybVBsdWdpbiBtX3BsYXRmb3JtUGx1Z2luOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RV2ViUGFnZUFkYXB0ZXIuY3BwCmluZGV4IDYzZjQ0MmE3
MGNlMWRlMTBlYzcyYzAyZWI2ZWZkZTI1OTRhY2QyZjguLjhkZmI0ZmY3YTY5NzM4ZDNiMjQ1Yzgw
YmZjYWU2MDQ3NGM2MWU3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L1FXZWJQYWdlQWRhcHRlci5jcHAKQEAgLTEyMjgsOSArMTIyOCw5IEBAIFFTdHJpbmcg
UVdlYlBhZ2VBZGFwdGVyOjpjb250ZXh0TWVudUl0ZW1UYWdGb3JBY3Rpb24oUVdlYlBhZ2VBZGFw
dGVyOjpNZW51QWN0aW9uCiB9CiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxF
KExFR0FDWV9OT1RJRklDQVRJT05TKQotdm9pZCBRV2ViUGFnZUFkYXB0ZXI6OmFsbG93Tm90aWZp
Y2F0aW9uc0ZvckZyYW1lKFFXZWJGcmFtZUFkYXB0ZXIqIGZyYW1lKQordm9pZCBRV2ViUGFnZUFk
YXB0ZXI6OnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUoUVdlYkZyYW1lQWRhcHRlciog
ZnJhbWUsIGJvb2wgYWxsb3dlZCkKIHsKLSAgICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmFsbG93Tm90aWZpY2F0aW9uRm9yRnJhbWUoZnJh
bWUtPmZyYW1lKTsKKyAgICBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0
aW9uUHJlc2VudGVyKCktPnNldE5vdGlmaWNhdGlvbnNBbGxvd2VkRm9yRnJhbWUoZnJhbWUtPmZy
YW1lLCBhbGxvd2VkKTsKIH0KIAogdm9pZCBRV2ViUGFnZUFkYXB0ZXI6OmFkZE5vdGlmaWNhdGlv
blByZXNlbnRlckNsaWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L1FXZWJQYWdlQWRhcHRlci5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9RV2ViUGFnZUFkYXB0ZXIuaAppbmRleCAyMmE1MjEwOTlhZjAzYzkzNGZiOWY0NjY4MGM2N2Fl
Y2RjNTdmYmRjLi4zN2IzMzkyY2Q2NzMyZTMzYTY4OTY5MzU4YjJiMmMyMDJkYmY0NTBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1FXZWJQYWdlQWRhcHRlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUVdlYlBhZ2VBZGFwdGVyLmgK
QEAgLTMxMiw3ICszMTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRHZW9sb2NhdGlvbkVuYWJs
ZWRGb3JGcmFtZShRV2ViRnJhbWVBZGFwdGVyKiwgYm9vbCk7CiAjZW5kaWYKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAgIHZvaWQg
YWxsb3dOb3RpZmljYXRpb25zRm9yRnJhbWUoUVdlYkZyYW1lQWRhcHRlciopOworICAgIHZvaWQg
c2V0Tm90aWZpY2F0aW9uc0FsbG93ZWRGb3JGcmFtZShRV2ViRnJhbWVBZGFwdGVyKiwgYm9vbCBh
bGxvd2VkKTsKICAgICB2b2lkIGFkZE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudCgpOwogI2lm
bmRlZiBRVF9OT19TWVNURU1UUkFZSUNPTgogICAgIGJvb2wgaGFzU3lzdGVtVHJheUljb24oKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2lkZ2V0QXBpL3F3ZWJwYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvcXQvV2lkZ2V0QXBpL3F3ZWJwYWdlLmNwcAppbmRleCBmOWNlYzNl
NTQ3MzI2ZTIzODZkZWI1ZjY3ZDFhYzA5MTdlNDM4YmE0Li5hMWZlNDllMTM3OTI0MTBjMmUzOWUx
MzM3YzNkZTFkM2M0M2ZmMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dpZGdldEFw
aS9xd2VicGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XaWRnZXRBcGkvcXdlYnBhZ2Uu
Y3BwCkBAIC0xNTg0LDExICsxNTg0LDE1IEBAIGJvb2wgUVdlYlBhZ2U6OnNob3VsZEludGVycnVw
dEphdmFTY3JpcHQoKQogCiB2b2lkIFFXZWJQYWdlOjpzZXRGZWF0dXJlUGVybWlzc2lvbihRV2Vi
RnJhbWUqIGZyYW1lLCBGZWF0dXJlIGZlYXR1cmUsIFBlcm1pc3Npb25Qb2xpY3kgcG9saWN5KQog
eworI2lmICFFTkFCTEUoTk9USUZJQ0FUSU9OUykgJiYgIUVOQUJMRShMRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJiYgIUVOQUJMRShHRU9MT0NBVElPTikKKyAgICBRX1VOVVNFRChmcmFtZSk7CisgICAg
UV9VTlVTRUQocG9saWN5KTsKKyNlbmRpZgogICAgIHN3aXRjaCAoZmVhdHVyZSkgewogICAgIGNh
c2UgTm90aWZpY2F0aW9uczoKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQotICAgICAgICBpZiAocG9saWN5ID09IFBlcm1pc3Npb25HcmFu
dGVkQnlVc2VyKQotICAgICAgICAgICAgZC0+YWxsb3dOb3RpZmljYXRpb25zRm9yRnJhbWUoZnJh
bWUtPmQpOworICAgICAgICBpZiAocG9saWN5ICE9IFBlcm1pc3Npb25Vbmtub3duKQorICAgICAg
ICAgICAgZC0+c2V0Tm90aWZpY2F0aW9uc0FsbG93ZWRGb3JGcmFtZShmcmFtZS0+ZCwgKHBvbGlj
eSA9PSBQZXJtaXNzaW9uR3JhbnRlZEJ5VXNlcikpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgR2VvbG9jYXRpb246CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggM2I4MjA2YzhkMWJmZTQwNWM4ZmZlYjUwZjUwYmQ5OWQ2NmJlYjZk
Ni4uOGM2ZDk0NTE4MWU0NTMwMmVhMTJkNjVkNzU3YTVlZjcxMDdkY2QzYyAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDEzLTAxLTIyICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29t
PgorCisgICAgICAgIFtRdF1bV0sxXSBXZWIgTm90aWZpY2F0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NDQ5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG8gbm90IGR1bXAgbm90aWZpY2F0aW9u
IG91dHB1dCB0byB0aGUgY29uc29sZSBieSBkZWZhdWx0LCBpbnN0ZWFkIGFsbG93IHRoZSAKKyAg
ICAgICAgdGVzdHMgdGhhdCBuZWVkIGl0IHRvIGVuYWJsZSBpdC4KKyAgICAgICAgSW1wbGVtZW50
IGRlbnlXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uIGFuZCByZW1vdmVBbGxXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9ucy4KKyAgICAgICAgUmVtb3ZlIHVudXNlZCBtX2Rlc2t0b3BOb3RpZmljYXRp
b25BbGxvd2VkT3JpZ2lucyB2YXJpYWJsZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0
L1Rlc3RSdW5uZXJRdC5jcHA6CisgICAgICAgIChUZXN0UnVubmVyOjpUZXN0UnVubmVyKToKKyAg
ICAgICAgKFRlc3RSdW5uZXI6OnJlc2V0KToKKyAgICAgICAgKFRlc3RSdW5uZXI6OmR1bXBOb3Rp
ZmljYXRpb25zKToKKyAgICAgICAgKFRlc3RSdW5uZXI6OmdyYW50V2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvbik6CisgICAgICAgIChUZXN0UnVubmVyOjpkZW55V2ViTm90aWZpY2F0aW9uUGVybWlz
c2lvbik6CisgICAgICAgIChUZXN0UnVubmVyOjpyZW1vdmVBbGxXZWJOb3RpZmljYXRpb25QZXJt
aXNzaW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0Lmg6Cisg
ICAgICAgIChUZXN0UnVubmVyKToKKwogMjAxMy0wMS0yMiAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBJbXBsZW1lbnQgVGVzdFJ1bm5l
cjo6c2V0VGV4dERpcmVjdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
VGVzdFJ1bm5lclF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5j
cHAKaW5kZXggNGFhNDMwNDBjZWU5OGQ4NGM5YjNiZDQ4YjNkNmVhYTc4NmE5MmVjZS4uMDkyMzU0
NjUzMzk2YWJhMzZjMjZlYTJmZDJmMzE5YTdlNGRkYTQ1NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9UZXN0UnVubmVyUXQuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJEdW1w
UmVuZGVyVHJlZVF0LmgiCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCIKKyNp
bmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oIgogI2luY2x1ZGUgIldvcmtR
dWV1ZS5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZUl0ZW1RdC5oIgogI2luY2x1ZGUgPFFDb3JlQXBw
bGljYXRpb24+CkBAIC00NSw3ICs0Niw2IEBAIFRlc3RSdW5uZXI6OlRlc3RSdW5uZXIoV2ViQ29y
ZTo6RHVtcFJlbmRlclRyZWUqIGRydCkKICAgICAsIG1fdGltZW91dCgzMDAwMCkKIHsKICAgICBy
ZXNldCgpOwotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpkdW1wTm90aWZpY2F0aW9uKHRy
dWUpOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnJlc2V0KCkKQEAgLTcyLDcgKzcyLDYgQEAgdm9p
ZCBUZXN0UnVubmVyOjpyZXNldCgpCiAgICAgbV93ZWJIaXN0b3J5ID0gMDsKICAgICBtX2dsb2Jh
bEZsYWcgPSBmYWxzZTsKICAgICBtX3VzZXJTdHlsZVNoZWV0RW5hYmxlZCA9IGZhbHNlOwotICAg
IG1fZGVza3RvcE5vdGlmaWNhdGlvbkFsbG93ZWRPcmlnaW5zLmNsZWFyKCk7CiAgICAgbV9pZ25v
cmVEZXNrdG9wTm90aWZpY2F0aW9uID0gZmFsc2U7CiAgICAgbV9pc0dlb2xvY2F0aW9uUGVybWlz
c2lvblNldCA9IGZhbHNlOwogICAgIG1faXNQcmludGluZyA9IGZhbHNlOwpAQCAtOTUsMTMgKzk0
LDIwIEBAIHZvaWQgVGVzdFJ1bm5lcjo6cmVzZXQoKQogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0OjpkdW1wSGlzdG9yeUNhbGxiYWNrcyhmYWxzZSk7CiAgICAgRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQ6OmR1bXBWaXNpdGVkTGlua3NDYWxsYmFja3MoZmFsc2UpOwogICAgIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0OjpyZXNldEdlb2xvY2F0aW9uTW9jayhtX2RydC0+cGFnZUFkYXB0ZXIoKSk7
CisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBOb3RpZmljYXRpb24oZmFsc2UpOwog
ICAgIHNldEljb25EYXRhYmFzZUVuYWJsZWQoZmFsc2UpOwogICAgIGNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgcmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKICAgICAvLyBU
aGUgZGVmYXVsdCBzdGF0ZSBmb3IgRFJUIGlzIHRvIGJsb2NrIHRoaXJkLXBhcnR5IGNvb2tpZXMs
IG1pbWljaW5nIHRoZSBNYWMgcG9ydAogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2Up
OwogICAgIGVtaXQgaGlkZVBhZ2UoKTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpkdW1wTm90aWZp
Y2F0aW9ucygpCit7CisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBOb3RpZmljYXRp
b24odHJ1ZSk7Cit9CisKIHZvaWQgVGVzdFJ1bm5lcjo6cHJvY2Vzc1dvcmsoKQogewogICAgIC8v
IHFEZWJ1ZygpIDw8ICI+Pj5wcm9jZXNzV29yayI7CkBAIC0yMTUsNyArMjIxLDYgQEAgdm9pZCBU
ZXN0UnVubmVyOjpncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oY29uc3QgUVN0cmluZyYg
b3JpZ2luKQogewogICAgIFFXZWJGcmFtZSogZnJhbWUgPSBtX2RydC0+d2ViUGFnZSgpLT5tYWlu
RnJhbWUoKTsKICAgICBtX2RydC0+d2ViUGFnZSgpLT5zZXRGZWF0dXJlUGVybWlzc2lvbihmcmFt
ZSwgUVdlYlBhZ2U6Ok5vdGlmaWNhdGlvbnMsIFFXZWJQYWdlOjpQZXJtaXNzaW9uR3JhbnRlZEJ5
VXNlcik7Ci0gICAgbV9kZXNrdG9wTm90aWZpY2F0aW9uQWxsb3dlZE9yaWdpbnMuYXBwZW5kKG9y
aWdpbik7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6aWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RzKCkKQEAgLTIyNSwxMiArMjMwLDEzIEBAIHZvaWQgVGVzdFJ1bm5l
cjo6aWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKCkKIAogdm9p
ZCBUZXN0UnVubmVyOjpkZW55V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihjb25zdCBRU3RyaW5n
JiBvcmlnaW4pCiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudC4KKyAgICBRV2ViRnJhbWUqIGZy
YW1lID0gbV9kcnQtPndlYlBhZ2UoKS0+bWFpbkZyYW1lKCk7CisgICAgbV9kcnQtPndlYlBhZ2Uo
KS0+c2V0RmVhdHVyZVBlcm1pc3Npb24oZnJhbWUsIFFXZWJQYWdlOjpOb3RpZmljYXRpb25zLCBR
V2ViUGFnZTo6UGVybWlzc2lvbkRlbmllZEJ5VXNlcik7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6
cmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKQogewotICAgIC8vIEZJWE1FOiBp
bXBsZW1lbnQuCisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNsZWFyTm90aWZpY2F0aW9u
UGVybWlzc2lvbnMoKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzaW11bGF0ZVdlYk5vdGlmaWNh
dGlvbkNsaWNrKGNvbnN0IFFXZWJFbGVtZW50JiBub3RpZmljYXRpb24pCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L1Rlc3RSdW5uZXJRdC5oCmluZGV4IDI3MTk0MTg4ZWFmODE4NWE5NDE1YTdlZDU2MmQ2
NDRmNjRmMGNmNTMuLjZhNjgwMDllZmNkYmI3Mjk5NmQwMjU3NGE1NTI0OWUxNjFlOTkyMTQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oCkBAIC0xMDgsNiArMTA4LDcgQEAg
cHVibGljIFFfU0xPVFM6CiAgICAgdm9pZCBkdW1wRGF0YWJhc2VDYWxsYmFja3MoKSB7IG1fZHVt
cERhdGFiYXNlQ2FsbGJhY2tzID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcEFwcGxpY2F0aW9uQ2Fj
aGVEZWxlZ2F0ZUNhbGxiYWNrcygpIHsgbV9kdW1wQXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2Fs
bGJhY2tzID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcFN0YXR1c0NhbGxiYWNrcygpIHsgbV9kdW1w
U3RhdHVzQ2FsbGJhY2tzID0gdHJ1ZTsgfQorICAgIHZvaWQgZHVtcE5vdGlmaWNhdGlvbnMoKTsK
ICAgICB2b2lkIHNldENhbk9wZW5XaW5kb3dzKCkgeyBtX2Nhbk9wZW5XaW5kb3dzID0gdHJ1ZTsg
fQogICAgIHZvaWQgc2V0UHJpbnRpbmcoKSB7IG1faXNQcmludGluZyA9IHRydWU7IH0KICAgICB2
b2lkIHdhaXRVbnRpbERvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwOGYwZTM2NjE0ZTNjMDBjZDllNzgwNmZmMzVh
NmMyYjMwY2M1NmU2Li4zM2VkODYzNTg5NDBhNzI4MWM3OGQ5ZTQ4M2JjYzliZmMzYTY5ZjFhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDEtMjIgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAg
PGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzFdIFdlYiBOb3RpZmlj
YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDc0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
bnNraXAgdGhlIG5vdyB3b3JraW5nIHRlc3RzIGluIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy4g
CisgICAgICAgIFNraXAgZm91ciB0ZXN0cyB0aGF0IHN0aWxsIGZhaWwgb24gV2ViS2l0MS4KKyAg
ICAgICAgVXBkYXRlIHRlc3RzIHRoYXQgbmVlZCBub3RpZmljYXRpb25zIGR1bXB0ZWQuCisKKyAg
ICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1jbGljay1ldmVudC5odG1s
OgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xv
c2UtZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlv
bnMtbm8taWNvbi5odG1sOgorICAgICAgICAqIGZhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRp
b25zLXJlcGxhY2UuaHRtbDoKKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1ydGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy13aXRoLXBlcm1pc3Npb24uaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC01LjAtd2sxL1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9uczoK
KwogMjAxMy0wMS0yMiAgVGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGlu
dGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jbGljay1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlm
aWNhdGlvbnMtY2xpY2stZXZlbnQuaHRtbAppbmRleCA1ODM2YTViYTAwNjRhZTMwMWM5YWZhZTZh
ODk1N2FkYzg1Y2ZkYzY4Li5jZDQwMmVjZDUyNGU4NTc4NjhmYjQ3NmUwNTBlN2M4M2Q0OTRmYWE4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy1jbGljay1ldmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9u
b3RpZmljYXRpb25zLWNsaWNrLWV2ZW50Lmh0bWwKQEAgLTEyLDYgKzEyLDggQEAKICAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
Z3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7CiAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIuZHVtcE5vdGlmaWNhdGlvbnMpCisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cE5vdGlmaWNhdGlvbnMoKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1ldmVudHMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWRpc3BsYXktY2xvc2UtZXZl
bnRzLmh0bWwKaW5kZXggMzE0NzA0ODBkZWY5ZGIxMWVlNDVlYTI5ZWQ0NjdhNGFiMzYyYjA5Yy4u
Zjc0OGE0YWQwMmU3NWNhZGE2MTRmODMyYjlkMWE2YWVjMzkwN2MwNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtZGlzcGxheS1jbG9zZS1l
dmVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0
aW9ucy1kaXNwbGF5LWNsb3NlLWV2ZW50cy5odG1sCkBAIC0xMiw2ICsxMiw4IEBACiAgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwogICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGlmICh0ZXN0UnVu
bmVyLmR1bXBOb3RpZmljYXRpb25zKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBOb3RpZmljYXRpb25zKCk7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CiAgICAgICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvbm90
aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLW5vLWljb24uaHRtbAppbmRleCA0ODliN2Y1MDE4
ZWNiMGJjYjg4OGY5NTNkYzlkMjExMTIyYWFkOTgzLi41YzcyMmVkOWYyOTZlNWRmNzFhZWRiNjUz
NTY5ZGM3ZTI1NjRhZjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlv
bnMvbm90aWZpY2F0aW9ucy1uby1pY29uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ub3Rp
ZmljYXRpb25zL25vdGlmaWNhdGlvbnMtbm8taWNvbi5odG1sCkBAIC0xMiw2ICsxMiw4IEBACiAg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIpOwogICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBOb3RpZmljYXRpb25zKCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlm
ICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJlcGxhY2UuaHRtbAppbmRleCBl
M2NkYWYyYTVhYTkyZTFlYTRiYmYwZmY0MzQ0YTYyNzUwNDJhMDM1Li5jYzU2Y2Y2NzIxYTYyNjhi
NWFhNTk1Mjg0NGY1M2VhZDViYWYxYjJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L25v
dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1yZXBsYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcmVwbGFjZS5odG1sCkBAIC0xMiw2ICsx
Miw4IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmdyYW50V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbigiZmlsZTovLyIp
OwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAg
ICAgIGlmICh0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKQorICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBOb3RpZmljYXRpb25zKCk7CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXJ0bC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLmh0bWwKaW5kZXgg
YzRmZGUzZDYyZDZiNjYwNTA2ZDNjNWY3OWViNGQ1OTMxNGViZDA5Yi4uYWE2N2RkMWE1ZjYyYjg3
YzdlOGFhOWIxYjRmZGI1ZmVlYmZlODM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9u
b3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtcnRsLmh0bWwKQEAgLTEyLDYgKzEyLDggQEAK
ICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZ3JhbnRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJmaWxlOi8vIik7CiAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgaWYg
KHRlc3RSdW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMpCisgICAgICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcE5vdGlmaWNhdGlvbnMoKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
aWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMtd2l0aC1wZXJtaXNzaW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1p
c3Npb24uaHRtbAppbmRleCBlMGVhM2UwMWViMmQyNWI5MWZlMzRkOGRkMDExZjY5YzZhMjg5ODA5
Li5jZTEwYTNlODE3NzdmNzExZThlYmI3ZDY2NjczMWJmMWVmOTE3YTJmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy13aXRoLXBlcm1pc3Np
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9u
cy13aXRoLXBlcm1pc3Npb24uaHRtbApAQCAtMTIsNiArMTIsOCBAQAogICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ncmFudFdl
Yk5vdGlmaWNhdGlvblBlcm1pc3Npb24oImZpbGU6Ly8iKTsKICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5kdW1w
Tm90aWZpY2F0aW9ucykKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wTm90aWZp
Y2F0aW9ucygpOwogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwog
ICAgICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNjYzNmZiYzYyMmU5NTQ2Nzg4YjkwMWM5Y2NkODc5ZDg3ZTEx
MTVhZi4uZjYwOTlhMmY1M2QwY2ExMzBmNTQyNzI0M2JmMWJiOTIwZTYyYTdjOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNS4wLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTgy
LDMgKzE4Miw5IEBAIHdlYmtpdC5vcmcvYi8xMDUxNTggY29tcG9zaXRpbmcvdGlsaW5nL2NyYXNo
LWh1Z2UtbGF5ZXIuaHRtbAogCiAjIFtRdF1bV0sxXSBOZXcgZmFzdC9jc3Mvc3RpY2t5L3N0aWNr
eS10b3Atem9vbWVkLmh0bWwgZmFpbHMKIHdlYmtpdC5vcmcvYi8xMDUzOTAgZmFzdC9jc3Mvc3Rp
Y2t5L3N0aWNreS10b3Atem9vbWVkLmh0bWwKKworIyBbUXRdIFdlYiBOb3RpZmljYXRpb24gdGVz
dHMgZmFpbGluZyBkdWUgdG8gbWlzc2luZyBtZXRob2RzIGluIERSVC4KK3dlYmtpdC5vcmcvYi85
NTUwNyBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvZXZlbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi85NTUwNyBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvd2luZG93LXNob3ctb24t
Y2xpY2suaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk1NTA3IGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi85
NTUwNyBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNr
Lmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDQ4Y2ZmNmQzMzc2MDJhODM0ZmZkZDhhMmU0YmNkMTQ0Mzk5NGJmMDcuLjQ4MjBjMGM1
YzhmZTZkN2I2NTFkN2MwY2ZlZGMwNjZiMTU0YmY4ZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjI5NSw5ICsyMjk1LDYgQEAgc3ZnL2N1c3RvbS9jbGFt
cGVkLW1hc2tpbmctY2xpcHBpbmcuc3ZnCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NTUzMAogaHR0cC90ZXN0cy9zZWN1cml0eS9pbmFjdGl2ZS1kb2N1bWVudC13
aXRoLWVtcHR5LXNlY3VyaXR5LW9yaWdpbi5odG1sCiAKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1NTA3Ci1odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMKLQogIyBO
ZXcgZmFzdC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLmh0bWwgaW50cm9kdWNlZCBpbiByMTI4MTE2
IGZhaWxzCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjM2MAog
ZmFzdC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLmh0bWwK
</data>
<flag name="review"
          id="202555"
          type_id="1"
          status="-"
          setter="jturcotte"
    />
          </attachment>
      

    </bug>

</bugzilla>