<?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>139898</bug_id>
          
          <creation_ts>2014-12-22 19:59:06 -0800</creation_ts>
          <short_desc>Move color CSS properties to the new StyleBuilder</short_desc>
          <delta_ts>2014-12-23 20:59:00 -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>CSS</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>137910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1057539</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-22 19:59:06 -0800</bug_when>
    <thetext>Move color CSS properties to the new StyleBuilder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057548</commentid>
    <comment_count>1</comment_count>
      <attachid>243665</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-22 22:20:14 -0800</bug_when>
    <thetext>Created attachment 243665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057576</commentid>
    <comment_count>2</comment_count>
      <attachid>243665</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-12-23 04:25:58 -0800</bug_when>
    <thetext>Comment on attachment 243665
Patch

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

&gt; Source/WebCore/css/CSSPropertyNames.in:69
&gt; +// * ColorProperty:
&gt; +// Indicates that this CSS property is a color property with a
&gt; +// &quot;setVisitedLinkXXX()&quot; setter on RenderStyle to be called when
&gt; +// StyleResolver::applyPropertyToVisitedLinkStyle() return true.
&gt; +// The regular setter on RenderStyle will only be called if
&gt; +// StyleResolver::applyPropertyToRegularStyle() returns true.

I think this should have a name that indicates that the property works for visited links. VisitedLinkSupportingColorProperty or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057594</commentid>
    <comment_count>3</comment_count>
      <attachid>243677</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 09:07:47 -0800</bug_when>
    <thetext>Created attachment 243677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057595</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 09:08:24 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 243665 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=243665&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSPropertyNames.in:69
&gt; &gt; +// * ColorProperty:
&gt; &gt; +// Indicates that this CSS property is a color property with a
&gt; &gt; +// &quot;setVisitedLinkXXX()&quot; setter on RenderStyle to be called when
&gt; &gt; +// StyleResolver::applyPropertyToVisitedLinkStyle() return true.
&gt; &gt; +// The regular setter on RenderStyle will only be called if
&gt; &gt; +// StyleResolver::applyPropertyToRegularStyle() returns true.
&gt; 
&gt; I think this should have a name that indicates that the property works for
&gt; visited links. VisitedLinkSupportingColorProperty or something.

I used &quot;VisitedLinkColorSupport&quot; in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057602</commentid>
    <comment_count>5</comment_count>
      <attachid>243677</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-23 10:37:24 -0800</bug_when>
    <thetext>Comment on attachment 243677
Patch

Clearing flags on attachment: 243677

Committed r177687: &lt;http://trac.webkit.org/changeset/177687&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057604</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-23 10:37:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057622</commentid>
    <comment_count>7</comment_count>
      <attachid>243665</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-12-23 11:57:35 -0800</bug_when>
    <thetext>Comment on attachment 243665
Patch

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

&gt; Source/WebCore/rendering/style/RenderStyle.h:2086
&gt; +    static Color invalidColor() { static Color invalid; return invalid; }

I just noticed this pointless global variable. How about just this?

    static Color invalidColor() { return Color(); }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057639</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 13:45:53 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057640</commentid>
    <comment_count>9</comment_count>
      <attachid>243689</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 13:45:55 -0800</bug_when>
    <thetext>Created attachment 243689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057641</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-23 13:47:40 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 243665 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=243665&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/style/RenderStyle.h:2086
&gt; &gt; +    static Color invalidColor() { static Color invalid; return invalid; }
&gt; 
&gt; I just noticed this pointless global variable. How about just this?
&gt; 
&gt;     static Color invalidColor() { return Color(); }

My guess is that the idea was to avoid calling the Color constructor every time. However, the default Color constructor is really cheap so this is likely not worth it.

I uploaded another patch to fix this here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057749</commentid>
    <comment_count>11</comment_count>
      <attachid>243689</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-23 20:58:54 -0800</bug_when>
    <thetext>Comment on attachment 243689
Patch

Clearing flags on attachment: 243689

Committed r177720: &lt;http://trac.webkit.org/changeset/177720&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057750</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-23 20:59:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243665</attachid>
            <date>2014-12-22 22:20:14 -0800</date>
            <delta_ts>2014-12-23 09:07:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139898-20141222222015.patch</filename>
            <type>text/plain</type>
            <size>31981</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgxZjAxMTE3MjYwNDYy
OGZjMmZkZDNjNTdmMThlMzFhN2EzNmQwMi4uY2I1ZGE2ZjMwNmUzNDgwNzY3OTMyNzI5Y2I4ZmJk
MzkyYmExYzQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDE0LTEyLTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBjb2xvciBDU1MgcHJv
cGVydGllcyB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBjb2xvciBDU1MgcHJvcGVydGllcyB0byB0aGUg
bmV3IFN0eWxlQnVpbGRlciBieSB0ZWFjaGluZyB0aGUKKyAgICAgICAgU3R5bGVCdWlsZGVyIGdl
bmVyYXRvciBob3cgdG8gaGFuZGxlIHRoZW0uCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbjoKKyAgICAgICAgLSBNb3ZlIGNvbG9yIHByb3BlcnRpZXMgdG8gdGhlIG5ldyBTdHls
ZUJ1aWxkZXIuCisKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVC
dWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1bHRJbml0aWFsQ29sb3IpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUNvbG9yOjphcHBseUluaGVyaXRWYWx1
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Q29sb3I6OmFwcGx5
SW5pdGlhbFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlD
b2xvcjo6YXBwbHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3Bl
cnR5Q29sb3I6OmFwcGx5Q29sb3JWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpB
cHBseVByb3BlcnR5Q29sb3I6OmNyZWF0ZUhhbmRsZXIpOiBEZWxldGVkLgorICAgICAgICAtIERy
b3AgY29sb3IgcHJvcGVydGllcyBzdXBwb3J0IGZyb20gdGhlIERlcHJlY2F0ZWRTdHlsZUJ1aWxk
ZXIuCisKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgIC0gVGVhY2ggdGhlIFN0
eWxlQnVpbGRlciBnZW5lcmF0b3IgaG93IHRvIGhhbmRsZSBjb2xvciBwcm9wZXJ0aWVzLgorICAg
ICAgICAtIFVzZSBhIGNsYXNzIGZvciBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMgaW5zdGVhZCBvZiBh
IG5hbWVzcGFjZSBzbworICAgICAgICAgIHRoYXQgaXQgY2FuIGJlIG1hZGUgYSBmcmllbmQgb2Yg
UmVuZGVyU3R5bGUgY2xhc3MuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgLSBNYXJrIFN0eWxlQnVpbGRlckZ1bmN0aW9ucyBjbGFzcyBhcyBmcmll
bmQgYXMgaXRzIGZ1bmN0aW9ucworICAgICAgICAgIGNhbiBzZXQgUmVuZGVyU3R5bGUgbWVtYmVy
cyBkaXJlY3RseS4gVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQKKyAgICAgICAgICBpcyBhbHJlYWR5
IGRvbmUgZm9yIFN0eWxlQnVpbGRlckN1c3RvbSBjbGFzcy4gVGhlIG5ldyBjb2xvcgorICAgICAg
ICAgIHByb3BlcnRpZXMgaGFuZGxpbmcgY2FsbHMgcHJpdmF0ZSBtZXRob2RzIG9uIFJlbmRlclN0
eWxlLgorICAgICAgICAtIE1hcmsgaW52YWxpZENvbG9yKCkgbWV0aG9kIGFzIHN0YXRpYyBhcyBp
dCBkb2VzIG5vdCByZXF1aXJlCisgICAgICAgICAgYW4gaW5zdGFuY2UuCisKKzIwMTQtMTItMjIg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBbaU9TXSBMb2cgdXNp
bmcgRmVhdHVyZUNvdW50ZXIgd2hlbiBhIFBhY2hlQ2FjaGUgZW50cnkgaXMgbm90IHJldXNlZCBi
ZWNhdXNlIGl0IGV4cGlyZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzOTg2OQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyNTU2OTA+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGFlZjJhZjUxZjMxZjBlYWYzMzBl
NTZkZmJhZDcyMDhkNjk2ZTkyZTguLmQwMzU2M2MxYzg5YzU0Nzg1YTYzM2RjMzFiMjM0MDkwYWIw
MGRhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC02MCwxMSAr
NjAsMjMgQEAKIC8vICogQXV0b0Z1bmN0aW9uczoKIC8vIEluZGljYXRlcyB0aGF0IHRoaXMgQ1NT
IHByb3BlcnR5IHJlcXVpcmVzIGhhbmRsaW5nIG9mICJhdXRvIiBhbmQgaGFzCiAvLyBjb3JyZXNw
b25kaW5nIGhhc0F1dG9YWFgoKSAvIHNldEhhc0F1dG9YWFgoKSBtZXRob2RzIG9uIFJlbmRlclN0
eWxlLgorLy8KKy8vICogQ29sb3JQcm9wZXJ0eToKKy8vIEluZGljYXRlcyB0aGF0IHRoaXMgQ1NT
IHByb3BlcnR5IGlzIGEgY29sb3IgcHJvcGVydHkgd2l0aCBhCisvLyAic2V0VmlzaXRlZExpbmtY
WFgoKSIgc2V0dGVyIG9uIFJlbmRlclN0eWxlIHRvIGJlIGNhbGxlZCB3aGVuCisvLyBTdHlsZVJl
c29sdmVyOjphcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKCkgcmV0dXJuIHRydWUuCisv
LyBUaGUgcmVndWxhciBzZXR0ZXIgb24gUmVuZGVyU3R5bGUgd2lsbCBvbmx5IGJlIGNhbGxlZCBp
ZgorLy8gU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKCkgcmV0dXJu
cyB0cnVlLgorLy8KKy8vICogTm9EZWZhdWx0Q29sb3I6CisvLyBTaG91bGQgb25seSB3aXRoIHVz
ZWQgd2l0aCAiQ29sb3JQcm9wZXJ0eSIuIEl0IGluZGljYXRlcyB0aGF0IGZvciBzZXR0aW5nCisv
LyB0aGUgaW5oZXJpdGVkIHZhbHVlLCBpdCB3aWxsIG5vdCBmYWxsYmFjayB0byB1c2luZyB0aGUg
cGFyZW50J3MgImNvbG9yIgorLy8gcHJvcGVydHkgaWYgdGhlIGluaGVyaXRlZCBjb2xvciBpcyBp
bnZhbGlkLgogCiAKIC8vIGhpZ2gtcHJpb3JpdHkgcHJvcGVydHkgbmFtZXMgaGF2ZSB0byBiZSBs
aXN0ZWQgZmlyc3QsIHRvIHNpbXBsaWZ5IHRoZSBjaGVjawogLy8gZm9yIGFwcGx5aW5nIHRoZW0g
Zmlyc3QuCi1jb2xvciBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1aWxkZXJdCitjb2xvciBbSW5o
ZXJpdGVkLCBDb2xvclByb3BlcnR5LCBOb0RlZmF1bHRDb2xvcl0KIGRpcmVjdGlvbiBbSW5oZXJp
dGVkLCBDdXN0b209VmFsdWVdCiBkaXNwbGF5IFtDdXN0b209SW5oZXJpdHxWYWx1ZV0KIGZvbnQg
W0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQpAQCAtMTEyLDcgKzEyNCw3IEBAIGJhY2tn
cm91bmQgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KIGJhY2tncm91bmQtYXR0YWNobWVudCBbTGVnYWN5
U3R5bGVCdWlsZGVyXQogYmFja2dyb3VuZC1ibGVuZC1tb2RlIFtMZWdhY3lTdHlsZUJ1aWxkZXJd
CiBiYWNrZ3JvdW5kLWNsaXAgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KLWJhY2tncm91bmQtY29sb3Ig
W0xlZ2FjeVN0eWxlQnVpbGRlcl0KK2JhY2tncm91bmQtY29sb3IgW0NvbG9yUHJvcGVydHksIElu
aXRpYWw9aW52YWxpZENvbG9yLCBOb0RlZmF1bHRDb2xvcl0KIGJhY2tncm91bmQtaW1hZ2UgW0xl
Z2FjeVN0eWxlQnVpbGRlcl0KIGJhY2tncm91bmQtb3JpZ2luIFtMZWdhY3lTdHlsZUJ1aWxkZXJd
CiBiYWNrZ3JvdW5kLXBvc2l0aW9uIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCkBAIC0xMjQsNyArMTM2
LDcgQEAgYmFja2dyb3VuZC1yZXBlYXQteSBbTGVnYWN5U3R5bGVCdWlsZGVyXQogYmFja2dyb3Vu
ZC1zaXplIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiBib3JkZXIgW0xlZ2FjeVN0eWxlQnVpbGRlcl0K
IGJvcmRlci1ib3R0b20gW0xlZ2FjeVN0eWxlQnVpbGRlcl0KLWJvcmRlci1ib3R0b20tY29sb3Ig
W0xlZ2FjeVN0eWxlQnVpbGRlcl0KK2JvcmRlci1ib3R0b20tY29sb3IgW0NvbG9yUHJvcGVydHks
IEluaXRpYWw9aW52YWxpZENvbG9yXQogYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyBbSW5pdGlh
bD1pbml0aWFsQm9yZGVyUmFkaXVzLCBDb252ZXJ0ZXI9UmFkaXVzXQogLXdlYmtpdC1ib3JkZXIt
Ym90dG9tLWxlZnQtcmFkaXVzID0gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cwogYm9yZGVyLWJv
dHRvbS1yaWdodC1yYWRpdXMgW0luaXRpYWw9aW5pdGlhbEJvcmRlclJhZGl1cywgQ29udmVydGVy
PVJhZGl1c10KQEAgLTE0MCwxOCArMTUyLDE4IEBAIGJvcmRlci1pbWFnZS1zbGljZSBbQ3VzdG9t
PUFsbF0KIGJvcmRlci1pbWFnZS1zb3VyY2UgW0NvbnZlcnRlcj1TdHlsZUltYWdlPENTU1Byb3Bl
cnR5Qm9yZGVySW1hZ2VTb3VyY2U+XQogYm9yZGVyLWltYWdlLXdpZHRoIFtDdXN0b209QWxsXQog
Ym9yZGVyLWxlZnQgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KLWJvcmRlci1sZWZ0LWNvbG9yIFtMZWdh
Y3lTdHlsZUJ1aWxkZXJdCitib3JkZXItbGVmdC1jb2xvciBbQ29sb3JQcm9wZXJ0eSwgSW5pdGlh
bD1pbnZhbGlkQ29sb3JdCiBib3JkZXItbGVmdC1zdHlsZSBbVHlwZU5hbWU9RUJvcmRlclN0eWxl
LCBJbml0aWFsPWluaXRpYWxCb3JkZXJTdHlsZV0KIGJvcmRlci1sZWZ0LXdpZHRoIFtJbml0aWFs
PWluaXRpYWxCb3JkZXJXaWR0aCwgQ29udmVydGVyPUxpbmVXaWR0aDxmbG9hdD5dCiBib3JkZXIt
cmFkaXVzIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiBib3JkZXItcmlnaHQgW0xlZ2FjeVN0eWxlQnVp
bGRlcl0KLWJvcmRlci1yaWdodC1jb2xvciBbTGVnYWN5U3R5bGVCdWlsZGVyXQorYm9yZGVyLXJp
Z2h0LWNvbG9yIFtDb2xvclByb3BlcnR5LCBJbml0aWFsPWludmFsaWRDb2xvcl0KIGJvcmRlci1y
aWdodC1zdHlsZSBbVHlwZU5hbWU9RUJvcmRlclN0eWxlLCBJbml0aWFsPWluaXRpYWxCb3JkZXJT
dHlsZV0KIGJvcmRlci1yaWdodC13aWR0aCBbSW5pdGlhbD1pbml0aWFsQm9yZGVyV2lkdGgsIENv
bnZlcnRlcj1MaW5lV2lkdGg8ZmxvYXQ+XQogYm9yZGVyLXNwYWNpbmcgW0luaGVyaXRlZCwgTGVn
YWN5U3R5bGVCdWlsZGVyXQogYm9yZGVyLXN0eWxlIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiBib3Jk
ZXItdG9wIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCi1ib3JkZXItdG9wLWNvbG9yIFtMZWdhY3lTdHls
ZUJ1aWxkZXJdCitib3JkZXItdG9wLWNvbG9yIFtDb2xvclByb3BlcnR5LCBJbml0aWFsPWludmFs
aWRDb2xvcl0KIGJvcmRlci10b3AtbGVmdC1yYWRpdXMgW0luaXRpYWw9aW5pdGlhbEJvcmRlclJh
ZGl1cywgQ29udmVydGVyPVJhZGl1c10KIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyA9
IGJvcmRlci10b3AtbGVmdC1yYWRpdXMKIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzIFtJbml0aWFs
PWluaXRpYWxCb3JkZXJSYWRpdXMsIENvbnZlcnRlcj1SYWRpdXNdCkBAIC0yMDksNyArMjIxLDcg
QEAgb3BhY2l0eSBbVHlwZU5hbWU9ZmxvYXRdCiAtd2Via2l0LW9wYWNpdHkgPSBvcGFjaXR5CiBv
cnBoYW5zIFtJbmhlcml0ZWQsIFR5cGVOYW1lPXNob3J0LCBBdXRvRnVuY3Rpb25zXQogb3V0bGlu
ZSBbTGVnYWN5U3R5bGVCdWlsZGVyXQotb3V0bGluZS1jb2xvciBbTGVnYWN5U3R5bGVCdWlsZGVy
XQorb3V0bGluZS1jb2xvciBbQ29sb3JQcm9wZXJ0eSwgSW5pdGlhbD1pbnZhbGlkQ29sb3JdCiBv
dXRsaW5lLW9mZnNldCBbQ29udmVydGVyPUNvbXB1dGVkTGVuZ3RoPGludD5dCiBvdXRsaW5lLXN0
eWxlIFtDdXN0b209QWxsXQogb3V0bGluZS13aWR0aCBbQ29udmVydGVyPUxpbmVXaWR0aDx1bnNp
Z25lZCBzaG9ydD5dCkBAIC0zNTEsNyArMzYzLDcgQEAgY29sdW1uLXByb2dyZXNzaW9uIFtUeXBl
TmFtZT1Db2x1bW5Qcm9ncmVzc2lvbl0KIC13ZWJraXQtY29sdW1uLXByb2dyZXNzaW9uID0gY29s
dW1uLXByb2dyZXNzaW9uCiBjb2x1bW4tcnVsZSBbTGVnYWN5U3R5bGVCdWlsZGVyXQogLXdlYmtp
dC1jb2x1bW4tcnVsZSA9IGNvbHVtbi1ydWxlCi1jb2x1bW4tcnVsZS1jb2xvciBbTGVnYWN5U3R5
bGVCdWlsZGVyXQorY29sdW1uLXJ1bGUtY29sb3IgW0NvbG9yUHJvcGVydHksIEluaXRpYWw9aW52
YWxpZENvbG9yXQogLXdlYmtpdC1jb2x1bW4tcnVsZS1jb2xvciA9IGNvbHVtbi1ydWxlLWNvbG9y
CiBjb2x1bW4tcnVsZS1zdHlsZSBbVHlwZU5hbWU9RUJvcmRlclN0eWxlLCBJbml0aWFsPWluaXRp
YWxCb3JkZXJTdHlsZV0KIC13ZWJraXQtY29sdW1uLXJ1bGUtc3R5bGUgPSBjb2x1bW4tcnVsZS1z
dHlsZQpAQCAtNDk3LDE0ICs1MDksMTQgQEAgb3JkZXIgW1R5cGVOYW1lPWludF0KIC13ZWJraXQt
dGV4dC1kZWNvcmF0aW9uIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiAtd2Via2l0LXRleHQtZGVjb3Jh
dGlvbi1saW5lIFtOYW1lRm9yTWV0aG9kcz1UZXh0RGVjb3JhdGlvbiwgQ29udmVydGVyPVRleHRE
ZWNvcmF0aW9uXQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGUgW1R5cGVOYW1lPVRleHRE
ZWNvcmF0aW9uU3R5bGVdCi0td2Via2l0LXRleHQtZGVjb3JhdGlvbi1jb2xvciBbTGVnYWN5U3R5
bGVCdWlsZGVyXQorLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tY29sb3IgW0NvbG9yUHJvcGVydHks
IEluaXRpYWw9aW52YWxpZENvbG9yXQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcCBbSW5o
ZXJpdGVkLCBDb252ZXJ0ZXI9VGV4dERlY29yYXRpb25Ta2lwXQogLXdlYmtpdC10ZXh0LXVuZGVy
bGluZS1wb3NpdGlvbiBbSW5oZXJpdGVkLCBDb252ZXJ0ZXI9VGV4dFVuZGVybGluZVBvc2l0aW9u
XQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCBbSW5oZXJpdGVkLCBMZWdhY3lT
dHlsZUJ1aWxkZXJdCiAtd2Via2l0LXRleHQtZW1waGFzaXMgW0luaGVyaXRlZCwgTGVnYWN5U3R5
bGVCdWlsZGVyXQogLWVwdWItdGV4dC1lbXBoYXNpcyA9IC13ZWJraXQtdGV4dC1lbXBoYXNpcwog
dGV4dC1lbXBoYXNpcyA9IC13ZWJraXQtdGV4dC1lbXBoYXNpcwotLXdlYmtpdC10ZXh0LWVtcGhh
c2lzLWNvbG9yIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KKy13ZWJraXQtdGV4dC1l
bXBoYXNpcy1jb2xvciBbSW5oZXJpdGVkLCBDb2xvclByb3BlcnR5LCBJbml0aWFsPWludmFsaWRD
b2xvcl0KIC1lcHViLXRleHQtZW1waGFzaXMtY29sb3IgPSAtd2Via2l0LXRleHQtZW1waGFzaXMt
Y29sb3IKIHRleHQtZW1waGFzaXMtY29sb3IgPSAtd2Via2l0LXRleHQtZW1waGFzaXMtY29sb3IK
IC13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbiBbSW5oZXJpdGVkLCBDb252ZXJ0ZXI9VGV4
dEVtcGhhc2lzUG9zaXRpb25dCkBAIC01MTIsMTAgKzUyNCwxMCBAQCB0ZXh0LWVtcGhhc2lzLXBv
c2l0aW9uID0gLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXBvc2l0aW9uCiAtd2Via2l0LXRleHQtZW1w
aGFzaXMtc3R5bGUgW0luaGVyaXRlZCwgQ3VzdG9tPUFsbF0KIC1lcHViLXRleHQtZW1waGFzaXMt
c3R5bGUgPSAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKIHRleHQtZW1waGFzaXMtc3R5bGUg
PSAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKLS13ZWJraXQtdGV4dC1maWxsLWNvbG9yIFtJ
bmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KKy13ZWJraXQtdGV4dC1maWxsLWNvbG9yIFtJ
bmhlcml0ZWQsIENvbG9yUHJvcGVydHksIEluaXRpYWw9aW52YWxpZENvbG9yXQogLXdlYmtpdC10
ZXh0LXNlY3VyaXR5IFtJbmhlcml0ZWRdCiAtd2Via2l0LXRleHQtc3Ryb2tlIFtJbmhlcml0ZWQs
IExlZ2FjeVN0eWxlQnVpbGRlcl0KLS13ZWJraXQtdGV4dC1zdHJva2UtY29sb3IgW0luaGVyaXRl
ZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQorLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvciBbSW5oZXJp
dGVkLCBDb2xvclByb3BlcnR5LCBJbml0aWFsPWludmFsaWRDb2xvcl0KIC13ZWJraXQtdGV4dC1z
dHJva2Utd2lkdGggW0luaGVyaXRlZCwgQ29udmVydGVyPVRleHRTdHJva2VXaWR0aF0KIC13ZWJr
aXQtdHJhbnNmb3JtIFtDb252ZXJ0ZXI9VHJhbnNmb3JtXQogLXdlYmtpdC10cmFuc2Zvcm0tb3Jp
Z2luIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRl
ZFN0eWxlQnVpbGRlci5jcHAKaW5kZXggOTQxYzFkOTJkNTEzNGJlYTlkM2EyZDJjNDc4NTY2NTZi
MmRlYmY1MC4uYjE2OWI5N2M1YzU1OWRjYTc3ODM3MTk4YTFlZjI5NWJlZWQ4YzBkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcApAQCAtNDEsNTYg
KzQxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwogCi1lbnVtIENvbG9ySW5oZXJpdCB7Tm9Jbmhlcml0RnJvbVBhcmVudCA9IDAsIEluaGVyaXRG
cm9tUGFyZW50fTsKLUNvbG9yIGRlZmF1bHRJbml0aWFsQ29sb3IoKTsKLUNvbG9yIGRlZmF1bHRJ
bml0aWFsQ29sb3IoKSB7IHJldHVybiBDb2xvcigpOyB9Ci10ZW1wbGF0ZSA8Q29sb3JJbmhlcml0
IGluaGVyaXRDb2xvckZyb21QYXJlbnQsCi0gICAgICAgICAgQ29sb3IgKFJlbmRlclN0eWxlOjoq
Z2V0dGVyRnVuY3Rpb24pKCkgY29uc3QsCi0gICAgICAgICAgdm9pZCAoUmVuZGVyU3R5bGU6Oipz
ZXR0ZXJGdW5jdGlvbikoY29uc3QgQ29sb3ImKSwKLSAgICAgICAgICB2b2lkIChSZW5kZXJTdHls
ZTo6KnZpc2l0ZWRMaW5rU2V0dGVyRnVuY3Rpb24pKGNvbnN0IENvbG9yJiksCi0gICAgICAgICAg
Q29sb3IgKFJlbmRlclN0eWxlOjoqZGVmYXVsdEZ1bmN0aW9uKSgpIGNvbnN0LAotICAgICAgICAg
IENvbG9yICgqaW5pdGlhbEZ1bmN0aW9uKSgpID0gJmRlZmF1bHRJbml0aWFsQ29sb3I+Ci1jbGFz
cyBBcHBseVByb3BlcnR5Q29sb3IgewotcHVibGljOgotICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5o
ZXJpdFZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIpCi0g
ICAgewotICAgICAgICAvLyBWaXNpdGVkIGxpbmsgc3R5bGUgY2FuIG5ldmVyIGV4cGxpY2l0bHkg
aW5oZXJpdCBmcm9tIHBhcmVudCB2aXNpdGVkIGxpbmsgc3R5bGUgc28gbm8gc2VwYXJhdGUgZ2V0
dGVycyBhcmUgbmVlZGVkLgotICAgICAgICBDb2xvciBjb2xvciA9IChzdHlsZVJlc29sdmVyLT5w
YXJlbnRTdHlsZSgpLT4qZ2V0dGVyRnVuY3Rpb24pKCk7Ci0gICAgICAgIGFwcGx5Q29sb3JWYWx1
ZShzdHlsZVJlc29sdmVyLCBjb2xvci5pc1ZhbGlkKCkgPyBjb2xvciA6IChzdHlsZVJlc29sdmVy
LT5wYXJlbnRTdHlsZSgpLT4qZGVmYXVsdEZ1bmN0aW9uKSgpKTsKLSAgICB9Ci0KLSAgICBzdGF0
aWMgdm9pZCBhcHBseUluaXRpYWxWYWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBz
dHlsZVJlc29sdmVyKQotICAgIHsKLSAgICAgICAgYXBwbHlDb2xvclZhbHVlKHN0eWxlUmVzb2x2
ZXIsIGluaXRpYWxGdW5jdGlvbigpKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBhcHBseVZh
bHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZl
ciwgQ1NTVmFsdWUqIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKCFpczxDU1NQcmltaXRpdmVW
YWx1ZT4oKnZhbHVlKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBDU1NQcmltaXRp
dmVWYWx1ZSYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZh
bHVlKTsKLSAgICAgICAgaWYgKGluaGVyaXRDb2xvckZyb21QYXJlbnQgJiYgcHJpbWl0aXZlVmFs
dWUuZ2V0VmFsdWVJRCgpID09IENTU1ZhbHVlQ3VycmVudGNvbG9yKQotICAgICAgICAgICAgYXBw
bHlJbmhlcml0VmFsdWUocHJvcGVydHlJRCwgc3R5bGVSZXNvbHZlcik7Ci0gICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgaWYgKHN0eWxlUmVzb2x2ZXItPmFwcGx5UHJvcGVydHlUb1JlZ3VsYXJT
dHlsZSgpKQotICAgICAgICAgICAgICAgIChzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT4qc2V0dGVy
RnVuY3Rpb24pKHN0eWxlUmVzb2x2ZXItPmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKCZwcmltaXRp
dmVWYWx1ZSkpOwotICAgICAgICAgICAgaWYgKHN0eWxlUmVzb2x2ZXItPmFwcGx5UHJvcGVydHlU
b1Zpc2l0ZWRMaW5rU3R5bGUoKSkKLSAgICAgICAgICAgICAgICAoc3R5bGVSZXNvbHZlci0+c3R5
bGUoKS0+KnZpc2l0ZWRMaW5rU2V0dGVyRnVuY3Rpb24pKHN0eWxlUmVzb2x2ZXItPmNvbG9yRnJv
bVByaW1pdGl2ZVZhbHVlKCZwcmltaXRpdmVWYWx1ZSwgLyogZm9yVmlzaXRlZExpbmsgKi8gdHJ1
ZSkpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgYXBwbHlDb2xvclZhbHVl
KFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIGNvbnN0IENvbG9yJiBjb2xvcikKLSAgICB7
Ci0gICAgICAgIGlmIChzdHlsZVJlc29sdmVyLT5hcHBseVByb3BlcnR5VG9SZWd1bGFyU3R5bGUo
KSkKLSAgICAgICAgICAgIChzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT4qc2V0dGVyRnVuY3Rpb24p
KGNvbG9yKTsKLSAgICAgICAgaWYgKHN0eWxlUmVzb2x2ZXItPmFwcGx5UHJvcGVydHlUb1Zpc2l0
ZWRMaW5rU3R5bGUoKSkKLSAgICAgICAgICAgIChzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT4qdmlz
aXRlZExpbmtTZXR0ZXJGdW5jdGlvbikoY29sb3IpOwotICAgIH0KLQotICAgIHN0YXRpYyBQcm9w
ZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxlcigpIHsgcmV0dXJuIFByb3BlcnR5SGFuZGxlcigmYXBw
bHlJbmhlcml0VmFsdWUsICZhcHBseUluaXRpYWxWYWx1ZSwgJmFwcGx5VmFsdWUpOyB9Ci19Owot
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIHN0cnVjdCBGaWxsTGF5ZXJBY2Nlc3NvclR5cGVzIHsK
ICAgICB0eXBlZGVmIFQgU2V0dGVyOwpAQCAtNTM0LDcgKzQ4NCw2IEBAIERlcHJlY2F0ZWRTdHls
ZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50LCBBcHBseVByb3BlcnR5RmlsbExheWVy
PEVGaWxsQXR0YWNobWVudCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQXR0YWNobWVudCwgQmFja2dy
b3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNrZ3JvdW5kTGF5ZXJzLCAmUmVu
ZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxsTGF5ZXI6OmlzQXR0YWNobWVudFNldCwg
JkZpbGxMYXllcjo6YXR0YWNobWVudCwgJkZpbGxMYXllcjo6c2V0QXR0YWNobWVudCwgJkZpbGxM
YXllcjo6Y2xlYXJBdHRhY2htZW50LCAmRmlsbExheWVyOjppbml0aWFsRmlsbEF0dGFjaG1lbnQs
ICZDU1NUb1N0eWxlTWFwOjptYXBGaWxsQXR0YWNobWVudD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAg
ICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZEJsZW5kTW9kZSwgQXBw
bHlQcm9wZXJ0eUZpbGxMYXllcjxCbGVuZE1vZGUsIENTU1Byb3BlcnR5QmFja2dyb3VuZEJsZW5k
TW9kZSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNrZ3JvdW5k
TGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxsTGF5ZXI6OmlzQmxl
bmRNb2RlU2V0LCAmRmlsbExheWVyOjpibGVuZE1vZGUsICZGaWxsTGF5ZXI6OnNldEJsZW5kTW9k
ZSwgJkZpbGxMYXllcjo6Y2xlYXJCbGVuZE1vZGUsICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsQmxl
bmRNb2RlLCAmQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbEJsZW5kTW9kZT46OmNyZWF0ZUhhbmRsZXIo
KSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZENsaXAsIEFw
cGx5UHJvcGVydHlGaWxsTGF5ZXI8RUZpbGxCb3gsIENTU1Byb3BlcnR5QmFja2dyb3VuZENsaXAs
IEJhY2tncm91bmRGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVy
cywgJlJlbmRlclN0eWxlOjpiYWNrZ3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NsaXBTZXQs
ICZGaWxsTGF5ZXI6OmNsaXAsICZGaWxsTGF5ZXI6OnNldENsaXAsICZGaWxsTGF5ZXI6OmNsZWFy
Q2xpcCwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxDbGlwLCAmQ1NTVG9TdHlsZU1hcDo6bWFwRmls
bENsaXA+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eUJhY2tncm91bmRDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJl
bnQsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZENvbG9yLCAmUmVuZGVyU3R5bGU6OnNldEJhY2tn
cm91bmRDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua0JhY2tncm91bmRDb2xvciwg
JlJlbmRlclN0eWxlOjppbnZhbGlkQ29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZSwgQXBwbHlQcm9wZXJ0eUZp
bGxMYXllcjxTdHlsZUltYWdlKiwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UsIEJhY2tncm91
bmRGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRl
clN0eWxlOjpiYWNrZ3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0ltYWdlU2V0LCAmRmlsbExh
eWVyOjppbWFnZSwgJkZpbGxMYXllcjo6c2V0SW1hZ2UsICZGaWxsTGF5ZXI6OmNsZWFySW1hZ2Us
ICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsSW1hZ2UsICZDU1NUb1N0eWxlTWFwOjptYXBGaWxsSW1h
Z2U+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eUJhY2tncm91bmRPcmlnaW4sIEFwcGx5UHJvcGVydHlGaWxsTGF5ZXI8RUZpbGxCb3gsIENTU1By
b3BlcnR5QmFja2dyb3VuZE9yaWdpbiwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxl
OjphY2Nlc3NCYWNrZ3JvdW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMs
ICZGaWxsTGF5ZXI6OmlzT3JpZ2luU2V0LCAmRmlsbExheWVyOjpvcmlnaW4sICZGaWxsTGF5ZXI6
OnNldE9yaWdpbiwgJkZpbGxMYXllcjo6Y2xlYXJPcmlnaW4sICZGaWxsTGF5ZXI6OmluaXRpYWxG
aWxsT3JpZ2luLCAmQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbE9yaWdpbj46OmNyZWF0ZUhhbmRsZXIo
KSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9u
WCwgQXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxMZW5ndGgsIENTU1Byb3BlcnR5QmFja2dyb3VuZFBv
c2l0aW9uWCwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNrZ3Jv
dW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxsTGF5ZXI6Omlz
WFBvc2l0aW9uU2V0LCAmRmlsbExheWVyOjp4UG9zaXRpb24sICZGaWxsTGF5ZXI6OnNldFhQb3Np
dGlvbiwgJkZpbGxMYXllcjo6Y2xlYXJYUG9zaXRpb24sICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxs
WFBvc2l0aW9uLCAmQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbFhQb3NpdGlvbj46OmNyZWF0ZUhhbmRs
ZXIoKSk7CkBAIC01NDIsMTYgKzQ5MSw5IEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJl
Y2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJh
Y2tncm91bmRSZXBlYXRYLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVGaWxsUmVwZWF0LCBDU1NQ
cm9wZXJ0eUJhY2tncm91bmRSZXBlYXRYLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVuZGVyU3R5
bGU6OmFjY2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZExheWVy
cywgJkZpbGxMYXllcjo6aXNSZXBlYXRYU2V0LCAmRmlsbExheWVyOjpyZXBlYXRYLCAmRmlsbExh
eWVyOjpzZXRSZXBlYXRYLCAmRmlsbExheWVyOjpjbGVhclJlcGVhdFgsICZGaWxsTGF5ZXI6Omlu
aXRpYWxGaWxsUmVwZWF0WCwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxSZXBlYXRYPjo6Y3JlYXRl
SGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCYWNrZ3JvdW5k
UmVwZWF0WSwgQXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxFRmlsbFJlcGVhdCwgQ1NTUHJvcGVydHlC
YWNrZ3JvdW5kUmVwZWF0WSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nl
c3NCYWNrZ3JvdW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxs
TGF5ZXI6OmlzUmVwZWF0WVNldCwgJkZpbGxMYXllcjo6cmVwZWF0WSwgJkZpbGxMYXllcjo6c2V0
UmVwZWF0WSwgJkZpbGxMYXllcjo6Y2xlYXJSZXBlYXRZLCAmRmlsbExheWVyOjppbml0aWFsRmls
bFJlcGVhdFksICZDU1NUb1N0eWxlTWFwOjptYXBGaWxsUmVwZWF0WT46OmNyZWF0ZUhhbmRsZXIo
KSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUsIEFw
cGx5UHJvcGVydHlGaWxsTGF5ZXI8RmlsbFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUs
IEJhY2tncm91bmRGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVy
cywgJlJlbmRlclN0eWxlOjpiYWNrZ3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc1NpemVTZXQs
ICZGaWxsTGF5ZXI6OnNpemUsICZGaWxsTGF5ZXI6OnNldFNpemUsICZGaWxsTGF5ZXI6OmNsZWFy
U2l6ZSwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxTaXplLCAmQ1NTVG9TdHlsZU1hcDo6bWFwRmls
bFNpemU+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eUJvcmRlckJvdHRvbUNvbG9yLCBBcHBseVByb3BlcnR5Q29sb3I8Tm9Jbmhlcml0RnJvbVBh
cmVudCwgJlJlbmRlclN0eWxlOjpib3JkZXJCb3R0b21Db2xvciwgJlJlbmRlclN0eWxlOjpzZXRC
b3JkZXJCb3R0b21Db2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua0JvcmRlckJvdHRv
bUNvbG9yLCAmUmVuZGVyU3R5bGU6OmNvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQ
cm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3IsIEFwcGx5UHJvcGVydHlD
b2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OmJvcmRlckxlZnRDb2xvciwg
JlJlbmRlclN0eWxlOjpzZXRCb3JkZXJMZWZ0Q29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRl
ZExpbmtCb3JkZXJMZWZ0Q29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVy
KCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0Q29sb3Is
IEFwcGx5UHJvcGVydHlDb2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OmJv
cmRlclJpZ2h0Q29sb3IsICZSZW5kZXJTdHlsZTo6c2V0Qm9yZGVyUmlnaHRDb2xvciwgJlJlbmRl
clN0eWxlOjpzZXRWaXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IsICZSZW5kZXJTdHlsZTo6Y29s
b3I+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eUJvcmRlclRvcENvbG9yLCBBcHBseVByb3BlcnR5Q29sb3I8Tm9Jbmhlcml0RnJvbVBhcmVudCwg
JlJlbmRlclN0eWxlOjpib3JkZXJUb3BDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRCb3JkZXJUb3BD
b2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua0JvcmRlclRvcENvbG9yLCAmUmVuZGVy
U3R5bGU6OmNvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPEluaGVyaXRGcm9tUGFyZW50LCAm
UmVuZGVyU3R5bGU6OmNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldENvbG9yLCAmUmVuZGVyU3R5bGU6
OnNldFZpc2l0ZWRMaW5rQ29sb3IsICZSZW5kZXJTdHlsZTo6aW52YWxpZENvbG9yLCBSZW5kZXJT
dHlsZTo6aW5pdGlhbENvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlGb250U2l6ZSwgQXBwbHlQcm9wZXJ0eUZvbnRTaXplOjpjcmVhdGVI
YW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRTdHlsZSwg
QXBwbHlQcm9wZXJ0eUZvbnQ8Rm9udEl0YWxpYywgJkZvbnREZXNjcmlwdGlvbjo6aXRhbGljLCAm
Rm9udERlc2NyaXB0aW9uOjpzZXRJdGFsaWMsIEZvbnRJdGFsaWNPZmY+OjpjcmVhdGVIYW5kbGVy
KCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBBcHBs
eVByb3BlcnR5Rm9udDxGb250U21hbGxDYXBzLCAmRm9udERlc2NyaXB0aW9uOjpzbWFsbENhcHMs
ICZGb250RGVzY3JpcHRpb246OnNldFNtYWxsQ2FwcywgRm9udFNtYWxsQ2Fwc09mZj46OmNyZWF0
ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5T3V0bGluZUNv
bG9yLCBBcHBseVByb3BlcnR5Q29sb3I8Tm9Jbmhlcml0RnJvbVBhcmVudCwgJlJlbmRlclN0eWxl
OjpvdXRsaW5lQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0T3V0bGluZUNvbG9yLCAmUmVuZGVyU3R5
bGU6OnNldFZpc2l0ZWRMaW5rT3V0bGluZUNvbG9yLCAmUmVuZGVyU3R5bGU6OmNvbG9yPjo6Y3Jl
YXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRU
ZXh0RGVjb3JhdGlvbkNvbG9yLCBBcHBseVByb3BlcnR5Q29sb3I8Tm9Jbmhlcml0RnJvbVBhcmVu
dCwgJlJlbmRlclN0eWxlOjp0ZXh0RGVjb3JhdGlvbkNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFRl
eHREZWNvcmF0aW9uQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtUZXh0RGVjb3Jh
dGlvbkNvbG9yLCAmUmVuZGVyU3R5bGU6OmNvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlUZXh0UmVuZGVyaW5nLCBBcHBseVByb3BlcnR5
Rm9udDxUZXh0UmVuZGVyaW5nTW9kZSwgJkZvbnREZXNjcmlwdGlvbjo6dGV4dFJlbmRlcmluZ01v
ZGUsICZGb250RGVzY3JpcHRpb246OnNldFRleHRSZW5kZXJpbmdNb2RlLCBBdXRvVGV4dFJlbmRl
cmluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlBbmltYXRpb25EZWxheSwgQXBwbHlQcm9wZXJ0eUFuaW1hdGlvbjxkb3VibGUsICZBbmlt
YXRpb246OmRlbGF5LCAmQW5pbWF0aW9uOjpzZXREZWxheSwgJkFuaW1hdGlvbjo6aXNEZWxheVNl
dCwgJkFuaW1hdGlvbjo6Y2xlYXJEZWxheSwgJkFuaW1hdGlvbjo6aW5pdGlhbEFuaW1hdGlvbkRl
bGF5LCAmQ1NTVG9TdHlsZU1hcDo6bWFwQW5pbWF0aW9uRGVsYXksICZSZW5kZXJTdHlsZTo6YWNj
ZXNzQW5pbWF0aW9ucywgJlJlbmRlclN0eWxlOjphbmltYXRpb25zPjo6Y3JlYXRlSGFuZGxlcigp
KTsKQEAgLTU3NSw3ICs1MTcsNiBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVk
U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRC
YWNrZ3JvdW5kQ29tcG9zaXRlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPENvbXBvc2l0ZU9wZXJh
dG9yLCBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEJhY2tncm91bmRGaWxs
TGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRlclN0eWxl
OjpiYWNrZ3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwgJkZpbGxMYXll
cjo6Y29tcG9zaXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmNsZWFy
Q29tcG9zaXRlLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNTU1RvU3R5bGVN
YXA6Om1hcEZpbGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sIENTU1Byb3BlcnR5QmFj
a2dyb3VuZE9yaWdpbik7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
QmFja2dyb3VuZFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUpOwotICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eUNvbHVtblJ1bGVDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9y
PE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6Y29sdW1uUnVsZUNvbG9yLCAmUmVu
ZGVyU3R5bGU6OnNldENvbHVtblJ1bGVDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlu
a0NvbHVtblJ1bGVDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7
CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Rm9udEtlcm5pbmcsIEFw
cGx5UHJvcGVydHlGb250PEZvbnREZXNjcmlwdGlvbjo6S2VybmluZywgJkZvbnREZXNjcmlwdGlv
bjo6a2VybmluZywgJkZvbnREZXNjcmlwdGlvbjo6c2V0S2VybmluZywgRm9udERlc2NyaXB0aW9u
OjpBdXRvS2VybmluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVy
KENTU1Byb3BlcnR5V2Via2l0Rm9udFNtb290aGluZywgQXBwbHlQcm9wZXJ0eUZvbnQ8Rm9udFNt
b290aGluZ01vZGUsICZGb250RGVzY3JpcHRpb246OmZvbnRTbW9vdGhpbmcsICZGb250RGVzY3Jp
cHRpb246OnNldEZvbnRTbW9vdGhpbmcsIEF1dG9TbW9vdGhpbmc+OjpjcmVhdGVIYW5kbGVyKCkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRWYXJpYW50TGln
YXR1cmVzLCBBcHBseVByb3BlcnR5Rm9udFZhcmlhbnRMaWdhdHVyZXM6OmNyZWF0ZUhhbmRsZXIo
KSk7CkBAIC01ODgsOSArNTI5LDYgQEAgRGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVwcmVjYXRl
ZFN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
TWFza1JlcGVhdFksIEFwcGx5UHJvcGVydHlGaWxsTGF5ZXI8RUZpbGxSZXBlYXQsIENTU1Byb3Bl
cnR5V2Via2l0TWFza1JlcGVhdFksIE1hc2tGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNz
TWFza0xheWVycywgJlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLCAmRmlsbExheWVyOjppc1JlcGVh
dFlTZXQsICZGaWxsTGF5ZXI6OnJlcGVhdFksICZGaWxsTGF5ZXI6OnNldFJlcGVhdFksICZGaWxs
TGF5ZXI6OmNsZWFyUmVwZWF0WSwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxSZXBlYXRZLCAmQ1NT
VG9TdHlsZU1hcDo6bWFwRmlsbFJlcGVhdFk+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdE1hc2tTaXplLCBBcHBseVByb3BlcnR5Rmls
bExheWVyPEZpbGxTaXplLCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tTaXplLCBNYXNrRmlsbExheWVy
LCAmUmVuZGVyU3R5bGU6OmFjY2Vzc01hc2tMYXllcnMsICZSZW5kZXJTdHlsZTo6bWFza0xheWVy
cywgJkZpbGxMYXllcjo6aXNTaXplU2V0LCAmRmlsbExheWVyOjpzaXplLCAmRmlsbExheWVyOjpz
ZXRTaXplLCAmRmlsbExheWVyOjpjbGVhclNpemUsICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsU2l6
ZSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxTaXplPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrU291cmNlVHlwZSwgQXBwbHlQ
cm9wZXJ0eUZpbGxMYXllcjxFTWFza1NvdXJjZVR5cGUsIENTU1Byb3BlcnR5V2Via2l0TWFza1Nv
dXJjZVR5cGUsIE1hc2tGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzTWFza0xheWVycywg
JlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLCAmRmlsbExheWVyOjppc01hc2tTb3VyY2VUeXBlU2V0
LCAmRmlsbExheWVyOjptYXNrU291cmNlVHlwZSwgJkZpbGxMYXllcjo6c2V0TWFza1NvdXJjZVR5
cGUsICZGaWxsTGF5ZXI6OmNsZWFyTWFza1NvdXJjZVR5cGUsICZGaWxsTGF5ZXI6OmluaXRpYWxN
YXNrU291cmNlVHlwZSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxNYXNrU291cmNlVHlwZT46OmNy
ZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
VGV4dEVtcGhhc2lzQ29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxOb0luaGVyaXRGcm9tUGFyZW50
LCAmUmVuZGVyU3R5bGU6OnRleHRFbXBoYXNpc0NvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFRleHRF
bXBoYXNpc0NvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29s
b3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRGaWxsQ29sb3IsIEFwcGx5UHJvcGVydHlD
b2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OnRleHRGaWxsQ29sb3IsICZS
ZW5kZXJTdHlsZTo6c2V0VGV4dEZpbGxDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlu
a1RleHRGaWxsQ29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwot
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2VDb2xvciwg
QXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6dGV4
dFN0cm9rZUNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFRleHRTdHJva2VDb2xvciwgJlJlbmRlclN0
eWxlOjpzZXRWaXNpdGVkTGlua1RleHRTdHJva2VDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xvcj46
OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Vi
a2l0VHJhbnNpdGlvbkRlbGF5LCBBcHBseVByb3BlcnR5QW5pbWF0aW9uPGRvdWJsZSwgJkFuaW1h
dGlvbjo6ZGVsYXksICZBbmltYXRpb246OnNldERlbGF5LCAmQW5pbWF0aW9uOjppc0RlbGF5U2V0
LCAmQW5pbWF0aW9uOjpjbGVhckRlbGF5LCAmQW5pbWF0aW9uOjppbml0aWFsQW5pbWF0aW9uRGVs
YXksICZDU1NUb1N0eWxlTWFwOjptYXBBbmltYXRpb25EZWxheSwgJlJlbmRlclN0eWxlOjphY2Nl
c3NUcmFuc2l0aW9ucywgJlJlbmRlclN0eWxlOjp0cmFuc2l0aW9ucz46OmNyZWF0ZUhhbmRsZXIo
KSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvbkR1
cmF0aW9uLCBBcHBseVByb3BlcnR5QW5pbWF0aW9uPGRvdWJsZSwgJkFuaW1hdGlvbjo6ZHVyYXRp
b24sICZBbmltYXRpb246OnNldER1cmF0aW9uLCAmQW5pbWF0aW9uOjppc0R1cmF0aW9uU2V0LCAm
QW5pbWF0aW9uOjpjbGVhckR1cmF0aW9uLCAmQW5pbWF0aW9uOjppbml0aWFsQW5pbWF0aW9uRHVy
YXRpb24sICZDU1NUb1N0eWxlTWFwOjptYXBBbmltYXRpb25EdXJhdGlvbiwgJlJlbmRlclN0eWxl
OjphY2Nlc3NUcmFuc2l0aW9ucywgJlJlbmRlclN0eWxlOjp0cmFuc2l0aW9ucz46OmNyZWF0ZUhh
bmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VHJhbnNp
dGlvblByb3BlcnR5LCBBcHBseVByb3BlcnR5QW5pbWF0aW9uPENTU1Byb3BlcnR5SUQsICZBbmlt
YXRpb246OnByb3BlcnR5LCAmQW5pbWF0aW9uOjpzZXRQcm9wZXJ0eSwgJkFuaW1hdGlvbjo6aXNQ
cm9wZXJ0eVNldCwgJkFuaW1hdGlvbjo6Y2xlYXJQcm9wZXJ0eSwgJkFuaW1hdGlvbjo6aW5pdGlh
bEFuaW1hdGlvblByb3BlcnR5LCAmQ1NTVG9TdHlsZU1hcDo6bWFwQW5pbWF0aW9uUHJvcGVydHks
ICZSZW5kZXJTdHlsZTo6YWNjZXNzVHJhbnNpdGlvbnMsICZSZW5kZXJTdHlsZTo6dHJhbnNpdGlv
bnM+OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21h
a2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IGIzNzM3Mjc1
NjIwZTExYjJmY2VkNmIyYWE4MjRiYTBiODRmMTdiOTQuLjlhZGE0ODgxOWZmYmM4ZjdmNGNkZmI0
MjE0ZjFmNmMzMDNiY2E5N2EgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJv
cC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTQ0LDExICs0NCwx
MyBAQCBteSAlbmFtZUlzSW5oZXJpdGVkOwogbXkgJXByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVy
T3B0aW9uczsKIG15ICVzdHlsZUJ1aWxkZXJPcHRpb25zID0gKAogICBBdXRvRnVuY3Rpb25zID0+
IDEsICMgRGVmaW5lZCBpbiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVy
LmgKKyAgQ29sb3JQcm9wZXJ0eSA9PiAxLAogICBDb252ZXJ0ZXIgPT4gMSwKICAgQ3VzdG9tID0+
IDEsCiAgIEdldHRlciA9PiAxLAogICBJbml0aWFsID0+IDEsCiAgIE5hbWVGb3JNZXRob2RzID0+
IDEsCisgIE5vRGVmYXVsdENvbG9yID0+IDEsCiAgIFNldHRlciA9PiAxLAogICBUeXBlTmFtZSA9
PiAxLAogKTsKQEAgLTM2Myw2ICszNjUsMTMgQEAgc3ViIGdldEF1dG9TZXR0ZXIgewogICByZXR1
cm4gJHJlbmRlclN0eWxlIC4gIi0+c2V0SGFzQXV0byIgLiBnZXROYW1lRm9yTWV0aG9kcygkbmFt
ZSkgLiAiKCkiOwogfQogCitzdWIgZ2V0VmlzaXRlZExpbmtTZXR0ZXIgeworICBteSAkbmFtZSA9
IHNoaWZ0OworICBteSAkcmVuZGVyU3R5bGUgPSBzaGlmdDsKKworICByZXR1cm4gJHJlbmRlclN0
eWxlIC4gIi0+c2V0VmlzaXRlZExpbmsiIC4gZ2V0TmFtZUZvck1ldGhvZHMoJG5hbWUpOworfQor
CiBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsKICAgIyBTa2lwIHByb3BlcnRpZXMgc3RpbGwg
dXNpbmcgdGhlIGxlZ2FjeSBzdHlsZSBidWlsZGVyLgogICBuZXh0IHVubGVzcyBleGlzdHMoJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX0pOwpAQCAtMzk0LDE2ICs0MDMs
NjYgQEAgZm9yZWFjaCBteSAkbmFtZSAoQG5hbWVzKSB7CiAgICRwcm9wZXJ0aWVzV2l0aFN0eWxl
QnVpbGRlck9wdGlvbnN7JG5hbWV9eyJDdXN0b20ifSA9IFwlY3VzdG9tVmFsdWVzOwogfQogCit1
c2UgY29uc3RhbnQgeworICBOT1RfRk9SX1ZJU0lURURfTElOSyA9PiAwLAorICBGT1JfVklTSVRF
RF9MSU5LID0+IDEsCit9OworCitzdWIgY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUgeworICBteSAk
cHJpbWl0aXZlVmFsdWUgPSBzaGlmdDsKKyAgbXkgJGZvclZpc2l0ZWRMaW5rID0gQF8gPyBzaGlm
dCA6IE5PVF9GT1JfVklTSVRFRF9MSU5LOworCisgIHJldHVybiAic3R5bGVSZXNvbHZlci5jb2xv
ckZyb21QcmltaXRpdmVWYWx1ZSgmIiAuICRwcmltaXRpdmVWYWx1ZSAuICIsIC8qIGZvclZpc2l0
ZWRMaW5rICovICIgLiAoJGZvclZpc2l0ZWRMaW5rID8gInRydWUiIDogImZhbHNlIikgLiAiKSI7
Cit9CisKK3VzZSBjb25zdGFudCB7CisgIFZBTFVFX0lTX0NPTE9SID0+IDAsCisgIFZBTFVFX0lT
X1BSSU1JVElWRSA9PiAxLAorfTsKKworc3ViIGdlbmVyYXRlQ29sb3JWYWx1ZVNldHRlciB7Cisg
IG15ICRuYW1lID0gc2hpZnQ7CisgIG15ICR2YWx1ZSA9IHNoaWZ0OworICBteSAkaW5kZW50ID0g
c2hpZnQ7CisgIG15ICR2YWx1ZUlzUHJpbWl0aXZlID0gQF8gPyBzaGlmdCA6IFZBTFVFX0lTX0NP
TE9SOworCisgIG15ICRzdHlsZSA9ICJzdHlsZVJlc29sdmVyLnN0eWxlKCkiOworICBteSAkc2V0
dGVyQ29udGVudCAuPSAkaW5kZW50IC4gImlmIChzdHlsZVJlc29sdmVyLmFwcGx5UHJvcGVydHlU
b1JlZ3VsYXJTdHlsZSgpKVxuIjsKKyAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRw
cm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKKyAgbXkg
JGNvbG9yID0gJHZhbHVlSXNQcmltaXRpdmUgPyBjb2xvckZyb21QcmltaXRpdmVWYWx1ZSgkdmFs
dWUpIDogJHZhbHVlOworICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICAiIC4gJHNl
dFZhbHVlIC4gIigiIC4gJGNvbG9yIC4gIik7XG4iOworICAkc2V0dGVyQ29udGVudCAuPSAkaW5k
ZW50IC4gImlmIChzdHlsZVJlc29sdmVyLmFwcGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5rU3R5bGUo
KSlcbiI7CisgICRjb2xvciA9ICR2YWx1ZUlzUHJpbWl0aXZlID8gY29sb3JGcm9tUHJpbWl0aXZl
VmFsdWUoJHZhbHVlLCBGT1JfVklTSVRFRF9MSU5LKSA6ICR2YWx1ZTsKKyAgJHNldHRlckNvbnRl
bnQgLj0gJGluZGVudCAuICIgICAgIiAuIGdldFZpc2l0ZWRMaW5rU2V0dGVyKCRuYW1lLCAkc3R5
bGUpIC4gIigiIC4gJGNvbG9yIC4gIik7XG4iOworCisgIHJldHVybiAkc2V0dGVyQ29udGVudDsK
K30KKworc3ViIGhhbmRsZUN1cnJlbnRDb2xvclZhbHVlIHsKKyAgbXkgJG5hbWUgPSBzaGlmdDsK
KyAgbXkgJHByaW1pdGl2ZVZhbHVlID0gc2hpZnQ7CisgIG15ICRpbmRlbnQgPSBzaGlmdDsKKwor
ICBteSAkY29kZSA9ICRpbmRlbnQgLiAiaWYgKCIgLiAkcHJpbWl0aXZlVmFsdWUgLiAiLmdldFZh
bHVlSUQoKSA9PSBDU1NWYWx1ZUN1cnJlbnRjb2xvcikge1xuIjsKKyAgJGNvZGUgLj0gJGluZGVu
dCAuICIgICAgYXBwbHlJbmhlcml0IiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKHN0eWxlUmVzb2x2
ZXIpO1xuIjsKKyAgJGNvZGUgLj0gJGluZGVudCAuICIgICAgcmV0dXJuO1xuIjsKKyAgJGNvZGUg
Lj0gJGluZGVudCAuICJ9XG4iOworICByZXR1cm4gJGNvZGU7Cit9CisKIHN1YiBnZW5lcmF0ZUlu
aXRpYWxWYWx1ZVNldHRlciB7CiAgIG15ICRuYW1lID0gc2hpZnQ7CiAgIG15ICRpbmRlbnQgPSBz
aGlmdDsKIAogICBteSAkc2V0dGVyQ29udGVudCA9ICIiOwotICAkc2V0dGVyQ29udGVudCAuPSAk
aW5kZW50IC4gImlubGluZSB2b2lkIGFwcGx5SW5pdGlhbCIgLiAkbmFtZVRvSWR7JG5hbWV9IC4g
IihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKVxuIjsKKyAgJHNldHRlckNvbnRlbnQgLj0g
JGluZGVudCAuICJzdGF0aWMgdm9pZCBhcHBseUluaXRpYWwiIC4gJG5hbWVUb0lkeyRuYW1lfSAu
ICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcilcbiI7CiAgICRzZXR0ZXJDb250ZW50IC49
ICRpbmRlbnQgLiAie1xuIjsKICAgbXkgJHN0eWxlID0gInN0eWxlUmVzb2x2ZXIuc3R5bGUoKSI7
CiAgIGlmIChleGlzdHMgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17
IkF1dG9GdW5jdGlvbnMifSkgewogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAg
ICIgLiBnZXRBdXRvU2V0dGVyKCRuYW1lLCAkc3R5bGUpIC4gIjtcbiI7CisgIH0gZWxzaWYgKGV4
aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQ29sb3JQcm9w
ZXJ0eSJ9KSB7CisgICAgICBteSAkaW5pdGlhbENvbG9yID0gIlJlbmRlclN0eWxlOjoiIC4gJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkluaXRpYWwifSAuICIoKSI7
CisgICAgICAkc2V0dGVyQ29udGVudCAuPSBnZW5lcmF0ZUNvbG9yVmFsdWVTZXR0ZXIoJG5hbWUs
ICRpbml0aWFsQ29sb3IsICRpbmRlbnQgLiAiICAgICIpOwogICB9IGVsc2UgewogICAgIG15ICRz
ZXRWYWx1ZSA9ICRzdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRp
b25zeyRuYW1lfXsiU2V0dGVyIn07CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIg
ICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAkcHJvcGVydGllc1dpdGhTdHls
ZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiSW5pdGlhbCJ9IC4gIigpKTtcbiI7CkBAIC00MTgsMTgg
KzQ3NywzMCBAQCBzdWIgZ2VuZXJhdGVJbmhlcml0VmFsdWVTZXR0ZXIgewogICBteSAkaW5kZW50
ID0gc2hpZnQ7CiAKICAgbXkgJHNldHRlckNvbnRlbnQgPSAiIjsKLSAgJHNldHRlckNvbnRlbnQg
Lj0gJGluZGVudCAuICJpbmxpbmUgdm9pZCBhcHBseUluaGVyaXQiIC4gJG5hbWVUb0lkeyRuYW1l
fSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcilcbiI7CisgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAic3RhdGljIHZvaWQgYXBwbHlJbmhlcml0IiAuICRuYW1lVG9JZHskbmFt
ZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpXG4iOwogICAkc2V0dGVyQ29udGVu
dCAuPSAkaW5kZW50IC4gIntcbiI7CiAgIG15ICRwYXJlbnRTdHlsZSA9ICJzdHlsZVJlc29sdmVy
LnBhcmVudFN0eWxlKCkiOwogICBteSAkc3R5bGUgPSAic3R5bGVSZXNvbHZlci5zdHlsZSgpIjsK
KyAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVp
bGRlck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKKyAgbXkgJGRpZENhbGxTZXRWYWx1ZSA9IDA7
CiAgIGlmIChleGlzdHMgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17
IkF1dG9GdW5jdGlvbnMifSkgewogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAg
IGlmICgiIC4gZ2V0QXV0b0dldHRlcigkbmFtZSwgJHBhcmVudFN0eWxlKSAuICIpIHtcbiI7CiAg
ICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgICAgICIgLiBnZXRBdXRvU2V0dGVy
KCRuYW1lLCAkc3R5bGUpIC4gIjtcbiI7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAu
ICIgICAgICAgIHJldHVybjtcbiI7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIg
ICAgfVxuIjsKKyAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9w
dGlvbnN7JG5hbWV9eyJDb2xvclByb3BlcnR5In0pIHsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAk
aW5kZW50IC4gIiAgICBDb2xvciBjb2xvciA9ICIgLiAkcGFyZW50U3R5bGUgLiAiLT4iIC4gJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IkdldHRlciJ9IC4gIigpO1xu
IjsKKyAgICBpZiAoIWV4aXN0cygkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRu
YW1lfXsiTm9EZWZhdWx0Q29sb3IifSkpIHsKKyAgICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRl
bnQgLiAiICAgIGlmICghY29sb3IuaXNWYWxpZCgpKVxuIjsKKyAgICAgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiICAgICAgICBjb2xvciA9ICIgLiAkcGFyZW50U3R5bGUgLiAiLT5jb2xv
cigpO1xuIjsKKyAgICB9CisgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVDb2xvclZhbHVl
U2V0dGVyKCRuYW1lLCAiY29sb3IiLCAkaW5kZW50IC4gIiAgICAiKTsKKyAgICAkZGlkQ2FsbFNl
dFZhbHVlID0gMTsKKyAgfQorICBpZiAoISRkaWRDYWxsU2V0VmFsdWUpIHsKKyAgICBteSAkaW5o
ZXJpdGVkVmFsdWUgPSAkcGFyZW50U3R5bGUgLiAiLT4iIC4gICRwcm9wZXJ0aWVzV2l0aFN0eWxl
QnVpbGRlck9wdGlvbnN7JG5hbWV9eyJHZXR0ZXIifSAuICIoKSI7CisgICAgJHNldHRlckNvbnRl
bnQgLj0gJGluZGVudCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoIiAuICRpbmhlcml0ZWRWYWx1
ZSAuICIpO1xuIjsKICAgfQotICBteSAkc2V0VmFsdWUgPSAkc3R5bGUgLiAiLT4iIC4gJHByb3Bl
cnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OwotICAkc2V0dGVy
Q29udGVudCAuPSAkaW5kZW50IC4gIiAgICAiIC4gJHNldFZhbHVlIC4gIigiIC4gJHBhcmVudFN0
eWxlIC4gIi0+IiAuICAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsi
R2V0dGVyIn0gLiAiKCkpO1xuIjsKICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJ9XG4i
OwogCiAgIHJldHVybiAkc2V0dGVyQ29udGVudDsKQEAgLTQ0MCw3ICs1MTEsNyBAQCBzdWIgZ2Vu
ZXJhdGVWYWx1ZVNldHRlciB7CiAgIG15ICRpbmRlbnQgPSBzaGlmdDsKIAogICBteSAkc2V0dGVy
Q29udGVudCA9ICIiOwotICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gImlubGluZSB2b2lk
IGFwcGx5VmFsdWUiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVS
ZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKVxuIjsKKyAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVu
dCAuICJzdGF0aWMgdm9pZCBhcHBseVZhbHVlIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSlcbiI7CiAgICRzZXR0ZXJD
b250ZW50IC49ICRpbmRlbnQgLiAie1xuIjsKICAgbXkgJGNvbnZlcnRlZFZhbHVlOwogICBpZiAo
ZXhpc3RzKCRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJDb252ZXJ0
ZXIifSkpIHsKQEAgLTQ0OCwxNSArNTE5LDI3IEBAIHN1YiBnZW5lcmF0ZVZhbHVlU2V0dGVyIHsK
ICAgfSBlbHNlIHsKICAgICAkY29udmVydGVkVmFsdWUgPSAic3RhdGljX2Nhc3Q8IiAuICRwcm9w
ZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJUeXBlTmFtZSJ9IC4gIj4oZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkiOwogICB9CisKICAgbXkgJHN0eWxlID0g
InN0eWxlUmVzb2x2ZXIuc3R5bGUoKSI7CisgIG15ICRkaWRDYWxsU2V0VmFsdWUgPSAwOwogICBp
ZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBdXRv
RnVuY3Rpb25zIn0pIHsKICAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBpZiAo
ZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFs
dWVBdXRvKSB7XG4iOwogICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICAi
LiBnZXRBdXRvU2V0dGVyKCRuYW1lLCAkc3R5bGUpIC4gIjtcbiI7CiAgICAgJHNldHRlckNvbnRl
bnQgLj0gJGluZGVudCAuICIgICAgICAgIHJldHVybjtcbiI7CiAgICAgJHNldHRlckNvbnRlbnQg
Lj0gJGluZGVudCAuICIgICAgfVxuIjsKKyAgfSBlbHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0
aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJDb2xvclByb3BlcnR5In0pIHsKKyAgICAgICRz
ZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTtcbiI7CisgICAgICBpZiAoJG5hbWUgZXEg
ImNvbG9yIikgeworICAgICAgICAjIFRoZSAiY29sb3IiIHByb3BlcnR5IHN1cHBvcnRzICJjdXJy
ZW50Q29sb3IiIHZhbHVlLiBXZSBzaG91bGQgYWRkIGEgcGFyYW1ldGVyLgorICAgICAgICAkc2V0
dGVyQ29udGVudCAuPSBoYW5kbGVDdXJyZW50Q29sb3JWYWx1ZSgkbmFtZSwgInByaW1pdGl2ZVZh
bHVlIiwgJGluZGVudCAuICIgICAgIik7CisgICAgICB9CisgICAgICAkc2V0dGVyQ29udGVudCAu
PSBnZW5lcmF0ZUNvbG9yVmFsdWVTZXR0ZXIoJG5hbWUsICJwcmltaXRpdmVWYWx1ZSIsICRpbmRl
bnQgLiAiICAgICIsIFZBTFVFX0lTX1BSSU1JVElWRSk7CisgICAgICAkZGlkQ2FsbFNldFZhbHVl
ID0gMTsKKyAgfQorICBpZiAoISRkaWRDYWxsU2V0VmFsdWUpIHsKKyAgICBteSAkc2V0VmFsdWUg
PSAkc3R5bGUgLiAiLT4iIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFt
ZX17IlNldHRlciJ9OworICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICIgLiAk
c2V0VmFsdWUgLiAiKCIgLiAkY29udmVydGVkVmFsdWUgLiAiKTtcbiI7CiAgIH0KLSAgbXkgJHNl
dFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlv
bnN7JG5hbWV9eyJTZXR0ZXIifTsKLSAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAg
IiAuICRzZXRWYWx1ZSAuICIoIiAuICRjb252ZXJ0ZWRWYWx1ZSAuICIpO1xuIjsKICAgJHNldHRl
ckNvbnRlbnQgLj0gJGluZGVudCAuICJ9XG4iOwogCiAgIHJldHVybiAkc2V0dGVyQ29udGVudDsK
QEAgLTQ3OCw3ICs1NjEsOCBAQCBwcmludCBTVFlMRUJVSUxERVIgPDwgIkVPRiI7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIFN0eWxlQnVpbGRlckZ1bmN0aW9ucyB7CitjbGFz
cyBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMgeworcHVibGljOgogRU9GCiAKIGZvcmVhY2ggbXkgJG5h
bWUgKEBuYW1lcykgewpAQCAtNDk4LDcgKzU4Miw3IEBAIGZvcmVhY2ggbXkgJG5hbWUgKEBuYW1l
cykgewogfQogCiBwcmludCBTVFlMRUJVSUxERVIgPDwgIkVPRiI7Ci19IC8vIG5hbWVzcGFjZSBT
dHlsZUJ1aWxkZXJGdW5jdGlvbnMKK307CiAKIGJvb2wgU3R5bGVCdWlsZGVyOjphcHBseVByb3Bl
cnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHksIFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIs
IENTU1ZhbHVlJiB2YWx1ZSwgYm9vbCBpc0luaXRpYWwsIGJvb2wgaXNJbmhlcml0KQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA3YzBjZWEw
ZmJmNzkwYmUyNWQ2ZmZlY2IxZmE5MTZlMTFiYWRhNGU4Li4xMWIzYmY3ZjY2ZGRjNmE5OGJlZGU5
MDdkM2U0ZGUwMDk1ODc0ZTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaApAQCAtMTMwLDYgKzEzMCw3IEBAIGNsYXNzIFJlbmRlclN0eWxlOiBwdWJs
aWMgUmVmQ291bnRlZDxSZW5kZXJTdHlsZT4gewogICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJTVkdS
ZXNvdXJjZTsgLy8gRklYTUU6IE5lZWRzIHRvIGFsdGVyIHRoZSB2aXNpdGVkIHN0YXRlIGJ5IGhh
bmQuIFNob3VsZCBjbGVhbiB0aGUgU1ZHIGNvZGUgdXAgYW5kIG1vdmUgaXQgaW50byBSZW5kZXJT
dHlsZSBwZXJoYXBzLgogICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJUcmVlQXNUZXh0OyAvLyBGSVhN
RTogT25seSBuZWVkZWQgc28gdGhlIHJlbmRlciB0cmVlIGNhbiBrZWVwIGx5aW5nIGFuZCBkdW1w
IHRoZSB3cm9uZyBjb2xvcnMuICBSZWJhc2VsaW5pbmcgd291bGQgYWxsb3cgdGhpcyB0byBiZSB5
YW5rZWQuCiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlQnVpbGRlckN1c3RvbTsgLy8gU2V0cyBtZW1i
ZXJzIGRpcmVjdGx5LgorICAgIGZyaWVuZCBjbGFzcyBTdHlsZUJ1aWxkZXJGdW5jdGlvbnM7IC8v
IFNldHMgbWVtYmVycyBkaXJlY3RseS4KICAgICBmcmllbmQgY2xhc3MgU3R5bGVSZXNvbHZlcjsg
Ly8gU2V0cyBtZW1iZXJzIGRpcmVjdGx5LgogCiBwdWJsaWM6CkBAIC0yMDgyLDcgKzIwODMsNyBA
QCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIENvbG9yIGFjY2Vzc29ycyBhcmUgYWxsIHByaXZh
dGUgdG8gbWFrZSBzdXJlIGNhbGxlcnMgdXNlIHZpc2l0ZWREZXBlbmRlbnRDb2xvciBpbnN0ZWFk
IHRvIGFjY2VzcyB0aGVtLgotICAgIENvbG9yIGludmFsaWRDb2xvcigpIGNvbnN0IHsgc3RhdGlj
IENvbG9yIGludmFsaWQ7IHJldHVybiBpbnZhbGlkOyB9CisgICAgc3RhdGljIENvbG9yIGludmFs
aWRDb2xvcigpIHsgc3RhdGljIENvbG9yIGludmFsaWQ7IHJldHVybiBpbnZhbGlkOyB9CiAgICAg
Q29sb3IgYm9yZGVyTGVmdENvbG9yKCkgY29uc3QgeyByZXR1cm4gc3Vycm91bmQtPmJvcmRlci5s
ZWZ0KCkuY29sb3IoKTsgfQogICAgIENvbG9yIGJvcmRlclJpZ2h0Q29sb3IoKSBjb25zdCB7IHJl
dHVybiBzdXJyb3VuZC0+Ym9yZGVyLnJpZ2h0KCkuY29sb3IoKTsgfQogICAgIENvbG9yIGJvcmRl
clRvcENvbG9yKCkgY29uc3QgeyByZXR1cm4gc3Vycm91bmQtPmJvcmRlci50b3AoKS5jb2xvcigp
OyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243677</attachid>
            <date>2014-12-23 09:07:47 -0800</date>
            <delta_ts>2014-12-23 13:45:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139898-20141223090749.patch</filename>
            <type>text/plain</type>
            <size>32018</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgxZjAxMTE3MjYwNDYy
OGZjMmZkZDNjNTdmMThlMzFhN2EzNmQwMi4uNGIyODdjODhhMTcxMTVmZjlhYmRjOGJlNDBhYmJi
ODUwM2NkNTU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDE0LTEyLTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBjb2xvciBDU1MgcHJv
cGVydGllcyB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50
dGkgS29pdmlzdG8uCisKKyAgICAgICAgTW92ZSBjb2xvciBDU1MgcHJvcGVydGllcyB0byB0aGUg
bmV3IFN0eWxlQnVpbGRlciBieSB0ZWFjaGluZyB0aGUKKyAgICAgICAgU3R5bGVCdWlsZGVyIGdl
bmVyYXRvciBob3cgdG8gaGFuZGxlIHRoZW0uCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbjoKKyAgICAgICAgLSBNb3ZlIGNvbG9yIHByb3BlcnRpZXMgdG8gdGhlIG5ldyBTdHls
ZUJ1aWxkZXIuCisKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVC
dWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1bHRJbml0aWFsQ29sb3IpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUNvbG9yOjphcHBseUluaGVyaXRWYWx1
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Q29sb3I6OmFwcGx5
SW5pdGlhbFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlD
b2xvcjo6YXBwbHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3Bl
cnR5Q29sb3I6OmFwcGx5Q29sb3JWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpB
cHBseVByb3BlcnR5Q29sb3I6OmNyZWF0ZUhhbmRsZXIpOiBEZWxldGVkLgorICAgICAgICAtIERy
b3AgY29sb3IgcHJvcGVydGllcyBzdXBwb3J0IGZyb20gdGhlIERlcHJlY2F0ZWRTdHlsZUJ1aWxk
ZXIuCisKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgIC0gVGVhY2ggdGhlIFN0
eWxlQnVpbGRlciBnZW5lcmF0b3IgaG93IHRvIGhhbmRsZSBjb2xvciBwcm9wZXJ0aWVzLgorICAg
ICAgICAtIFVzZSBhIGNsYXNzIGZvciBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMgaW5zdGVhZCBvZiBh
IG5hbWVzcGFjZSBzbworICAgICAgICAgIHRoYXQgaXQgY2FuIGJlIG1hZGUgYSBmcmllbmQgb2Yg
UmVuZGVyU3R5bGUgY2xhc3MuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgLSBNYXJrIFN0eWxlQnVpbGRlckZ1bmN0aW9ucyBjbGFzcyBhcyBmcmll
bmQgYXMgaXRzIGZ1bmN0aW9ucworICAgICAgICAgIGNhbiBzZXQgUmVuZGVyU3R5bGUgbWVtYmVy
cyBkaXJlY3RseS4gVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQKKyAgICAgICAgICBpcyBhbHJlYWR5
IGRvbmUgZm9yIFN0eWxlQnVpbGRlckN1c3RvbSBjbGFzcy4gVGhlIG5ldyBjb2xvcgorICAgICAg
ICAgIHByb3BlcnRpZXMgaGFuZGxpbmcgY2FsbHMgcHJpdmF0ZSBtZXRob2RzIG9uIFJlbmRlclN0
eWxlLgorICAgICAgICAtIE1hcmsgaW52YWxpZENvbG9yKCkgbWV0aG9kIGFzIHN0YXRpYyBhcyBp
dCBkb2VzIG5vdCByZXF1aXJlCisgICAgICAgICAgYW4gaW5zdGFuY2UuCisKKzIwMTQtMTItMjIg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBbaU9TXSBMb2cgdXNp
bmcgRmVhdHVyZUNvdW50ZXIgd2hlbiBhIFBhY2hlQ2FjaGUgZW50cnkgaXMgbm90IHJldXNlZCBi
ZWNhdXNlIGl0IGV4cGlyZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzOTg2OQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTkyNTU2OTA+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IGFlZjJhZjUxZjMxZjBlYWYzMzBl
NTZkZmJhZDcyMDhkNjk2ZTkyZTguLjFiNWE0OGJiYWFkYmRmMDUwMGJkMDQ0NDNhMDc4MDI4ZDNj
OGUxOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC02MCwxMSAr
NjAsMjMgQEAKIC8vICogQXV0b0Z1bmN0aW9uczoKIC8vIEluZGljYXRlcyB0aGF0IHRoaXMgQ1NT
IHByb3BlcnR5IHJlcXVpcmVzIGhhbmRsaW5nIG9mICJhdXRvIiBhbmQgaGFzCiAvLyBjb3JyZXNw
b25kaW5nIGhhc0F1dG9YWFgoKSAvIHNldEhhc0F1dG9YWFgoKSBtZXRob2RzIG9uIFJlbmRlclN0
eWxlLgorLy8KKy8vICogVmlzaXRlZExpbmtDb2xvclN1cHBvcnQ6CisvLyBJbmRpY2F0ZXMgdGhh
dCB0aGlzIENTUyBwcm9wZXJ0eSBpcyBhIGNvbG9yIHByb3BlcnR5IHdpdGggYQorLy8gInNldFZp
c2l0ZWRMaW5rWFhYKCkiIHNldHRlciBvbiBSZW5kZXJTdHlsZSB0byBiZSBjYWxsZWQgd2hlbgor
Ly8gU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHlsZSgpIHJldHVy
biB0cnVlLgorLy8gVGhlIHJlZ3VsYXIgc2V0dGVyIG9uIFJlbmRlclN0eWxlIHdpbGwgb25seSBi
ZSBjYWxsZWQgaWYKKy8vIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHls
ZSgpIHJldHVybnMgdHJ1ZS4KKy8vCisvLyAqIE5vRGVmYXVsdENvbG9yOgorLy8gU2hvdWxkIG9u
bHkgd2l0aCB1c2VkIHdpdGggIlZpc2l0ZWRMaW5rQ29sb3JTdXBwb3J0Ii4gSXQgaW5kaWNhdGVz
IHRoYXQgZm9yCisvLyBzZXR0aW5nIHRoZSBpbmhlcml0ZWQgdmFsdWUsIGl0IHdpbGwgbm90IGZh
bGxiYWNrIHRvIHVzaW5nIHRoZSBwYXJlbnQncworLy8gImNvbG9yIiBwcm9wZXJ0eSBpZiB0aGUg
aW5oZXJpdGVkIGNvbG9yIGlzIGludmFsaWQuCiAKIAogLy8gaGlnaC1wcmlvcml0eSBwcm9wZXJ0
eSBuYW1lcyBoYXZlIHRvIGJlIGxpc3RlZCBmaXJzdCwgdG8gc2ltcGxpZnkgdGhlIGNoZWNrCiAv
LyBmb3IgYXBwbHlpbmcgdGhlbSBmaXJzdC4KLWNvbG9yIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxl
QnVpbGRlcl0KK2NvbG9yIFtJbmhlcml0ZWQsIFZpc2l0ZWRMaW5rQ29sb3JTdXBwb3J0LCBOb0Rl
ZmF1bHRDb2xvcl0KIGRpcmVjdGlvbiBbSW5oZXJpdGVkLCBDdXN0b209VmFsdWVdCiBkaXNwbGF5
IFtDdXN0b209SW5oZXJpdHxWYWx1ZV0KIGZvbnQgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWls
ZGVyXQpAQCAtMTEyLDcgKzEyNCw3IEBAIGJhY2tncm91bmQgW0xlZ2FjeVN0eWxlQnVpbGRlcl0K
IGJhY2tncm91bmQtYXR0YWNobWVudCBbTGVnYWN5U3R5bGVCdWlsZGVyXQogYmFja2dyb3VuZC1i
bGVuZC1tb2RlIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiBiYWNrZ3JvdW5kLWNsaXAgW0xlZ2FjeVN0
eWxlQnVpbGRlcl0KLWJhY2tncm91bmQtY29sb3IgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KK2JhY2tn
cm91bmQtY29sb3IgW1Zpc2l0ZWRMaW5rQ29sb3JTdXBwb3J0LCBJbml0aWFsPWludmFsaWRDb2xv
ciwgTm9EZWZhdWx0Q29sb3JdCiBiYWNrZ3JvdW5kLWltYWdlIFtMZWdhY3lTdHlsZUJ1aWxkZXJd
CiBiYWNrZ3JvdW5kLW9yaWdpbiBbTGVnYWN5U3R5bGVCdWlsZGVyXQogYmFja2dyb3VuZC1wb3Np
dGlvbiBbTGVnYWN5U3R5bGVCdWlsZGVyXQpAQCAtMTI0LDcgKzEzNiw3IEBAIGJhY2tncm91bmQt
cmVwZWF0LXkgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KIGJhY2tncm91bmQtc2l6ZSBbTGVnYWN5U3R5
bGVCdWlsZGVyXQogYm9yZGVyIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiBib3JkZXItYm90dG9tIFtM
ZWdhY3lTdHlsZUJ1aWxkZXJdCi1ib3JkZXItYm90dG9tLWNvbG9yIFtMZWdhY3lTdHlsZUJ1aWxk
ZXJdCitib3JkZXItYm90dG9tLWNvbG9yIFtWaXNpdGVkTGlua0NvbG9yU3VwcG9ydCwgSW5pdGlh
bD1pbnZhbGlkQ29sb3JdCiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIFtJbml0aWFsPWluaXRp
YWxCb3JkZXJSYWRpdXMsIENvbnZlcnRlcj1SYWRpdXNdCiAtd2Via2l0LWJvcmRlci1ib3R0b20t
bGVmdC1yYWRpdXMgPSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzCiBib3JkZXItYm90dG9tLXJp
Z2h0LXJhZGl1cyBbSW5pdGlhbD1pbml0aWFsQm9yZGVyUmFkaXVzLCBDb252ZXJ0ZXI9UmFkaXVz
XQpAQCAtMTQwLDE4ICsxNTIsMTggQEAgYm9yZGVyLWltYWdlLXNsaWNlIFtDdXN0b209QWxsXQog
Ym9yZGVyLWltYWdlLXNvdXJjZSBbQ29udmVydGVyPVN0eWxlSW1hZ2U8Q1NTUHJvcGVydHlCb3Jk
ZXJJbWFnZVNvdXJjZT5dCiBib3JkZXItaW1hZ2Utd2lkdGggW0N1c3RvbT1BbGxdCiBib3JkZXIt
bGVmdCBbTGVnYWN5U3R5bGVCdWlsZGVyXQotYm9yZGVyLWxlZnQtY29sb3IgW0xlZ2FjeVN0eWxl
QnVpbGRlcl0KK2JvcmRlci1sZWZ0LWNvbG9yIFtWaXNpdGVkTGlua0NvbG9yU3VwcG9ydCwgSW5p
dGlhbD1pbnZhbGlkQ29sb3JdCiBib3JkZXItbGVmdC1zdHlsZSBbVHlwZU5hbWU9RUJvcmRlclN0
eWxlLCBJbml0aWFsPWluaXRpYWxCb3JkZXJTdHlsZV0KIGJvcmRlci1sZWZ0LXdpZHRoIFtJbml0
aWFsPWluaXRpYWxCb3JkZXJXaWR0aCwgQ29udmVydGVyPUxpbmVXaWR0aDxmbG9hdD5dCiBib3Jk
ZXItcmFkaXVzIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiBib3JkZXItcmlnaHQgW0xlZ2FjeVN0eWxl
QnVpbGRlcl0KLWJvcmRlci1yaWdodC1jb2xvciBbTGVnYWN5U3R5bGVCdWlsZGVyXQorYm9yZGVy
LXJpZ2h0LWNvbG9yIFtWaXNpdGVkTGlua0NvbG9yU3VwcG9ydCwgSW5pdGlhbD1pbnZhbGlkQ29s
b3JdCiBib3JkZXItcmlnaHQtc3R5bGUgW1R5cGVOYW1lPUVCb3JkZXJTdHlsZSwgSW5pdGlhbD1p
bml0aWFsQm9yZGVyU3R5bGVdCiBib3JkZXItcmlnaHQtd2lkdGggW0luaXRpYWw9aW5pdGlhbEJv
cmRlcldpZHRoLCBDb252ZXJ0ZXI9TGluZVdpZHRoPGZsb2F0Pl0KIGJvcmRlci1zcGFjaW5nIFtJ
bmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KIGJvcmRlci1zdHlsZSBbTGVnYWN5U3R5bGVC
dWlsZGVyXQogYm9yZGVyLXRvcCBbTGVnYWN5U3R5bGVCdWlsZGVyXQotYm9yZGVyLXRvcC1jb2xv
ciBbTGVnYWN5U3R5bGVCdWlsZGVyXQorYm9yZGVyLXRvcC1jb2xvciBbVmlzaXRlZExpbmtDb2xv
clN1cHBvcnQsIEluaXRpYWw9aW52YWxpZENvbG9yXQogYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyBb
SW5pdGlhbD1pbml0aWFsQm9yZGVyUmFkaXVzLCBDb252ZXJ0ZXI9UmFkaXVzXQogLXdlYmtpdC1i
b3JkZXItdG9wLWxlZnQtcmFkaXVzID0gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cwogYm9yZGVyLXRv
cC1yaWdodC1yYWRpdXMgW0luaXRpYWw9aW5pdGlhbEJvcmRlclJhZGl1cywgQ29udmVydGVyPVJh
ZGl1c10KQEAgLTIwOSw3ICsyMjEsNyBAQCBvcGFjaXR5IFtUeXBlTmFtZT1mbG9hdF0KIC13ZWJr
aXQtb3BhY2l0eSA9IG9wYWNpdHkKIG9ycGhhbnMgW0luaGVyaXRlZCwgVHlwZU5hbWU9c2hvcnQs
IEF1dG9GdW5jdGlvbnNdCiBvdXRsaW5lIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCi1vdXRsaW5lLWNv
bG9yIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCitvdXRsaW5lLWNvbG9yIFtWaXNpdGVkTGlua0NvbG9y
U3VwcG9ydCwgSW5pdGlhbD1pbnZhbGlkQ29sb3JdCiBvdXRsaW5lLW9mZnNldCBbQ29udmVydGVy
PUNvbXB1dGVkTGVuZ3RoPGludD5dCiBvdXRsaW5lLXN0eWxlIFtDdXN0b209QWxsXQogb3V0bGlu
ZS13aWR0aCBbQ29udmVydGVyPUxpbmVXaWR0aDx1bnNpZ25lZCBzaG9ydD5dCkBAIC0zNTEsNyAr
MzYzLDcgQEAgY29sdW1uLXByb2dyZXNzaW9uIFtUeXBlTmFtZT1Db2x1bW5Qcm9ncmVzc2lvbl0K
IC13ZWJraXQtY29sdW1uLXByb2dyZXNzaW9uID0gY29sdW1uLXByb2dyZXNzaW9uCiBjb2x1bW4t
cnVsZSBbTGVnYWN5U3R5bGVCdWlsZGVyXQogLXdlYmtpdC1jb2x1bW4tcnVsZSA9IGNvbHVtbi1y
dWxlCi1jb2x1bW4tcnVsZS1jb2xvciBbTGVnYWN5U3R5bGVCdWlsZGVyXQorY29sdW1uLXJ1bGUt
Y29sb3IgW1Zpc2l0ZWRMaW5rQ29sb3JTdXBwb3J0LCBJbml0aWFsPWludmFsaWRDb2xvcl0KIC13
ZWJraXQtY29sdW1uLXJ1bGUtY29sb3IgPSBjb2x1bW4tcnVsZS1jb2xvcgogY29sdW1uLXJ1bGUt
c3R5bGUgW1R5cGVOYW1lPUVCb3JkZXJTdHlsZSwgSW5pdGlhbD1pbml0aWFsQm9yZGVyU3R5bGVd
CiAtd2Via2l0LWNvbHVtbi1ydWxlLXN0eWxlID0gY29sdW1uLXJ1bGUtc3R5bGUKQEAgLTQ5Nywx
NCArNTA5LDE0IEBAIG9yZGVyIFtUeXBlTmFtZT1pbnRdCiAtd2Via2l0LXRleHQtZGVjb3JhdGlv
biBbTGVnYWN5U3R5bGVCdWlsZGVyXQogLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tbGluZSBbTmFt
ZUZvck1ldGhvZHM9VGV4dERlY29yYXRpb24sIENvbnZlcnRlcj1UZXh0RGVjb3JhdGlvbl0KIC13
ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0eWxlIFtUeXBlTmFtZT1UZXh0RGVjb3JhdGlvblN0eWxl
XQotLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tY29sb3IgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KKy13
ZWJraXQtdGV4dC1kZWNvcmF0aW9uLWNvbG9yIFtWaXNpdGVkTGlua0NvbG9yU3VwcG9ydCwgSW5p
dGlhbD1pbnZhbGlkQ29sb3JdCiAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwIFtJbmhlcml0
ZWQsIENvbnZlcnRlcj1UZXh0RGVjb3JhdGlvblNraXBdCiAtd2Via2l0LXRleHQtdW5kZXJsaW5l
LXBvc2l0aW9uIFtJbmhlcml0ZWQsIENvbnZlcnRlcj1UZXh0VW5kZXJsaW5lUG9zaXRpb25dCiAt
d2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0IFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxl
QnVpbGRlcl0KIC13ZWJraXQtdGV4dC1lbXBoYXNpcyBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1
aWxkZXJdCiAtZXB1Yi10ZXh0LWVtcGhhc2lzID0gLXdlYmtpdC10ZXh0LWVtcGhhc2lzCiB0ZXh0
LWVtcGhhc2lzID0gLXdlYmtpdC10ZXh0LWVtcGhhc2lzCi0td2Via2l0LXRleHQtZW1waGFzaXMt
Y29sb3IgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQorLXdlYmtpdC10ZXh0LWVtcGhh
c2lzLWNvbG9yIFtJbmhlcml0ZWQsIFZpc2l0ZWRMaW5rQ29sb3JTdXBwb3J0LCBJbml0aWFsPWlu
dmFsaWRDb2xvcl0KIC1lcHViLXRleHQtZW1waGFzaXMtY29sb3IgPSAtd2Via2l0LXRleHQtZW1w
aGFzaXMtY29sb3IKIHRleHQtZW1waGFzaXMtY29sb3IgPSAtd2Via2l0LXRleHQtZW1waGFzaXMt
Y29sb3IKIC13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbiBbSW5oZXJpdGVkLCBDb252ZXJ0
ZXI9VGV4dEVtcGhhc2lzUG9zaXRpb25dCkBAIC01MTIsMTAgKzUyNCwxMCBAQCB0ZXh0LWVtcGhh
c2lzLXBvc2l0aW9uID0gLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXBvc2l0aW9uCiAtd2Via2l0LXRl
eHQtZW1waGFzaXMtc3R5bGUgW0luaGVyaXRlZCwgQ3VzdG9tPUFsbF0KIC1lcHViLXRleHQtZW1w
aGFzaXMtc3R5bGUgPSAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKIHRleHQtZW1waGFzaXMt
c3R5bGUgPSAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKLS13ZWJraXQtdGV4dC1maWxsLWNv
bG9yIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KKy13ZWJraXQtdGV4dC1maWxsLWNv
bG9yIFtJbmhlcml0ZWQsIFZpc2l0ZWRMaW5rQ29sb3JTdXBwb3J0LCBJbml0aWFsPWludmFsaWRD
b2xvcl0KIC13ZWJraXQtdGV4dC1zZWN1cml0eSBbSW5oZXJpdGVkXQogLXdlYmtpdC10ZXh0LXN0
cm9rZSBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1aWxkZXJdCi0td2Via2l0LXRleHQtc3Ryb2tl
LWNvbG9yIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KKy13ZWJraXQtdGV4dC1zdHJv
a2UtY29sb3IgW0luaGVyaXRlZCwgVmlzaXRlZExpbmtDb2xvclN1cHBvcnQsIEluaXRpYWw9aW52
YWxpZENvbG9yXQogLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aCBbSW5oZXJpdGVkLCBDb252ZXJ0
ZXI9VGV4dFN0cm9rZVdpZHRoXQogLXdlYmtpdC10cmFuc2Zvcm0gW0NvbnZlcnRlcj1UcmFuc2Zv
cm1dCiAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4gW0xlZ2FjeVN0eWxlQnVpbGRlcl0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcAppbmRleCA5NDFjMWQ5
MmQ1MTM0YmVhOWQzYTJkMmM0Nzg1NjY1NmIyZGViZjUwLi5iMTY5Yjk3YzVjNTU5ZGNhNzc4Mzcx
OThhMWVmMjk1YmVlZDhjMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVj
YXRlZFN0eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRT
dHlsZUJ1aWxkZXIuY3BwCkBAIC00MSw1NiArNDEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWVudW0gQ29sb3JJbmhlcml0IHtOb0luaGVy
aXRGcm9tUGFyZW50ID0gMCwgSW5oZXJpdEZyb21QYXJlbnR9OwotQ29sb3IgZGVmYXVsdEluaXRp
YWxDb2xvcigpOwotQ29sb3IgZGVmYXVsdEluaXRpYWxDb2xvcigpIHsgcmV0dXJuIENvbG9yKCk7
IH0KLXRlbXBsYXRlIDxDb2xvckluaGVyaXQgaW5oZXJpdENvbG9yRnJvbVBhcmVudCwKLSAgICAg
ICAgICBDb2xvciAoUmVuZGVyU3R5bGU6OipnZXR0ZXJGdW5jdGlvbikoKSBjb25zdCwKLSAgICAg
ICAgICB2b2lkIChSZW5kZXJTdHlsZTo6KnNldHRlckZ1bmN0aW9uKShjb25zdCBDb2xvciYpLAot
ICAgICAgICAgIHZvaWQgKFJlbmRlclN0eWxlOjoqdmlzaXRlZExpbmtTZXR0ZXJGdW5jdGlvbiko
Y29uc3QgQ29sb3ImKSwKLSAgICAgICAgICBDb2xvciAoUmVuZGVyU3R5bGU6OipkZWZhdWx0RnVu
Y3Rpb24pKCkgY29uc3QsCi0gICAgICAgICAgQ29sb3IgKCppbml0aWFsRnVuY3Rpb24pKCkgPSAm
ZGVmYXVsdEluaXRpYWxDb2xvcj4KLWNsYXNzIEFwcGx5UHJvcGVydHlDb2xvciB7Ci1wdWJsaWM6
Ci0gICAgc3RhdGljIHZvaWQgYXBwbHlJbmhlcml0VmFsdWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVS
ZXNvbHZlciogc3R5bGVSZXNvbHZlcikKLSAgICB7Ci0gICAgICAgIC8vIFZpc2l0ZWQgbGluayBz
dHlsZSBjYW4gbmV2ZXIgZXhwbGljaXRseSBpbmhlcml0IGZyb20gcGFyZW50IHZpc2l0ZWQgbGlu
ayBzdHlsZSBzbyBubyBzZXBhcmF0ZSBnZXR0ZXJzIGFyZSBuZWVkZWQuCi0gICAgICAgIENvbG9y
IGNvbG9yID0gKHN0eWxlUmVzb2x2ZXItPnBhcmVudFN0eWxlKCktPipnZXR0ZXJGdW5jdGlvbiko
KTsKLSAgICAgICAgYXBwbHlDb2xvclZhbHVlKHN0eWxlUmVzb2x2ZXIsIGNvbG9yLmlzVmFsaWQo
KSA/IGNvbG9yIDogKHN0eWxlUmVzb2x2ZXItPnBhcmVudFN0eWxlKCktPipkZWZhdWx0RnVuY3Rp
b24pKCkpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbFZhbHVlKENTU1By
b3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIpCi0gICAgewotICAgICAgICBh
cHBseUNvbG9yVmFsdWUoc3R5bGVSZXNvbHZlciwgaW5pdGlhbEZ1bmN0aW9uKCkpOwotICAgIH0K
LQotICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBT
dHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUpCi0gICAgewotICAg
ICAgICBpZiAoIWlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpKQotICAgICAgICAgICAgcmV0
dXJuOwotCi0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOwotICAgICAgICBpZiAoaW5oZXJpdENvbG9y
RnJvbVBhcmVudCAmJiBwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVDdXJy
ZW50Y29sb3IpCi0gICAgICAgICAgICBhcHBseUluaGVyaXRWYWx1ZShwcm9wZXJ0eUlELCBzdHls
ZVJlc29sdmVyKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoc3R5bGVSZXNvbHZl
ci0+YXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKCkpCi0gICAgICAgICAgICAgICAgKHN0eWxl
UmVzb2x2ZXItPnN0eWxlKCktPipzZXR0ZXJGdW5jdGlvbikoc3R5bGVSZXNvbHZlci0+Y29sb3JG
cm9tUHJpbWl0aXZlVmFsdWUoJnByaW1pdGl2ZVZhbHVlKSk7Ci0gICAgICAgICAgICBpZiAoc3R5
bGVSZXNvbHZlci0+YXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHlsZSgpKQotICAgICAgICAg
ICAgICAgIChzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT4qdmlzaXRlZExpbmtTZXR0ZXJGdW5jdGlv
bikoc3R5bGVSZXNvbHZlci0+Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoJnByaW1pdGl2ZVZhbHVl
LCAvKiBmb3JWaXNpdGVkTGluayAqLyB0cnVlKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBz
dGF0aWMgdm9pZCBhcHBseUNvbG9yVmFsdWUoU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwg
Y29uc3QgQ29sb3ImIGNvbG9yKQotICAgIHsKLSAgICAgICAgaWYgKHN0eWxlUmVzb2x2ZXItPmFw
cGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpKQotICAgICAgICAgICAgKHN0eWxlUmVzb2x2ZXIt
PnN0eWxlKCktPipzZXR0ZXJGdW5jdGlvbikoY29sb3IpOwotICAgICAgICBpZiAoc3R5bGVSZXNv
bHZlci0+YXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHlsZSgpKQotICAgICAgICAgICAgKHN0
eWxlUmVzb2x2ZXItPnN0eWxlKCktPip2aXNpdGVkTGlua1NldHRlckZ1bmN0aW9uKShjb2xvcik7
Ci0gICAgfQotCi0gICAgc3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkgeyBy
ZXR1cm4gUHJvcGVydHlIYW5kbGVyKCZhcHBseUluaGVyaXRWYWx1ZSwgJmFwcGx5SW5pdGlhbFZh
bHVlLCAmYXBwbHlWYWx1ZSk7IH0KLX07Ci0KIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogc3RydWN0
IEZpbGxMYXllckFjY2Vzc29yVHlwZXMgewogICAgIHR5cGVkZWYgVCBTZXR0ZXI7CkBAIC01MzQs
NyArNDg0LDYgQEAgRGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVwcmVjYXRlZFN0eWxlQnVpbGRl
cigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZEF0dGFjaG1l
bnQsIEFwcGx5UHJvcGVydHlGaWxsTGF5ZXI8RUZpbGxBdHRhY2htZW50LCBDU1NQcm9wZXJ0eUJh
Y2tncm91bmRBdHRhY2htZW50LCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6OmFj
Y2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZExheWVycywgJkZp
bGxMYXllcjo6aXNBdHRhY2htZW50U2V0LCAmRmlsbExheWVyOjphdHRhY2htZW50LCAmRmlsbExh
eWVyOjpzZXRBdHRhY2htZW50LCAmRmlsbExheWVyOjpjbGVhckF0dGFjaG1lbnQsICZGaWxsTGF5
ZXI6OmluaXRpYWxGaWxsQXR0YWNobWVudCwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxBdHRhY2ht
ZW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlCYWNrZ3JvdW5kQmxlbmRNb2RlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEJsZW5kTW9kZSwg
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kQmxlbmRNb2RlLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVu
ZGVyU3R5bGU6OmFjY2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3Vu
ZExheWVycywgJkZpbGxMYXllcjo6aXNCbGVuZE1vZGVTZXQsICZGaWxsTGF5ZXI6OmJsZW5kTW9k
ZSwgJkZpbGxMYXllcjo6c2V0QmxlbmRNb2RlLCAmRmlsbExheWVyOjpjbGVhckJsZW5kTW9kZSwg
JkZpbGxMYXllcjo6aW5pdGlhbEZpbGxCbGVuZE1vZGUsICZDU1NUb1N0eWxlTWFwOjptYXBGaWxs
QmxlbmRNb2RlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlCYWNrZ3JvdW5kQ2xpcCwgQXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxFRmlsbEJveCwg
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcCwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0
eWxlOjphY2Nlc3NCYWNrZ3JvdW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXll
cnMsICZGaWxsTGF5ZXI6OmlzQ2xpcFNldCwgJkZpbGxMYXllcjo6Y2xpcCwgJkZpbGxMYXllcjo6
c2V0Q2xpcCwgJkZpbGxMYXllcjo6Y2xlYXJDbGlwLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENs
aXAsICZDU1NUb1N0eWxlTWFwOjptYXBGaWxsQ2xpcD46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yLCBBcHBseVByb3Bl
cnR5Q29sb3I8Tm9Jbmhlcml0RnJvbVBhcmVudCwgJlJlbmRlclN0eWxlOjpiYWNrZ3JvdW5kQ29s
b3IsICZSZW5kZXJTdHlsZTo6c2V0QmFja2dyb3VuZENvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFZp
c2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yLCAmUmVuZGVyU3R5bGU6OmludmFsaWRDb2xvcj46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dy
b3VuZEltYWdlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPFN0eWxlSW1hZ2UqLCBDU1NQcm9wZXJ0
eUJhY2tncm91bmRJbWFnZSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nl
c3NCYWNrZ3JvdW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxs
TGF5ZXI6OmlzSW1hZ2VTZXQsICZGaWxsTGF5ZXI6OmltYWdlLCAmRmlsbExheWVyOjpzZXRJbWFn
ZSwgJkZpbGxMYXllcjo6Y2xlYXJJbWFnZSwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxJbWFnZSwg
JkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxJbWFnZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0
UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZE9yaWdpbiwgQXBwbHlQcm9wZXJ0
eUZpbGxMYXllcjxFRmlsbEJveCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kT3JpZ2luLCBCYWNrZ3Jv
dW5kRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5k
ZXJTdHlsZTo6YmFja2dyb3VuZExheWVycywgJkZpbGxMYXllcjo6aXNPcmlnaW5TZXQsICZGaWxs
TGF5ZXI6Om9yaWdpbiwgJkZpbGxMYXllcjo6c2V0T3JpZ2luLCAmRmlsbExheWVyOjpjbGVhck9y
aWdpbiwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxPcmlnaW4sICZDU1NUb1N0eWxlTWFwOjptYXBG
aWxsT3JpZ2luPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb25YLCBBcHBseVByb3BlcnR5RmlsbExheWVyPExlbmd0
aCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb25YLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAm
UmVuZGVyU3R5bGU6OmFjY2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dy
b3VuZExheWVycywgJkZpbGxMYXllcjo6aXNYUG9zaXRpb25TZXQsICZGaWxsTGF5ZXI6OnhQb3Np
dGlvbiwgJkZpbGxMYXllcjo6c2V0WFBvc2l0aW9uLCAmRmlsbExheWVyOjpjbGVhclhQb3NpdGlv
biwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxYUG9zaXRpb24sICZDU1NUb1N0eWxlTWFwOjptYXBG
aWxsWFBvc2l0aW9uPjo6Y3JlYXRlSGFuZGxlcigpKTsKQEAgLTU0MiwxNiArNDkxLDkgQEAgRGVw
cmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVwcmVjYXRlZFN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdFgsIEFwcGx5UHJvcGVydHlG
aWxsTGF5ZXI8RUZpbGxSZXBlYXQsIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdFgsIEJhY2tn
cm91bmRGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJl
bmRlclN0eWxlOjpiYWNrZ3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc1JlcGVhdFhTZXQsICZG
aWxsTGF5ZXI6OnJlcGVhdFgsICZGaWxsTGF5ZXI6OnNldFJlcGVhdFgsICZGaWxsTGF5ZXI6OmNs
ZWFyUmVwZWF0WCwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxSZXBlYXRYLCAmQ1NTVG9TdHlsZU1h
cDo6bWFwRmlsbFJlcGVhdFg+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eUJhY2tncm91bmRSZXBlYXRZLCBBcHBseVByb3BlcnR5RmlsbExheWVy
PEVGaWxsUmVwZWF0LCBDU1NQcm9wZXJ0eUJhY2tncm91bmRSZXBlYXRZLCBCYWNrZ3JvdW5kRmls
bExheWVyLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHls
ZTo6YmFja2dyb3VuZExheWVycywgJkZpbGxMYXllcjo6aXNSZXBlYXRZU2V0LCAmRmlsbExheWVy
OjpyZXBlYXRZLCAmRmlsbExheWVyOjpzZXRSZXBlYXRZLCAmRmlsbExheWVyOjpjbGVhclJlcGVh
dFksICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsUmVwZWF0WSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZp
bGxSZXBlYXRZPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwgQXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxGaWxsU2l6ZSwg
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0
eWxlOjphY2Nlc3NCYWNrZ3JvdW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXll
cnMsICZGaWxsTGF5ZXI6OmlzU2l6ZVNldCwgJkZpbGxMYXllcjo6c2l6ZSwgJkZpbGxMYXllcjo6
c2V0U2l6ZSwgJkZpbGxMYXllcjo6Y2xlYXJTaXplLCAmRmlsbExheWVyOjppbml0aWFsRmlsbFNp
emUsICZDU1NUb1N0eWxlTWFwOjptYXBGaWxsU2l6ZT46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tQ29sb3IsIEFwcGx5UHJv
cGVydHlDb2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OmJvcmRlckJvdHRv
bUNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldEJvcmRlckJvdHRvbUNvbG9yLCAmUmVuZGVyU3R5bGU6
OnNldFZpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+Ojpj
cmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUJvcmRl
ckxlZnRDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5k
ZXJTdHlsZTo6Ym9yZGVyTGVmdENvbG9yLCAmUmVuZGVyU3R5bGU6OnNldEJvcmRlckxlZnRDb2xv
ciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua0JvcmRlckxlZnRDb2xvciwgJlJlbmRlclN0
eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5Qm9yZGVyUmlnaHRDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZy
b21QYXJlbnQsICZSZW5kZXJTdHlsZTo6Ym9yZGVyUmlnaHRDb2xvciwgJlJlbmRlclN0eWxlOjpz
ZXRCb3JkZXJSaWdodENvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rQm9yZGVyUmln
aHRDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0
UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Qm9yZGVyVG9wQ29sb3IsIEFwcGx5UHJvcGVydHlD
b2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OmJvcmRlclRvcENvbG9yLCAm
UmVuZGVyU3R5bGU6OnNldEJvcmRlclRvcENvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRM
aW5rQm9yZGVyVG9wQ29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkp
OwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUNvbG9yLCBBcHBseVByb3BlcnR5
Q29sb3I8SW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6Y29sb3IsICZSZW5kZXJTdHls
ZTo6c2V0Q29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtDb2xvciwgJlJlbmRlclN0
eWxlOjppbnZhbGlkQ29sb3IsIFJlbmRlclN0eWxlOjppbml0aWFsQ29sb3I+OjpjcmVhdGVIYW5k
bGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRTaXplLCBBcHBs
eVByb3BlcnR5Rm9udFNpemU6OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5k
bGVyKENTU1Byb3BlcnR5Rm9udFN0eWxlLCBBcHBseVByb3BlcnR5Rm9udDxGb250SXRhbGljLCAm
Rm9udERlc2NyaXB0aW9uOjppdGFsaWMsICZGb250RGVzY3JpcHRpb246OnNldEl0YWxpYywgRm9u
dEl0YWxpY09mZj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5Rm9udFZhcmlhbnQsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbWFsbENhcHMsICZG
b250RGVzY3JpcHRpb246OnNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c2V0U21hbGxDYXBz
LCBGb250U21hbGxDYXBzT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxOb0luaGVy
aXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6Om91dGxpbmVDb2xvciwgJlJlbmRlclN0eWxlOjpz
ZXRPdXRsaW5lQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtPdXRsaW5lQ29sb3Is
ICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uQ29sb3IsIEFwcGx5UHJvcGVy
dHlDb2xvcjxOb0luaGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6OnRleHREZWNvcmF0aW9u
Q29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VGV4dERlY29yYXRpb25Db2xvciwgJlJlbmRlclN0eWxl
OjpzZXRWaXNpdGVkTGlua1RleHREZWNvcmF0aW9uQ29sb3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+
OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVRl
eHRSZW5kZXJpbmcsIEFwcGx5UHJvcGVydHlGb250PFRleHRSZW5kZXJpbmdNb2RlLCAmRm9udERl
c2NyaXB0aW9uOjp0ZXh0UmVuZGVyaW5nTW9kZSwgJkZvbnREZXNjcmlwdGlvbjo6c2V0VGV4dFJl
bmRlcmluZ01vZGUsIEF1dG9UZXh0UmVuZGVyaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKIAogICAg
IHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUFuaW1hdGlvbkRlbGF5LCBBcHBseVByb3Bl
cnR5QW5pbWF0aW9uPGRvdWJsZSwgJkFuaW1hdGlvbjo6ZGVsYXksICZBbmltYXRpb246OnNldERl
bGF5LCAmQW5pbWF0aW9uOjppc0RlbGF5U2V0LCAmQW5pbWF0aW9uOjpjbGVhckRlbGF5LCAmQW5p
bWF0aW9uOjppbml0aWFsQW5pbWF0aW9uRGVsYXksICZDU1NUb1N0eWxlTWFwOjptYXBBbmltYXRp
b25EZWxheSwgJlJlbmRlclN0eWxlOjphY2Nlc3NBbmltYXRpb25zLCAmUmVuZGVyU3R5bGU6OmFu
aW1hdGlvbnM+OjpjcmVhdGVIYW5kbGVyKCkpOwpAQCAtNTc1LDcgKzUxNyw2IEBAIERlcHJlY2F0
ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEFwcGx5UHJvcGVy
dHlGaWxsTGF5ZXI8Q29tcG9zaXRlT3BlcmF0b3IsIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3Vu
ZENvbXBvc2l0ZSwgQmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNr
Z3JvdW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZGaWxsTGF5ZXI6
OmlzQ29tcG9zaXRlU2V0LCAmRmlsbExheWVyOjpjb21wb3NpdGUsICZGaWxsTGF5ZXI6OnNldENv
bXBvc2l0ZSwgJkZpbGxMYXllcjo6Y2xlYXJDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmluaXRpYWxG
aWxsQ29tcG9zaXRlLCAmQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbENvbXBvc2l0ZT46OmNyZWF0ZUhh
bmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0QmFja2dy
b3VuZE9yaWdpbiwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kT3JpZ2luKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5kU2l6ZSwgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kU2l6ZSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Q29sdW1uUnVs
ZUNvbG9yLCBBcHBseVByb3BlcnR5Q29sb3I8Tm9Jbmhlcml0RnJvbVBhcmVudCwgJlJlbmRlclN0
eWxlOjpjb2x1bW5SdWxlQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0Q29sdW1uUnVsZUNvbG9yLCAm
UmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yLCAmUmVuZGVyU3R5bGU6
OmNvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlXZWJraXRGb250S2VybmluZywgQXBwbHlQcm9wZXJ0eUZvbnQ8Rm9udERlc2NyaXB0aW9u
OjpLZXJuaW5nLCAmRm9udERlc2NyaXB0aW9uOjprZXJuaW5nLCAmRm9udERlc2NyaXB0aW9uOjpz
ZXRLZXJuaW5nLCBGb250RGVzY3JpcHRpb246OkF1dG9LZXJuaW5nPjo6Y3JlYXRlSGFuZGxlcigp
KTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGb250U21vb3RoaW5n
LCBBcHBseVByb3BlcnR5Rm9udDxGb250U21vb3RoaW5nTW9kZSwgJkZvbnREZXNjcmlwdGlvbjo6
Zm9udFNtb290aGluZywgJkZvbnREZXNjcmlwdGlvbjo6c2V0Rm9udFNtb290aGluZywgQXV0b1Nt
b290aGluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5V2Via2l0Rm9udFZhcmlhbnRMaWdhdHVyZXMsIEFwcGx5UHJvcGVydHlGb250VmFyaWFu
dExpZ2F0dXJlczo6Y3JlYXRlSGFuZGxlcigpKTsKQEAgLTU4OCw5ICs1MjksNiBAQCBEZXByZWNh
dGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrUmVwZWF0WSwgQXBwbHlQcm9wZXJ0eUZpbGxM
YXllcjxFRmlsbFJlcGVhdCwgQ1NTUHJvcGVydHlXZWJraXRNYXNrUmVwZWF0WSwgTWFza0ZpbGxM
YXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NNYXNrTGF5ZXJzLCAmUmVuZGVyU3R5bGU6Om1hc2tM
YXllcnMsICZGaWxsTGF5ZXI6OmlzUmVwZWF0WVNldCwgJkZpbGxMYXllcjo6cmVwZWF0WSwgJkZp
bGxMYXllcjo6c2V0UmVwZWF0WSwgJkZpbGxMYXllcjo6Y2xlYXJSZXBlYXRZLCAmRmlsbExheWVy
Ojppbml0aWFsRmlsbFJlcGVhdFksICZDU1NUb1N0eWxlTWFwOjptYXBGaWxsUmVwZWF0WT46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
TWFza1NpemUsIEFwcGx5UHJvcGVydHlGaWxsTGF5ZXI8RmlsbFNpemUsIENTU1Byb3BlcnR5V2Vi
a2l0TWFza1NpemUsIE1hc2tGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzTWFza0xheWVy
cywgJlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLCAmRmlsbExheWVyOjppc1NpemVTZXQsICZGaWxs
TGF5ZXI6OnNpemUsICZGaWxsTGF5ZXI6OnNldFNpemUsICZGaWxsTGF5ZXI6OmNsZWFyU2l6ZSwg
JkZpbGxMYXllcjo6aW5pdGlhbEZpbGxTaXplLCAmQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbFNpemU+
OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdl
YmtpdE1hc2tTb3VyY2VUeXBlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPEVNYXNrU291cmNlVHlw
ZSwgQ1NTUHJvcGVydHlXZWJraXRNYXNrU291cmNlVHlwZSwgTWFza0ZpbGxMYXllciwgJlJlbmRl
clN0eWxlOjphY2Nlc3NNYXNrTGF5ZXJzLCAmUmVuZGVyU3R5bGU6Om1hc2tMYXllcnMsICZGaWxs
TGF5ZXI6OmlzTWFza1NvdXJjZVR5cGVTZXQsICZGaWxsTGF5ZXI6Om1hc2tTb3VyY2VUeXBlLCAm
RmlsbExheWVyOjpzZXRNYXNrU291cmNlVHlwZSwgJkZpbGxMYXllcjo6Y2xlYXJNYXNrU291cmNl
VHlwZSwgJkZpbGxMYXllcjo6aW5pdGlhbE1hc2tTb3VyY2VUeXBlLCAmQ1NTVG9TdHlsZU1hcDo6
bWFwRmlsbE1hc2tTb3VyY2VUeXBlPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXNDb2xvciwgQXBwbHlQcm9wZXJ0
eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6dGV4dEVtcGhhc2lzQ29s
b3IsICZSZW5kZXJTdHlsZTo6c2V0VGV4dEVtcGhhc2lzQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0
VmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xvcj46OmNyZWF0
ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4
dEZpbGxDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5k
ZXJTdHlsZTo6dGV4dEZpbGxDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RmlsbENvbG9yLCAm
UmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvciwgJlJlbmRlclN0eWxlOjpj
b2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5V2Via2l0VGV4dFN0cm9rZUNvbG9yLCBBcHBseVByb3BlcnR5Q29sb3I8Tm9Jbmhlcml0RnJv
bVBhcmVudCwgJlJlbmRlclN0eWxlOjp0ZXh0U3Ryb2tlQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0
VGV4dFN0cm9rZUNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rVGV4dFN0cm9rZUNv
bG9yLCAmUmVuZGVyU3R5bGU6OmNvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9w
ZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uRGVsYXksIEFwcGx5UHJvcGVy
dHlBbmltYXRpb248ZG91YmxlLCAmQW5pbWF0aW9uOjpkZWxheSwgJkFuaW1hdGlvbjo6c2V0RGVs
YXksICZBbmltYXRpb246OmlzRGVsYXlTZXQsICZBbmltYXRpb246OmNsZWFyRGVsYXksICZBbmlt
YXRpb246OmluaXRpYWxBbmltYXRpb25EZWxheSwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlv
bkRlbGF5LCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVuZGVyU3R5bGU6OnRy
YW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlXZWJraXRUcmFuc2l0aW9uRHVyYXRpb24sIEFwcGx5UHJvcGVydHlBbmltYXRpb248
ZG91YmxlLCAmQW5pbWF0aW9uOjpkdXJhdGlvbiwgJkFuaW1hdGlvbjo6c2V0RHVyYXRpb24sICZB
bmltYXRpb246OmlzRHVyYXRpb25TZXQsICZBbmltYXRpb246OmNsZWFyRHVyYXRpb24sICZBbmlt
YXRpb246OmluaXRpYWxBbmltYXRpb25EdXJhdGlvbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1h
dGlvbkR1cmF0aW9uLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVuZGVyU3R5
bGU6OnRyYW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJvcGVydHksIEFwcGx5UHJvcGVydHlBbmlt
YXRpb248Q1NTUHJvcGVydHlJRCwgJkFuaW1hdGlvbjo6cHJvcGVydHksICZBbmltYXRpb246OnNl
dFByb3BlcnR5LCAmQW5pbWF0aW9uOjppc1Byb3BlcnR5U2V0LCAmQW5pbWF0aW9uOjpjbGVhclBy
b3BlcnR5LCAmQW5pbWF0aW9uOjppbml0aWFsQW5pbWF0aW9uUHJvcGVydHksICZDU1NUb1N0eWxl
TWFwOjptYXBBbmltYXRpb25Qcm9wZXJ0eSwgJlJlbmRlclN0eWxlOjphY2Nlc3NUcmFuc2l0aW9u
cywgJlJlbmRlclN0eWxlOjp0cmFuc2l0aW9ucz46OmNyZWF0ZUhhbmRsZXIoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
bWFrZXByb3AucGwKaW5kZXggYjM3MzcyNzU2MjBlMTFiMmZjZWQ2YjJhYTgyNGJhMGI4NGYxN2I5
NC4uZjIzNTE0ZTcyM2U0OTFjMjYwZGNmNzhjYjgwNTM0ZmVmYjgyM2JiMiAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9t
YWtlcHJvcC5wbApAQCAtNDksOCArNDksMTAgQEAgbXkgJXN0eWxlQnVpbGRlck9wdGlvbnMgPSAo
CiAgIEdldHRlciA9PiAxLAogICBJbml0aWFsID0+IDEsCiAgIE5hbWVGb3JNZXRob2RzID0+IDEs
CisgIE5vRGVmYXVsdENvbG9yID0+IDEsCiAgIFNldHRlciA9PiAxLAogICBUeXBlTmFtZSA9PiAx
LAorICBWaXNpdGVkTGlua0NvbG9yU3VwcG9ydCA9PiAxLAogKTsKIG15ICVuYW1lVG9JZDsKIG15
IEBhbGlhc2VzID0gKCk7CkBAIC0zNjMsNiArMzY1LDEzIEBAIHN1YiBnZXRBdXRvU2V0dGVyIHsK
ICAgcmV0dXJuICRyZW5kZXJTdHlsZSAuICItPnNldEhhc0F1dG8iIC4gZ2V0TmFtZUZvck1ldGhv
ZHMoJG5hbWUpIC4gIigpIjsKIH0KIAorc3ViIGdldFZpc2l0ZWRMaW5rU2V0dGVyIHsKKyAgbXkg
JG5hbWUgPSBzaGlmdDsKKyAgbXkgJHJlbmRlclN0eWxlID0gc2hpZnQ7CisKKyAgcmV0dXJuICRy
ZW5kZXJTdHlsZSAuICItPnNldFZpc2l0ZWRMaW5rIiAuIGdldE5hbWVGb3JNZXRob2RzKCRuYW1l
KTsKK30KKwogZm9yZWFjaCBteSAkbmFtZSAoQG5hbWVzKSB7CiAgICMgU2tpcCBwcm9wZXJ0aWVz
IHN0aWxsIHVzaW5nIHRoZSBsZWdhY3kgc3R5bGUgYnVpbGRlci4KICAgbmV4dCB1bmxlc3MgZXhp
c3RzKCRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9KTsKQEAgLTM5NCwx
NiArNDAzLDY2IEBAIGZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewogICAkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQ3VzdG9tIn0gPSBcJWN1c3RvbVZhbHVlczsK
IH0KIAordXNlIGNvbnN0YW50IHsKKyAgTk9UX0ZPUl9WSVNJVEVEX0xJTksgPT4gMCwKKyAgRk9S
X1ZJU0lURURfTElOSyA9PiAxLAorfTsKKworc3ViIGNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlIHsK
KyAgbXkgJHByaW1pdGl2ZVZhbHVlID0gc2hpZnQ7CisgIG15ICRmb3JWaXNpdGVkTGluayA9IEBf
ID8gc2hpZnQgOiBOT1RfRk9SX1ZJU0lURURfTElOSzsKKworICByZXR1cm4gInN0eWxlUmVzb2x2
ZXIuY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoJiIgLiAkcHJpbWl0aXZlVmFsdWUgLiAiLCAvKiBm
b3JWaXNpdGVkTGluayAqLyAiIC4gKCRmb3JWaXNpdGVkTGluayA/ICJ0cnVlIiA6ICJmYWxzZSIp
IC4gIikiOworfQorCit1c2UgY29uc3RhbnQgeworICBWQUxVRV9JU19DT0xPUiA9PiAwLAorICBW
QUxVRV9JU19QUklNSVRJVkUgPT4gMSwKK307CisKK3N1YiBnZW5lcmF0ZUNvbG9yVmFsdWVTZXR0
ZXIgeworICBteSAkbmFtZSA9IHNoaWZ0OworICBteSAkdmFsdWUgPSBzaGlmdDsKKyAgbXkgJGlu
ZGVudCA9IHNoaWZ0OworICBteSAkdmFsdWVJc1ByaW1pdGl2ZSA9IEBfID8gc2hpZnQgOiBWQUxV
RV9JU19DT0xPUjsKKworICBteSAkc3R5bGUgPSAic3R5bGVSZXNvbHZlci5zdHlsZSgpIjsKKyAg
bXkgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJpZiAoc3R5bGVSZXNvbHZlci5hcHBseVBy
b3BlcnR5VG9SZWd1bGFyU3R5bGUoKSlcbiI7CisgIG15ICRzZXRWYWx1ZSA9ICRzdHlsZSAuICIt
PiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiU2V0dGVyIn07
CisgIG15ICRjb2xvciA9ICR2YWx1ZUlzUHJpbWl0aXZlID8gY29sb3JGcm9tUHJpbWl0aXZlVmFs
dWUoJHZhbHVlKSA6ICR2YWx1ZTsKKyAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAg
IiAuICRzZXRWYWx1ZSAuICIoIiAuICRjb2xvciAuICIpO1xuIjsKKyAgJHNldHRlckNvbnRlbnQg
Lj0gJGluZGVudCAuICJpZiAoc3R5bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9WaXNpdGVkTGlu
a1N0eWxlKCkpXG4iOworICAkY29sb3IgPSAkdmFsdWVJc1ByaW1pdGl2ZSA/IGNvbG9yRnJvbVBy
aW1pdGl2ZVZhbHVlKCR2YWx1ZSwgRk9SX1ZJU0lURURfTElOSykgOiAkdmFsdWU7CisgICRzZXR0
ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICIgLiBnZXRWaXNpdGVkTGlua1NldHRlcigkbmFt
ZSwgJHN0eWxlKSAuICIoIiAuICRjb2xvciAuICIpO1xuIjsKKworICByZXR1cm4gJHNldHRlckNv
bnRlbnQ7Cit9CisKK3N1YiBoYW5kbGVDdXJyZW50Q29sb3JWYWx1ZSB7CisgIG15ICRuYW1lID0g
c2hpZnQ7CisgIG15ICRwcmltaXRpdmVWYWx1ZSA9IHNoaWZ0OworICBteSAkaW5kZW50ID0gc2hp
ZnQ7CisKKyAgbXkgJGNvZGUgPSAkaW5kZW50IC4gImlmICgiIC4gJHByaW1pdGl2ZVZhbHVlIC4g
Ii5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVDdXJyZW50Y29sb3IpIHtcbiI7CisgICRjb2RlIC49
ICRpbmRlbnQgLiAiICAgIGFwcGx5SW5oZXJpdCIgLiAkbmFtZVRvSWR7JG5hbWV9IC4gIihzdHls
ZVJlc29sdmVyKTtcbiI7CisgICRjb2RlIC49ICRpbmRlbnQgLiAiICAgIHJldHVybjtcbiI7Cisg
ICRjb2RlIC49ICRpbmRlbnQgLiAifVxuIjsKKyAgcmV0dXJuICRjb2RlOworfQorCiBzdWIgZ2Vu
ZXJhdGVJbml0aWFsVmFsdWVTZXR0ZXIgewogICBteSAkbmFtZSA9IHNoaWZ0OwogICBteSAkaW5k
ZW50ID0gc2hpZnQ7CiAKICAgbXkgJHNldHRlckNvbnRlbnQgPSAiIjsKLSAgJHNldHRlckNvbnRl
bnQgLj0gJGluZGVudCAuICJpbmxpbmUgdm9pZCBhcHBseUluaXRpYWwiIC4gJG5hbWVUb0lkeyRu
YW1lfSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcilcbiI7CisgICRzZXR0ZXJDb250
ZW50IC49ICRpbmRlbnQgLiAic3RhdGljIHZvaWQgYXBwbHlJbml0aWFsIiAuICRuYW1lVG9JZHsk
bmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpXG4iOwogICAkc2V0dGVyQ29u
dGVudCAuPSAkaW5kZW50IC4gIntcbiI7CiAgIG15ICRzdHlsZSA9ICJzdHlsZVJlc29sdmVyLnN0
eWxlKCkiOwogICBpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7
JG5hbWV9eyJBdXRvRnVuY3Rpb25zIn0pIHsKICAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50
IC4gIiAgICAiIC4gZ2V0QXV0b1NldHRlcigkbmFtZSwgJHN0eWxlKSAuICI7XG4iOworICB9IGVs
c2lmIChleGlzdHMgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlZp
c2l0ZWRMaW5rQ29sb3JTdXBwb3J0In0pIHsKKyAgICAgIG15ICRpbml0aWFsQ29sb3IgPSAiUmVu
ZGVyU3R5bGU6OiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsi
SW5pdGlhbCJ9IC4gIigpIjsKKyAgICAgICRzZXR0ZXJDb250ZW50IC49IGdlbmVyYXRlQ29sb3JW
YWx1ZVNldHRlcigkbmFtZSwgJGluaXRpYWxDb2xvciwgJGluZGVudCAuICIgICAgIik7CiAgIH0g
ZWxzZSB7CiAgICAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRwcm9wZXJ0aWVzV2l0
aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKICAgICAkc2V0dGVyQ29udGVu
dCAuPSAkaW5kZW50IC4gIiAgICAiIC4gJHNldFZhbHVlIC4gIihSZW5kZXJTdHlsZTo6IiAuICRw
cm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJJbml0aWFsIn0gLiAiKCkp
O1xuIjsKQEAgLTQxOCwxOCArNDc3LDMwIEBAIHN1YiBnZW5lcmF0ZUluaGVyaXRWYWx1ZVNldHRl
ciB7CiAgIG15ICRpbmRlbnQgPSBzaGlmdDsKIAogICBteSAkc2V0dGVyQ29udGVudCA9ICIiOwot
ICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gImlubGluZSB2b2lkIGFwcGx5SW5oZXJpdCIg
LiAkbmFtZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKVxuIjsK
KyAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJzdGF0aWMgdm9pZCBhcHBseUluaGVyaXQi
IC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcilcbiI7
CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAie1xuIjsKICAgbXkgJHBhcmVudFN0eWxl
ID0gInN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKSI7CiAgIG15ICRzdHlsZSA9ICJzdHlsZVJl
c29sdmVyLnN0eWxlKCkiOworICBteSAkc2V0VmFsdWUgPSAkc3R5bGUgLiAiLT4iIC4gJHByb3Bl
cnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OworICBteSAkZGlk
Q2FsbFNldFZhbHVlID0gMDsKICAgaWYgKGV4aXN0cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxk
ZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0aW9ucyJ9KSB7CiAgICAgJHNldHRlckNvbnRlbnQg
Lj0gJGluZGVudCAuICIgICAgaWYgKCIgLiBnZXRBdXRvR2V0dGVyKCRuYW1lLCAkcGFyZW50U3R5
bGUpIC4gIikge1xuIjsKICAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICAgICAg
IiAuIGdldEF1dG9TZXR0ZXIoJG5hbWUsICRzdHlsZSkgLiAiO1xuIjsKICAgICAkc2V0dGVyQ29u
dGVudCAuPSAkaW5kZW50IC4gIiAgICAgICAgcmV0dXJuO1xuIjsKICAgICAkc2V0dGVyQ29udGVu
dCAuPSAkaW5kZW50IC4gIiAgICB9XG4iOworICB9IGVsc2lmIChleGlzdHMgJHByb3BlcnRpZXNX
aXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlZpc2l0ZWRMaW5rQ29sb3JTdXBwb3J0In0p
IHsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICBDb2xvciBjb2xvciA9ICIg
LiAkcGFyZW50U3R5bGUgLiAiLT4iIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9u
c3skbmFtZX17IkdldHRlciJ9IC4gIigpO1xuIjsKKyAgICBpZiAoIWV4aXN0cygkcHJvcGVydGll
c1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiTm9EZWZhdWx0Q29sb3IifSkpIHsKKyAg
ICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgIGlmICghY29sb3IuaXNWYWxpZCgp
KVxuIjsKKyAgICAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICBjb2xvciA9
ICIgLiAkcGFyZW50U3R5bGUgLiAiLT5jb2xvcigpO1xuIjsKKyAgICB9CisgICAgJHNldHRlckNv
bnRlbnQgLj0gZ2VuZXJhdGVDb2xvclZhbHVlU2V0dGVyKCRuYW1lLCAiY29sb3IiLCAkaW5kZW50
IC4gIiAgICAiKTsKKyAgICAkZGlkQ2FsbFNldFZhbHVlID0gMTsKKyAgfQorICBpZiAoISRkaWRD
YWxsU2V0VmFsdWUpIHsKKyAgICBteSAkaW5oZXJpdGVkVmFsdWUgPSAkcGFyZW50U3R5bGUgLiAi
LT4iIC4gICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJHZXR0ZXIi
fSAuICIoKSI7CisgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgIiAuICRzZXRW
YWx1ZSAuICIoIiAuICRpbmhlcml0ZWRWYWx1ZSAuICIpO1xuIjsKICAgfQotICBteSAkc2V0VmFs
dWUgPSAkc3R5bGUgLiAiLT4iIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3sk
bmFtZX17IlNldHRlciJ9OwotICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICAiIC4g
JHNldFZhbHVlIC4gIigiIC4gJHBhcmVudFN0eWxlIC4gIi0+IiAuICAkcHJvcGVydGllc1dpdGhT
dHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiR2V0dGVyIn0gLiAiKCkpO1xuIjsKICAgJHNldHRl
ckNvbnRlbnQgLj0gJGluZGVudCAuICJ9XG4iOwogCiAgIHJldHVybiAkc2V0dGVyQ29udGVudDsK
QEAgLTQ0MCw3ICs1MTEsNyBAQCBzdWIgZ2VuZXJhdGVWYWx1ZVNldHRlciB7CiAgIG15ICRpbmRl
bnQgPSBzaGlmdDsKIAogICBteSAkc2V0dGVyQ29udGVudCA9ICIiOwotICAkc2V0dGVyQ29udGVu
dCAuPSAkaW5kZW50IC4gImlubGluZSB2b2lkIGFwcGx5VmFsdWUiIC4gJG5hbWVUb0lkeyRuYW1l
fSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKVxuIjsK
KyAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJzdGF0aWMgdm9pZCBhcHBseVZhbHVlIiAu
ICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1Zh
bHVlJiB2YWx1ZSlcbiI7CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAie1xuIjsKICAg
bXkgJGNvbnZlcnRlZFZhbHVlOwogICBpZiAoZXhpc3RzKCRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVp
bGRlck9wdGlvbnN7JG5hbWV9eyJDb252ZXJ0ZXIifSkpIHsKQEAgLTQ0OCwxNSArNTE5LDI3IEBA
IHN1YiBnZW5lcmF0ZVZhbHVlU2V0dGVyIHsKICAgfSBlbHNlIHsKICAgICAkY29udmVydGVkVmFs
dWUgPSAic3RhdGljX2Nhc3Q8IiAuICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7
JG5hbWV9eyJUeXBlTmFtZSJ9IC4gIj4oZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVl
KSkiOwogICB9CisKICAgbXkgJHN0eWxlID0gInN0eWxlUmVzb2x2ZXIuc3R5bGUoKSI7CisgIG15
ICRkaWRDYWxsU2V0VmFsdWUgPSAwOwogICBpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxl
QnVpbGRlck9wdGlvbnN7JG5hbWV9eyJBdXRvRnVuY3Rpb25zIn0pIHsKICAgICAkc2V0dGVyQ29u
dGVudCAuPSAkaW5kZW50IC4gIiAgICBpZiAoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZh
bHVlKS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVBdXRvKSB7XG4iOwogICAgICRzZXR0ZXJDb250
ZW50IC49ICRpbmRlbnQgLiAiICAgICAgICAiLiBnZXRBdXRvU2V0dGVyKCRuYW1lLCAkc3R5bGUp
IC4gIjtcbiI7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgICAgIHJldHVy
bjtcbiI7CiAgICAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgfVxuIjsKKyAgfSBl
bHNpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJW
aXNpdGVkTGlua0NvbG9yU3VwcG9ydCJ9KSB7CisgICAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5k
ZW50IC4gIiAgICBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlPih2YWx1ZSk7XG4iOworICAgICAgaWYgKCRuYW1lIGVxICJjb2xvciIpIHsKKyAgICAgICAg
IyBUaGUgImNvbG9yIiBwcm9wZXJ0eSBzdXBwb3J0cyAiY3VycmVudENvbG9yIiB2YWx1ZS4gV2Ug
c2hvdWxkIGFkZCBhIHBhcmFtZXRlci4KKyAgICAgICAgJHNldHRlckNvbnRlbnQgLj0gaGFuZGxl
Q3VycmVudENvbG9yVmFsdWUoJG5hbWUsICJwcmltaXRpdmVWYWx1ZSIsICRpbmRlbnQgLiAiICAg
ICIpOworICAgICAgfQorICAgICAgJHNldHRlckNvbnRlbnQgLj0gZ2VuZXJhdGVDb2xvclZhbHVl
U2V0dGVyKCRuYW1lLCAicHJpbWl0aXZlVmFsdWUiLCAkaW5kZW50IC4gIiAgICAiLCBWQUxVRV9J
U19QUklNSVRJVkUpOworICAgICAgJGRpZENhbGxTZXRWYWx1ZSA9IDE7CisgIH0KKyAgaWYgKCEk
ZGlkQ2FsbFNldFZhbHVlKSB7CisgICAgbXkgJHNldFZhbHVlID0gJHN0eWxlIC4gIi0+IiAuICRw
cm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJTZXR0ZXIifTsKKyAgICAk
c2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICAiIC4gJHNldFZhbHVlIC4gIigiIC4gJGNv
bnZlcnRlZFZhbHVlIC4gIik7XG4iOwogICB9Ci0gIG15ICRzZXRWYWx1ZSA9ICRzdHlsZSAuICIt
PiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiU2V0dGVyIn07
Ci0gICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICIgLiAkc2V0VmFsdWUgLiAiKCIg
LiAkY29udmVydGVkVmFsdWUgLiAiKTtcbiI7CiAgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQg
LiAifVxuIjsKIAogICByZXR1cm4gJHNldHRlckNvbnRlbnQ7CkBAIC00NzgsNyArNTYxLDggQEAg
cHJpbnQgU1RZTEVCVUlMREVSIDw8ICJFT0YiOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5h
bWVzcGFjZSBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMgeworY2xhc3MgU3R5bGVCdWlsZGVyRnVuY3Rp
b25zIHsKK3B1YmxpYzoKIEVPRgogCiBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsKQEAgLTQ5
OCw3ICs1ODIsNyBAQCBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsKIH0KIAogcHJpbnQgU1RZ
TEVCVUlMREVSIDw8ICJFT0YiOwotfSAvLyBuYW1lc3BhY2UgU3R5bGVCdWlsZGVyRnVuY3Rpb25z
Cit9OwogCiBib29sIFN0eWxlQnVpbGRlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5LCBTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUsIGJv
b2wgaXNJbml0aWFsLCBib29sIGlzSW5oZXJpdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggN2MwY2VhMGZiZjc5MGJlMjVkNmZmZWNiMWZh
OTE2ZTExYmFkYTRlOC4uMTFiM2JmN2Y2NmRkYzZhOThiZWRlOTA3ZDNlNGRlMDA5NTg3NGU3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTEz
MCw2ICsxMzAsNyBAQCBjbGFzcyBSZW5kZXJTdHlsZTogcHVibGljIFJlZkNvdW50ZWQ8UmVuZGVy
U3R5bGU+IHsKICAgICBmcmllbmQgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2U7IC8vIEZJWE1FOiBO
ZWVkcyB0byBhbHRlciB0aGUgdmlzaXRlZCBzdGF0ZSBieSBoYW5kLiBTaG91bGQgY2xlYW4gdGhl
IFNWRyBjb2RlIHVwIGFuZCBtb3ZlIGl0IGludG8gUmVuZGVyU3R5bGUgcGVyaGFwcy4KICAgICBm
cmllbmQgY2xhc3MgUmVuZGVyVHJlZUFzVGV4dDsgLy8gRklYTUU6IE9ubHkgbmVlZGVkIHNvIHRo
ZSByZW5kZXIgdHJlZSBjYW4ga2VlcCBseWluZyBhbmQgZHVtcCB0aGUgd3JvbmcgY29sb3JzLiAg
UmViYXNlbGluaW5nIHdvdWxkIGFsbG93IHRoaXMgdG8gYmUgeWFua2VkLgogICAgIGZyaWVuZCBj
bGFzcyBTdHlsZUJ1aWxkZXJDdXN0b207IC8vIFNldHMgbWVtYmVycyBkaXJlY3RseS4KKyAgICBm
cmllbmQgY2xhc3MgU3R5bGVCdWlsZGVyRnVuY3Rpb25zOyAvLyBTZXRzIG1lbWJlcnMgZGlyZWN0
bHkuCiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlUmVzb2x2ZXI7IC8vIFNldHMgbWVtYmVycyBkaXJl
Y3RseS4KIAogcHVibGljOgpAQCAtMjA4Miw3ICsyMDgzLDcgQEAgcHJpdmF0ZToKICAgICB9CiAK
ICAgICAvLyBDb2xvciBhY2Nlc3NvcnMgYXJlIGFsbCBwcml2YXRlIHRvIG1ha2Ugc3VyZSBjYWxs
ZXJzIHVzZSB2aXNpdGVkRGVwZW5kZW50Q29sb3IgaW5zdGVhZCB0byBhY2Nlc3MgdGhlbS4KLSAg
ICBDb2xvciBpbnZhbGlkQ29sb3IoKSBjb25zdCB7IHN0YXRpYyBDb2xvciBpbnZhbGlkOyByZXR1
cm4gaW52YWxpZDsgfQorICAgIHN0YXRpYyBDb2xvciBpbnZhbGlkQ29sb3IoKSB7IHN0YXRpYyBD
b2xvciBpbnZhbGlkOyByZXR1cm4gaW52YWxpZDsgfQogICAgIENvbG9yIGJvcmRlckxlZnRDb2xv
cigpIGNvbnN0IHsgcmV0dXJuIHN1cnJvdW5kLT5ib3JkZXIubGVmdCgpLmNvbG9yKCk7IH0KICAg
ICBDb2xvciBib3JkZXJSaWdodENvbG9yKCkgY29uc3QgeyByZXR1cm4gc3Vycm91bmQtPmJvcmRl
ci5yaWdodCgpLmNvbG9yKCk7IH0KICAgICBDb2xvciBib3JkZXJUb3BDb2xvcigpIGNvbnN0IHsg
cmV0dXJuIHN1cnJvdW5kLT5ib3JkZXIudG9wKCkuY29sb3IoKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243689</attachid>
            <date>2014-12-23 13:45:55 -0800</date>
            <delta_ts>2014-12-23 20:58:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139898-20141223134556.patch</filename>
            <type>text/plain</type>
            <size>1589</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBlOGRkYjM0OGQ3M2Ex
YTIwMTgzZmVjMGViMTY1ZWQ3OGQ4ZjE5MC4uMjMzNTE3N2Q4NTkwZmIzZDJjMGI3YTAxNmU0Zjlj
NzkyODRkZjFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTEyLTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxpZnkgUmVuZGVyU3R5
bGU6OmludmFsaWRDb2xvcigpIGZ1bmN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTaW1wbGlmeSBSZW5kZXJTdHlsZTo6aW52YWxpZENvbG9yKCkg
ZnVuY3Rpb24gYnkgZ2V0dGluZyByaWQgb2YgdGhlCisgICAgICAgIHN0YXRpYyB2YXJpYWJsZS4g
VGhlIGRlZmF1bHQgY29uc3RydWN0b3IgZm9yIENvbG9yIGlzIHZlcnkgY2hlYXAKKyAgICAgICAg
YW55d2F5LgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisKIDIw
MTQtMTItMjMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW5hbWUg
V2ViQ29udGV4dCB0byBXZWJQcm9jZXNzUG9vbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAxMWIzYmY3ZjY2ZGRjNmE5OGJlZGU5MDdkM2U0ZGUw
MDk1ODc0ZTc3Li5mYmQyYjg5ZTNiMGNmMmVkODE2ZWIyMmJiMTQ5ZTk2YWQyYjEzMjk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMjA4Myw3
ICsyMDgzLDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICAvLyBDb2xvciBhY2Nlc3NvcnMgYXJl
IGFsbCBwcml2YXRlIHRvIG1ha2Ugc3VyZSBjYWxsZXJzIHVzZSB2aXNpdGVkRGVwZW5kZW50Q29s
b3IgaW5zdGVhZCB0byBhY2Nlc3MgdGhlbS4KLSAgICBzdGF0aWMgQ29sb3IgaW52YWxpZENvbG9y
KCkgeyBzdGF0aWMgQ29sb3IgaW52YWxpZDsgcmV0dXJuIGludmFsaWQ7IH0KKyAgICBzdGF0aWMg
Q29sb3IgaW52YWxpZENvbG9yKCkgeyByZXR1cm4gQ29sb3IoKTsgfQogICAgIENvbG9yIGJvcmRl
ckxlZnRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIHN1cnJvdW5kLT5ib3JkZXIubGVmdCgpLmNvbG9y
KCk7IH0KICAgICBDb2xvciBib3JkZXJSaWdodENvbG9yKCkgY29uc3QgeyByZXR1cm4gc3Vycm91
bmQtPmJvcmRlci5yaWdodCgpLmNvbG9yKCk7IH0KICAgICBDb2xvciBib3JkZXJUb3BDb2xvcigp
IGNvbnN0IHsgcmV0dXJuIHN1cnJvdW5kLT5ib3JkZXIudG9wKCkuY29sb3IoKTsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>