<?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>56651</bug_id>
          
          <creation_ts>2011-03-18 10:08:11 -0700</creation_ts>
          <short_desc>Web Inspector: migrate Inspector.json to valid JSON types.</short_desc>
          <delta_ts>2011-03-21 00:54:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>369694</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-18 10:08:11 -0700</bug_when>
    <thetext>Numbers should be &quot;integer&quot; or &quot;number&quot;. No &quot;unsigned&quot; or &quot;long&quot; allowed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370143</commentid>
    <comment_count>1</comment_count>
      <attachid>86267</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-19 11:20:48 -0700</bug_when>
    <thetext>Created attachment 86267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370148</commentid>
    <comment_count>2</comment_count>
      <attachid>86267</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-03-19 11:36:14 -0700</bug_when>
    <thetext>Comment on attachment 86267
Patch

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

lgtm

&gt; Source/WebCore/inspector/InspectorConsoleAgent.cpp:238
&gt; +    int messageCount = m_consoleMessages.size();
&gt; +    for (int i = 0; i &lt; messageCount; ++i)

why did you change this?

&gt; Source/WebCore/inspector/InspectorConsoleAgent.h:97
&gt; -    unsigned m_expiredConsoleMessageCount;
&gt; -    HashMap&lt;String, unsigned&gt; m_counts;
&gt; +    int m_expiredConsoleMessageCount;
&gt; +    HashMap&lt;String, int&gt; m_counts;

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370301</commentid>
    <comment_count>3</comment_count>
      <attachid>86267</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-03-21 00:38:34 -0700</bug_when>
    <thetext>Comment on attachment 86267
Patch

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

Please address comments before landing.

&gt; Source/WebCore/inspector/InspectorConsoleAgent.cpp:237
&gt; +    int messageCount = m_consoleMessages.size();

If you are changing type of the counter, it should become size_t, not int.

&gt;&gt; Source/WebCore/inspector/InspectorConsoleAgent.h:97
&gt;&gt; +    HashMap&lt;String, int&gt; m_counts;
&gt; 
&gt; ditto

I agree, I&apos;d rather leave unsigned as value type here and cast if needed when formatting protocol messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370306</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-21 00:54:59 -0700</bug_when>
    <thetext>Committed r81572: &lt;http://trac.webkit.org/changeset/81572&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86267</attachid>
            <date>2011-03-19 11:20:48 -0700</date>
            <delta_ts>2011-03-21 00:38:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56651-20110319212043.patch</filename>
            <type>text/plain</type>
            <size>97989</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE1NTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMTY5Mjk2ZWRiOTA4ZTc4
NGIxMTk4NDk3OTU3MGNmMjAzYjAyZjYzLi44Y2IxZGFmYzlmMmZkNGQ4ZjkyZTAyZWQ4OWYxZjhh
ZmIwODAyZmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTIzIEBACiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbWlncmF0ZSBJ
bnNwZWN0b3IuanNvbiB0byB2YWxpZCBKU09OIHR5cGVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NTEKKworICAgICAgICBUaGlzIGNoYW5nZSBt
aWdyYXRlcyBpbnNwZWN0b3IgZnJvbSBsb25nIHRvIGludCBhcworICAgICAgICBkb20sIHN0b3Jh
Z2UsIGRhdGFiYXNlIGFuZCBvdGhlciBpZCB0eXBlcy4KKworICAgICAgICAqIGluc3BlY3Rvci9J
bmplY3RlZFNjcmlwdEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRI
b3N0OjppbnNwZWN0ZWROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0SG9z
dDo6ZGF0YWJhc2VJZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRIb3N0
OjpzdG9yYWdlSWRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0SG9zdDo6
ZGlkQ3JlYXRlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0SG9zdDo6
ZGlkRGVzdHJveVdvcmtlcik6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9z
dC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmhpZ2hsaWdo
dERPTU5vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6c2V0RE9NQnJlYWtwb2lu
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6cmVt
b3ZlRE9NQnJlYWtwb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCcm93c2VyRGVi
dWdnZXJBZ2VudDo6ZGVzY3JpcHRpb25Gb3JET01FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6aGFzQnJlYWtwb2ludCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNTU0FnZW50OjpnZXRTdHlsZXNGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNTU0FnZW50OjpnZXRJbmxpbmVTdHlsZUZvck5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ1NTQWdlbnQ6OmdldENvbXB1dGVkU3R5bGVGb3JOb2RlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNTU0FnZW50OjpzZXRQcm9wZXJ0eVRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OnRvZ2dsZVByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckNTU0FnZW50OjphZGRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNTU0FnZW50OjplbGVtZW50Rm9ySWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50Ojpjb3VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRDb25zb2xlTWVzc2Fn
ZXNFbmFibGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpiaW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckRPTUFnZW50Ojp1bmJpbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OmFzc2VydE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmFz
c2VydEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmFzc2Vy
dEhUTUxFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojpub2Rl
VG9TZWxlY3RPbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cHVzaENo
aWxkTm9kZXNUb0Zyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50
Ojpub2RlRm9ySWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmdldENo
aWxkTm9kZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnF1ZXJ5U2Vs
ZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnF1ZXJ5U2VsZWN0
b3JBbGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hOb2RlUGF0
aFRvRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJvdW5k
Tm9kZUlkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpzZXRBdHRyaWJ1
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnJlbW92ZUF0dHJpYnV0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVtb3ZlTm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0Tm9kZU5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmdldE91dGVySFRNTCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2V0T3V0ZXJIVE1MKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckRPTUFnZW50OjpzZXROb2RlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRE9NQWdlbnQ6OmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hOb2RlVG9Gcm9udGVuZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojpsb2FkRXZlbnRGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkSW5zZXJ0RE9NTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkUmVtb3ZlRE9NTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cik6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y2hhcmFjdGVyRGF0YU1vZGlmaWVkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpkaWRJbnZhbGlkYXRlU3R5bGVBdHRyKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpyZXBvcnROb2Rlc0FzU2VhcmNoUmVz
dWx0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Y29weU5vZGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hOb2RlQnlQYXRoVG9Gcm9u
dGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmdldERPTVN0b3JhZ2VFbnRyaWVzKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c2V0RE9NU3RvcmFnZUl0
ZW0pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpyZW1vdmVE
T01TdG9yYWdlSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OnN0b3JhZ2VJZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01TdG9yYWdlQWdl
bnQ6OmdldERPTVN0b3JhZ2VSZXNvdXJjZUZvcklkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRP
TVN0b3JhZ2VSZXNvdXJjZS5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0
b3JhZ2VSZXNvdXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlOjppZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Z2V0RGF0YWJh
c2VUYWJsZU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRhdGFiYXNlQWdlbnQ6
OmV4ZWN1dGVTUUwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6
ZGF0YWJhc2VJZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JEYXRhYmFzZUFnZW50Ojpk
YXRhYmFzZUZvcklkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZTo6aWQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnNldFBhdXNlT25FeGNlcHRpb25zU3RhdGUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDo6Z2V0RXhhY3RIZWFwU25hcHNob3ROb2RlUmV0YWluZWRTaXplKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OmlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsU2VuZFJlcXVlc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6bWFya1Jlc291cmNl
QXNDYWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdl
bnQ6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
clJlc291cmNlQWdlbnQ6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmFpbExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6c2V0SW5pdGlhbENvbnRlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRlV2ViU29ja2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxTZW5kV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50
OjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ2xvc2VXZWJTb2NrZXQpOgorICAgICAgICAq
IGluc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsOgorCisyMDExLTAzLTE5ICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG1ha2UgZnJhbWVJZCBpbiBu
ZXR3b3JrIGFnZW50IG9mIHR5cGUgc3RyaW5nLCBub3QgdW5zaWduZWQgbG9uZy4KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NzA4CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggYWU3Y2I3
YzNiMjlhM2YyMzcxNzY2NWE0MGE5MzZhMGM5OWM2ZjY0MC4uYTBiYWZkZjkyNjNjYjQxNTc5NDc3
MWExZWQ4YzFhMWE4ZTc3NjFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIEluamVjdGVkU2Ny
aXB0SG9zdDo6Y29weVRleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQogICAgIFBhc3RlYm9hcmQ6Omdl
bmVyYWxQYXN0ZWJvYXJkKCktPndyaXRlUGxhaW5UZXh0KHRleHQpOwogfQogCi1Ob2RlKiBJbmpl
Y3RlZFNjcmlwdEhvc3Q6Omluc3BlY3RlZE5vZGUodW5zaWduZWQgbG9uZyBudW0pCitOb2RlKiBJ
bmplY3RlZFNjcmlwdEhvc3Q6Omluc3BlY3RlZE5vZGUodW5zaWduZWQgaW50IG51bSkKIHsKICAg
ICBpZiAobnVtIDwgbV9pbnNwZWN0ZWROb2Rlcy5zaXplKCkpCiAgICAgICAgIHJldHVybiBtX2lu
c3BlY3RlZE5vZGVzW251bV0uZ2V0KCk7CkBAIC0xNDMsNyArMTQzLDcgQEAgTm9kZSogSW5qZWN0
ZWRTY3JpcHRIb3N0OjppbnNwZWN0ZWROb2RlKHVuc2lnbmVkIGxvbmcgbnVtKQogfQogCiAjaWYg
RU5BQkxFKERBVEFCQVNFKQotbG9uZyBJbmplY3RlZFNjcmlwdEhvc3Q6OmRhdGFiYXNlSWRJbXBs
KERhdGFiYXNlKiBkYXRhYmFzZSkKK2ludCBJbmplY3RlZFNjcmlwdEhvc3Q6OmRhdGFiYXNlSWRJ
bXBsKERhdGFiYXNlKiBkYXRhYmFzZSkKIHsKICAgICBpZiAobV9kYXRhYmFzZUFnZW50KQogICAg
ICAgICByZXR1cm4gbV9kYXRhYmFzZUFnZW50LT5kYXRhYmFzZUlkKGRhdGFiYXNlKTsKQEAgLTE1
Miw3ICsxNTIsNyBAQCBsb25nIEluamVjdGVkU2NyaXB0SG9zdDo6ZGF0YWJhc2VJZEltcGwoRGF0
YWJhc2UqIGRhdGFiYXNlKQogI2VuZGlmCiAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCi1sb25n
IEluamVjdGVkU2NyaXB0SG9zdDo6c3RvcmFnZUlkSW1wbChTdG9yYWdlKiBzdG9yYWdlKQoraW50
IEluamVjdGVkU2NyaXB0SG9zdDo6c3RvcmFnZUlkSW1wbChTdG9yYWdlKiBzdG9yYWdlKQogewog
ICAgIGlmIChtX2RvbVN0b3JhZ2VBZ2VudCkKICAgICAgICAgcmV0dXJuIG1fZG9tU3RvcmFnZUFn
ZW50LT5zdG9yYWdlSWQoc3RvcmFnZSk7CkBAIC0xNjksMTMgKzE2OSwxMyBAQCBsb25nIEluamVj
dGVkU2NyaXB0SG9zdDo6bmV4dFdvcmtlcklkKCkKIHZvaWQgSW5qZWN0ZWRTY3JpcHRIb3N0Ojpk
aWRDcmVhdGVXb3JrZXIobG9uZyBpZCwgY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaXNTaGFyZWRX
b3JrZXIpCiB7CiAgICAgaWYgKG1faW5zcGVjdG9yQWdlbnQpCi0gICAgICAgIG1faW5zcGVjdG9y
QWdlbnQtPmRpZENyZWF0ZVdvcmtlcihpZCwgdXJsLCBpc1NoYXJlZFdvcmtlcik7CisgICAgICAg
IG1faW5zcGVjdG9yQWdlbnQtPmRpZENyZWF0ZVdvcmtlcihzdGF0aWNfY2FzdDxpbnQ+KGlkKSwg
dXJsLCBpc1NoYXJlZFdvcmtlcik7CiB9CiAKIHZvaWQgSW5qZWN0ZWRTY3JpcHRIb3N0OjpkaWRE
ZXN0cm95V29ya2VyKGxvbmcgaWQpCiB7CiAgICAgaWYgKG1faW5zcGVjdG9yQWdlbnQpCi0gICAg
ICAgIG1faW5zcGVjdG9yQWdlbnQtPmRpZERlc3Ryb3lXb3JrZXIoaWQpOworICAgICAgICBtX2lu
c3BlY3RvckFnZW50LT5kaWREZXN0cm95V29ya2VyKHN0YXRpY19jYXN0PGludD4oaWQpKTsKIH0K
ICNlbmRpZiAvLyBFTkFCTEUoV09SS0VSUykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IDA0YjQ0Y2RjYjczZDdmMDdjNmQ1MmUyNDcyOTcz
OTIxMGYwNDhiY2QuLmI1OTJkOWJhZTA4NTdkZGIxNWRkZmE1ZWNkMDI2NzVjZmNhYTU4ZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTkz
LDEyICs5MywxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnNwZWN0SW1wbChQYXNzUmVmUHRyPElu
c3BlY3RvclZhbHVlPiBvYmplY3RUb0luc3BlY3QsIFBhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+
IGhpbnRzKTsKICAgICB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2VzKCk7CiAgICAgdm9pZCBjb3B5
VGV4dChjb25zdCBTdHJpbmcmIHRleHQpOwotICAgIE5vZGUqIGluc3BlY3RlZE5vZGUodW5zaWdu
ZWQgbG9uZyBudW0pOworICAgIE5vZGUqIGluc3BlY3RlZE5vZGUodW5zaWduZWQgaW50IG51bSk7
CiAjaWYgRU5BQkxFKERBVEFCQVNFKQotICAgIGxvbmcgZGF0YWJhc2VJZEltcGwoRGF0YWJhc2Uq
KTsKKyAgICBpbnQgZGF0YWJhc2VJZEltcGwoRGF0YWJhc2UqKTsKICNlbmRpZgogI2lmIEVOQUJM
RShET01fU1RPUkFHRSkKLSAgICBsb25nIHN0b3JhZ2VJZEltcGwoU3RvcmFnZSopOworICAgIGlu
dCBzdG9yYWdlSWRJbXBsKFN0b3JhZ2UqKTsKICNlbmRpZgogI2lmIEVOQUJMRShXT1JLRVJTKQog
ICAgIGxvbmcgbmV4dFdvcmtlcklkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdEhvc3QuaWRsCmluZGV4IDBkNWM1MDAwNjk5YTcxZjY4ODBiNzNhNDNkODUw
MWZhODcyZTEzMDUuLmZjNjA4MTM4NmEyMzY2M2M2ZGIyMzY5YjI1YmJkZWNhY2VkYTM3ZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsCkBA
IC0zNiwxMiArMzYsMTIgQEAgbW9kdWxlIGNvcmUgewogCiAgICAgICAgIHZvaWQgY29weVRleHQo
aW4gRE9NU3RyaW5nIHRleHQpOwogICAgICAgICBbQ3VzdG9tXSB2b2lkIGluc3BlY3QoaW4gRE9N
T2JqZWN0IG9iamVjdElkLCBpbiBET01PYmplY3QgaGludHMpOwotICAgICAgICBbQ3VzdG9tXSBE
T01PYmplY3QgaW5zcGVjdGVkTm9kZShpbiB1bnNpZ25lZCBsb25nIG51bSk7CisgICAgICAgIFtD
dXN0b21dIERPTU9iamVjdCBpbnNwZWN0ZWROb2RlKGluIGludCBudW0pOwogICAgICAgICBbQ3Vz
dG9tXSBET01PYmplY3QgaW50ZXJuYWxDb25zdHJ1Y3Rvck5hbWUoaW4gRE9NT2JqZWN0IG9iamVj
dCk7CiAKICAgICAgICAgW0N1c3RvbV0gRE9NT2JqZWN0IGN1cnJlbnRDYWxsRnJhbWUoKTsKLSAg
ICAgICAgW0N1c3RvbV0gbG9uZyBkYXRhYmFzZUlkKGluIERPTU9iamVjdCBkYXRhYmFzZSk7Ci0g
ICAgICAgIFtDdXN0b21dIGxvbmcgc3RvcmFnZUlkKGluIERPTU9iamVjdCBzdG9yYWdlKTsKKyAg
ICAgICAgW0N1c3RvbV0gaW50IGRhdGFiYXNlSWQoaW4gRE9NT2JqZWN0IGRhdGFiYXNlKTsKKyAg
ICAgICAgW0N1c3RvbV0gaW50IHN0b3JhZ2VJZChpbiBET01PYmplY3Qgc3RvcmFnZSk7CiAKICNp
ZiBkZWZpbmVkKEVOQUJMRV9XT1JLRVJTKSAmJiBFTkFCTEVfV09SS0VSUwogICAgICAgICB2b2lk
IGRpZENyZWF0ZVdvcmtlcihpbiBsb25nIGlkLCBpbiBET01TdHJpbmcgdXJsLCBpbiBib29sZWFu
IGlzRmFrZVdvcmtlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5k
ZXggYjM5YTAzODhjNmVlOTA5OGJiYWU5ZDBkN2E5ZDk4ZjRmMDEwY2RjZC4uNDc2NTBmZDliZjFl
YzQyOWE2Y2VkZjgxZjRmN2Y5NDQ0MmFlNTMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbgpAQCAtMzYsMTQgKzM2LDE0IEBACiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAiZGlkRXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCIsCiAgICAgICAg
ICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dGVzdENhbGxJZCIsICJ0eXBlIjogImxvbmciIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidGVzdENhbGxJZCIsICJ0eXBlIjogImludGVnZXIiIH0sCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAianNvblJlc3VsdCIsICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAg
ICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiaGlnaGxpZ2h0RE9NTm9kZSIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAibG9u
ZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImlu
dGVnZXIiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAg
ewpAQCAtOTgsMTMgKzk4LDEzIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5h
bWUiOiAiZG9tQ29udGVudEV2ZW50RmlyZWQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWUiLCAidHlwZSI6ICJmbG9h
dCIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWUiLCAidHlwZSI6ICJudW1i
ZXIiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICJuYW1lIjogImxvYWRFdmVudEZpcmVkIiwKICAgICAgICAgICAgICAg
ICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0aW1lIiwg
InR5cGUiOiAiZmxvYXQiIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0aW1lIiwg
InR5cGUiOiAibnVtYmVyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAg
ICAgICAgICAgIHsKQEAgLTExOSw3ICsxMTksNyBAQAogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICJuYW1lIjogImV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQiLAogICAgICAgICAgICAg
ICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRlc3RD
YWxsSWQiLCAidHlwZSI6ICJsb25nIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InRlc3RDYWxsSWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInNjcmlwdCIsICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAgICAgICAgIF0K
ICAgICAgICAgICAgIH0sCkBAIC0yMTgsNyArMjE4LDcgQEAKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJhZGRJbnNwZWN0ZWROb2RlIiwKICAgICAgICAgICAgICAgICAi
cGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAi
dHlwZSI6ICJsb25nIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwg
InR5cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAg
ICAgICAgXSwKQEAgLTIzMiwxMyArMjMyLDEzIEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiY29uc29sZU1lc3NhZ2VFeHBpcmVkQ291bnRVcGRhdGUiLAogICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNvdW50IiwgInR5cGUiOiAidW5zaWduZWQiIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJjb3VudCIsICJ0eXBlIjogImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdCiAgICAg
ICAgICAgICB9LAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImNvbnNv
bGVNZXNzYWdlUmVwZWF0Q291bnRVcGRhdGUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNvdW50IiwgInR5cGUiOiAidW5z
aWduZWQiIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb3VudCIsICJ0eXBlIjog
ImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAg
ICAgewpAQCAtMjg4LDcgKzI4OCw3IEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiaWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAi
cGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVudGlmaWVy
IiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVu
dGlmaWVyIiwgInR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJ1cmwiLCAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAibG9hZGVyIiwgIiRyZWYiOiAiTmV0d29ya0xvYWRlciIgfSwKICAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJjYWxsU3RhY2siLCAiJHJlZiI6IFsiRGVidWdnZXJTdGFja0ZyYW1l
Il0gfQpAQCAtMjk3LDggKzI5Nyw4IEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAid2lsbFNlbmRSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAi
bG9uZyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0aW1lIiwgInR5cGUiOiAi
ZmxvYXQiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIsICJ0
eXBlIjogImludGVnZXIiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZSIs
ICJ0eXBlIjogIm51bWJlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1
ZXN0IiwgIiRyZWYiOiAiTmV0d29ya1JlcXVlc3QiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicmVkaXJlY3RSZXNwb25zZSIsICIkcmVmIjogIk5ldHdvcmtSZXNwb25zZSIgfQog
ICAgICAgICAgICAgICAgIF0KQEAgLTMwNiwxNCArMzA2LDE0IEBACiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAibWFya1Jlc291cmNlQXNDYWNoZWQiLAogICAgICAgICAg
ICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlk
ZW50aWZpZXIiLCAidHlwZSI6ICJsb25nIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAiaWRlbnRpZmllciIsICJ0eXBlIjogImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdCiAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImRp
ZFJlY2VpdmVSZXNwb25zZSIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIsICJ0eXBlIjogImxvbmciIH0s
Ci0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZSIsICJ0eXBlIjogImZsb2F0IiB9
LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJp
bnRlZ2VyIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWUiLCAidHlwZSI6
ICJudW1iZXIiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVzb3VyY2VUeXBl
IiwgInR5cGUiOiAic3RyaW5nIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJl
c3BvbnNlIiwgIiRyZWYiOiAiTmV0d29ya1Jlc3BvbnNlIiB9CiAgICAgICAgICAgICAgICAgXQpA
QCAtMzIxLDM3ICszMjEsMzcgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJkaWRSZWNlaXZlQ29udGVudExlbmd0aCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRl
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIsICJ0eXBl
IjogImxvbmciIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZSIsICJ0eXBl
IjogImZsb2F0IiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxlbmd0aFJlY2Vp
dmVkIiwgInR5cGUiOiAibG9uZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlk
ZW50aWZpZXIiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInRpbWUiLCAidHlwZSI6ICJudW1iZXIiIH0sCisgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibGVuZ3RoUmVjZWl2ZWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAg
ICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJkaWRGaW5pc2hMb2FkaW5nIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAi
bG9uZyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmaW5pc2hUaW1lIiwgInR5
cGUiOiAiZmxvYXQiIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVudGlmaWVy
IiwgInR5cGUiOiAiaW50ZWdlciIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJm
aW5pc2hUaW1lIiwgInR5cGUiOiAibnVtYmVyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaWRGYWls
TG9hZGluZyIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIsICJ0eXBlIjogImxvbmciIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZSIsICJ0eXBlIjogImZsb2F0IiB9LAorICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJpbnRlZ2VyIiB9
LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWUiLCAidHlwZSI6ICJudW1iZXIi
IH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibG9jYWxpemVkRGVzY3JpcHRpb24i
LCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImRpZExvYWRSZXNvdXJjZUZy
b21NZW1vcnlDYWNoZSIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZSIsICJ0eXBlIjogImZsb2F0IiB9LAorICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInRpbWUiLCAidHlwZSI6ICJudW1iZXIiIH0sCiAgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVzb3VyY2UiLCAiJHJlZiI6ICJOZXR3b3JrQ2Fj
aGVkUmVzb3VyY2UiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogInNldEluaXRpYWxDb250ZW50IiwKICAg
ICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VTdHJpbmciLCAidHlwZSI6ICJzdHJpbmciIH0sCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlwZSIsICJ0eXBlIjogInN0cmluZyIgfQog
ICAgICAgICAgICAgICAgIF0KQEAgLTM2NiwzMSArMzY2LDMxIEBACiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlkQ3JlYXRlV2ViU29ja2V0IiwKICAgICAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVu
dGlmaWVyIiwgInR5cGUiOiAidW5zaWduZWQiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiaWRlbnRpZmllciIsICJ0eXBlIjogImludGVnZXIiIH0sCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAicmVxdWVzdFVSTCIsICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAg
ICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAid2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0IiwKICAgICAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVu
dGlmaWVyIiwgInR5cGUiOiAidW5zaWduZWQiIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidGltZSIsICJ0eXBlIjogImZsb2F0IiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAorICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInRpbWUiLCAidHlwZSI6ICJudW1iZXIiIH0sCiAgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdCIsICIkcmVmIjogIk5ldHdvcmtXZWJTb2NrZXRSZXF1
ZXN0IiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVz
cG9uc2UiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJ1bnNpZ25lZCIgfSwKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0aW1lIiwgInR5cGUiOiAiZmxvYXQiIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWRlbnRpZmllciIsICJ0eXBlIjogImludGVnZXIi
IH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZSIsICJ0eXBlIjogIm51bWJl
ciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXNwb25zZSIsICIkcmVmIjog
Ik5ldHdvcmtXZWJTb2NrZXRSZXNwb25zZSIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAg
ICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlkQ2xvc2VX
ZWJTb2NrZXQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImlkZW50aWZpZXIiLCAidHlwZSI6ICJ1bnNpZ25lZCIgfSwKLSAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0aW1lIiwgInR5cGUiOiAiZmxvYXQiIH0KKyAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZGVudGlmaWVyIiwgInR5cGUiOiAiaW50ZWdl
ciIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0aW1lIiwgInR5cGUiOiAibnVt
YmVyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfQogICAgICAgICBdCkBAIC00
MDIsNyArNDAyLDcgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJn
ZXREYXRhYmFzZVRhYmxlTmFtZXMiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRhdGFiYXNlSWQiLCAidHlwZSI6ICJsb25n
IiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGF0YWJhc2VJZCIsICJ0eXBlIjog
ImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5z
IjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRhYmxlTmFtZXMiLCAidHlwZSI6
IFsic3RyaW5nIl0gfQpAQCAtNDExLDEyICs0MTEsMTIgQEAKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJleGVjdXRlU1FMIiwKICAgICAgICAgICAgICAgICAicGFyYW1l
dGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5
cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkYXRhYmFzZUlk
IiwgInR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJx
dWVyeSIsICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAg
ICAgICAgInJldHVybnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3VjY2Vz
cyIsICJ0eXBlIjogImJvb2xlYW4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dHJhbnNhY3Rpb25JZCIsICJ0eXBlIjogImxvbmciIH0KKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJ0cmFuc2FjdGlvbklkIiwgInR5cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAgICAg
ICAgIF0KICAgICAgICAgICAgIH0KICAgICAgICAgXSwKQEAgLTQzMCw3ICs0MzAsNyBAQAogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogInNxbFRyYW5zYWN0aW9uU3VjY2Vl
ZGVkIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJ0cmFuc2FjdGlvbklkIiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ0cmFuc2FjdGlvbklkIiwgInR5cGUiOiAiaW50ZWdlciIg
fSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb2x1bW5OYW1lcyIsICJ0eXBlIjog
WyJzdHJpbmciXSB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInZhbHVlcyIsICJ0
eXBlIjogWyJzdHJpbmcgb3IgbnVtYmVyIl0gfQogICAgICAgICAgICAgICAgIF0KQEAgLTQzOCw3
ICs0MzgsNyBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogInNxbFRy
YW5zYWN0aW9uRmFpbGVkIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0cmFuc2FjdGlvbklkIiwgInR5cGUiOiAibG9uZyIg
fSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0cmFuc2FjdGlvbklkIiwgInR5cGUi
OiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzcWxFcnJvciIs
ICIkcmVmIjogIkRhdGFiYXNlRXJyb3IiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAg
ICB9CkBAIC00NTEsNyArNDUxLDcgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJnZXRET01TdG9yYWdlRW50cmllcyIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRl
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3RvcmFnZUlkIiwgInR5cGUi
OiAibG9uZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN0b3JhZ2VJZCIsICJ0
eXBlIjogImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJy
ZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImVudHJpZXMiLCAiJHJl
ZiI6IFsiRE9NU3RvcmFnZUVudHJ5Il0gfQpAQCAtNDYwLDcgKzQ2MCw3IEBACiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0RE9NU3RvcmFnZUl0ZW0iLAogICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InN0b3JhZ2VJZCIsICJ0eXBlIjogImxvbmciIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAic3RvcmFnZUlkIiwgInR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJrZXkiLCAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAg
ICBdLApAQCAtNDcxLDcgKzQ3MSw3IEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAicmVtb3ZlRE9NU3RvcmFnZUl0ZW0iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0
ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN0b3JhZ2VJZCIsICJ0eXBl
IjogImxvbmciIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3RvcmFnZUlkIiwg
InR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJrZXki
LCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAg
ICJyZXR1cm5zIjogWwpAQCAtNTMzLDQ1ICs1MzMsNDUgQEAKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJnZXRDaGlsZE5vZGVzIiwKICAgICAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAidHlw
ZSI6ICJsb25nIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5
cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAicXVlcnlTZWxlY3RvciIsCiAgICAg
ICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibm9kZUlkIiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJub2RlSWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInNlbGVjdG9ycyIsICJ0eXBlIjogInN0cmluZyIgfSwKICAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJkb2N1bWVudFdpZGUiLCAidHlwZSI6ICJib29sZWFuIiB9CiAgICAg
ICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJlbGVtZW50SWQiLCAidHlwZSI6ICJsb25nIiB9CisgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiZWxlbWVudElkIiwgInR5cGUiOiAiaW50ZWdlciIgfQog
ICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAicXVlcnlTZWxlY3RvckFsbCIsCiAgICAgICAgICAgICAgICAgInBh
cmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5
cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAi
dHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNlbGVj
dG9ycyIsICJ0eXBlIjogInN0cmluZyIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJkb2N1bWVudFdpZGUiLCAidHlwZSI6ICJib29sZWFuIiB9CiAgICAgICAgICAgICAgICAgXSwK
ICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJub2RlSWRzIiwgInR5cGUiOiBbImxvbmciXSB9CisgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibm9kZUlkcyIsICJ0eXBlIjogWyJpbnRlZ2VyIl0gfQogICAgICAgICAgICAgICAg
IF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUi
OiAic2V0Tm9kZU5hbWUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImxvbmciIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAiaW50ZWdlciIgfSwK
ICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuYW1lIiwgInR5cGUiOiAic3RyaW5nIiB9
CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvdXROb2RlSWQiLCAidHlwZSI6ICJsb25nIiB9Cisg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib3V0Tm9kZUlkIiwgInR5cGUiOiAiaW50ZWdl
ciIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0Tm9kZVZhbHVlIiwKICAgICAgICAgICAgICAgICAi
cGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAi
dHlwZSI6ICJsb25nIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIs
ICJ0eXBlIjogImludGVnZXIiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFs
dWUiLCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
ICAgICJyZXR1cm5zIjogWwpAQCAtNTgxLDE2ICs1ODEsMTYgQEAKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJyZW1vdmVOb2RlIiwKICAgICAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAidHlw
ZSI6ICJsb25nIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5
cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgInJl
dHVybnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib3V0Tm9kZUlkIiwgInR5
cGUiOiAibG9uZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm91dE5vZGVJZCIs
ICJ0eXBlIjogImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogInNldEF0dHJpYnV0ZSIsCiAg
ICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiZWxlbWVudElkIiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJlbGVtZW50SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogIm5hbWUiLCAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAg
ICAgICAgICBdCkBAIC01OTgsMTQgKzU5OCwxNCBAQAogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICJuYW1lIjogInJlbW92ZUF0dHJpYnV0ZSIsCiAgICAgICAgICAgICAgICAgInBhcmFt
ZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZWxlbWVudElkIiwgInR5
cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlbGVtZW50SWQi
LCAidHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5h
bWUiLCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9
LAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImdldEV2ZW50TGlzdGVu
ZXJzRm9yTm9kZSIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAibG9uZyIgfQorICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImludGVnZXIiIH0KICAgICAg
ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImxpc3RlbmVyc0FycmF5IiwgIiRyZWYiOiBbIkRPTUxpc3RlbmVy
Il0gfQpAQCAtNjE0LDEzICs2MTQsMTMgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjb3B5Tm9kZSIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAibG9uZyIgfQor
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImludGVnZXIi
IH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICJuYW1lIjogImdldE91dGVySFRNTCIsCiAgICAgICAgICAgICAgICAgInBh
cmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5
cGUiOiAibG9uZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0
eXBlIjogImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJy
ZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm91dGVySFRNTCIsICJ0
eXBlIjogInN0cmluZyIgfQpAQCAtNjI5LDExICs2MjksMTEgQEAKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJzZXRPdXRlckhUTUwiLAogICAgICAgICAgICAgICAgICJw
YXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0
eXBlIjogImxvbmciIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwg
InR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvdXRl
ckhUTUwiLCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg
ICAgICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm91dE5v
ZGVJZCIsICJ0eXBlIjogImxvbmciIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJv
dXROb2RlSWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgIHsKQEAgLTY1Miw3ICs2NTIsNyBAQAogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogIm9iamVjdElkIiwgInR5cGUiOiAic3RyaW5nIiB9CiAgICAgICAg
ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJsb25nIiB9CisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAg
ICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CkBAIC02NjEsMTMgKzY2MSwx
MyBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhdGgiLCAidHlwZSI6ICJzdHJp
bmciIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwot
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImxvbmciIH0K
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJpbnRlZ2Vy
IiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJyZXNvbHZlTm9kZSIsCiAgICAgICAgICAgICAgICAgInBh
cmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5
cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAi
dHlwZSI6ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9iamVj
dEdyb3VwIiwgInR5cGUiOiAic3RyaW5nIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICAgICAicmV0dXJucyI6IFsKQEAgLTY4MiwyMSArNjgyLDIxIEBACiAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0Q2hpbGROb2RlcyIsCiAgICAgICAgICAgICAg
ICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFyZW50
SWQiLCAidHlwZSI6ICJsb25nIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBh
cmVudElkIiwgInR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJub2RlcyIsICIkcmVmIjogWyJET01Ob2RlIl0gfQogICAgICAgICAgICAgICAgIF0KICAg
ICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0
cmlidXRlc1VwZGF0ZWQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImlkIiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJpZCIsICJ0eXBlIjogImludGVnZXIiIH0sCiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiYXR0cmlidXRlcyIsICIkcmVmIjogWyJET01BdHRyaWJ1
dGUiXSB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJjaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLAogICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImlkIiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJp
ZCIsICJ0eXBlIjogImludGVnZXIiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
bmV3VmFsdWUiLCAidHlwZSI6ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAg
ICAgICB9LApAQCAtNzA5LDI5ICs3MDksMjkgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJjaGlsZE5vZGVDb3VudFVwZGF0ZWQiLAogICAgICAgICAgICAgICAgICJw
YXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlkIiwgInR5cGUi
OiAibG9uZyIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZCIsICJ0eXBlIjog
ImludGVnZXIiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmV3VmFsdWUiLCAi
dHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJjaGlsZE5vZGVJbnNlcnRlZCIs
CiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicGFyZW50SWQiLCAidHlwZSI6ICJsb25nIiB9LAotICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInByZXZJZCIsICJ0eXBlIjogImxvbmciIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAicGFyZW50SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAorICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInByZXZJZCIsICJ0eXBlIjogImludGVnZXIiIH0sCiAgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZSIsICIkcmVmIjogIkRPTU5vZGUiIH0KICAg
ICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICJuYW1lIjogImNoaWxkTm9kZVJlbW92ZWQiLAogICAgICAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBhcmVudElkIiwgInR5
cGUiOiAibG9uZyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZCIsICJ0eXBl
IjogImxvbmciIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwYXJlbnRJZCIsICJ0
eXBlIjogImludGVnZXIiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWQiLCAi
dHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJzZWFyY2hSZXN1bHRzIiwKICAg
ICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJub2RlSWRzIiwgInR5cGUiOiBbImxvbmciXSB9CisgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibm9kZUlkcyIsICJ0eXBlIjogWyJpbnRlZ2VyIl0gfQogICAgICAgICAgICAgICAg
IF0KICAgICAgICAgICAgIH0KICAgICAgICAgXQpAQCAtNzQzLDcgKzc0Myw3IEBACiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0U3R5bGVzRm9yTm9kZSIsCiAgICAg
ICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibm9kZUlkIiwgInR5cGUiOiAibG9uZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm5vZGVJZCIsICJ0eXBlIjogImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdLAogICAg
ICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InN0eWxlcyIsICIkcmVmIjogIkNTU05vZGVTdHlsZXMiIH0KQEAgLTc1Miw3ICs3NTIsNyBAQAog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImdldENvbXB1dGVkU3R5bGVG
b3JOb2RlIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJsb25nIiB9CisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAiaW50ZWdlciIgfQogICAgICAgICAg
ICAgICAgIF0sCiAgICAgICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAic3R5bGUiLCAiJHJlZiI6ICJDU1NDb21wdXRlZFN0eWxlIiB9CkBAIC03
NjEsNyArNzYxLDcgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJn
ZXRJbmxpbmVTdHlsZUZvck5vZGUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwot
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImxvbmciIH0K
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAidHlwZSI6ICJpbnRlZ2Vy
IiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKICAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdHlsZSIsICIkcmVmIjogIkNTU1N0eWxlIiB9
CkBAIC04MDYsNyArODA2LDcgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRQcm9wZXJ0
eVRleHQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInN0eWxlSWQiLCAiJHJlZiI6ICJDU1NTdHlsZUlkIiB9LAotICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInByb3BlcnR5SW5kZXgiLCAidHlwZSI6ICJsb25nIiB9
LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInByb3BlcnR5SW5kZXgiLCAidHlwZSI6
ICJpbnRlZ2VyIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRleHQiLCAidHlw
ZSI6ICJzdHJpbmciIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib3ZlcndyaXRl
IiwgInR5cGUiOiAiYm9vbGVhbiIgfQogICAgICAgICAgICAgICAgIF0sCkBAIC04MTgsNyArODE4
LDcgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJ0b2dnbGVQcm9wZXJ0eSIsCiAgICAgICAg
ICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
c3R5bGVJZCIsICIkcmVmIjogIkNTU1N0eWxlSWQiIH0sCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicHJvcGVydHlJbmRleCIsICJ0eXBlIjogImxvbmciIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicHJvcGVydHlJbmRleCIsICJ0eXBlIjogImludGVnZXIiIH0sCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGlzYWJsZSIsICJ0eXBlIjogImJvb2xlYW4i
IH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwpAQCAt
ODM4LDcgKzgzOCw3IEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
YWRkUnVsZSIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiY29udGV4dE5vZGVJZCIsICJ0eXBlIjogImxvbmciIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29udGV4dE5vZGVJZCIsICJ0eXBlIjogImludGVn
ZXIiIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2VsZWN0b3IiLCAidHlwZSI6
ICJzdHJpbmciIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5z
IjogWwpAQCAtOTgwLDEwICs5ODAsMTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzZXRQYXVzZU9uRXhjZXB0aW9uc1N0YXRlIiwKICAgICAgICAgICAgICAgICAi
cGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwYXVzZU9uRXhj
ZXB0aW9uc1N0YXRlIiwgInR5cGUiOiAibG9uZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInBhdXNlT25FeGNlcHRpb25zU3RhdGUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAg
ICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJuZXdTdGF0ZSIsICJ0eXBlIjogImxvbmciIH0KKyAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJuZXdTdGF0ZSIsICJ0eXBlIjogImludGVnZXIiIH0KICAg
ICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewpAQCAtMTA0OCw3
ICsxMDQ4LDcgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaWRD
cmVhdGVXb3JrZXIiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImlkIiwgInR5cGUiOiAibG9uZyIgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJpZCIsICJ0eXBlIjogImludGVnZXIiIH0sCiAgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAidXJsIiwgInR5cGUiOiAic3RyaW5nIiB9LAogICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImlzU2hhcmVkIiwgInR5cGUiOiAiYm9vbGVhbiIgfQogICAg
ICAgICAgICAgICAgIF0KQEAgLTEwNTYsNyArMTA1Niw3IEBACiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZGlkRGVzdHJveVdvcmtlciIsCiAgICAgICAgICAgICAgICAg
InBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWQiLCAidHlw
ZSI6ICJsb25nIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWQiLCAidHlwZSI6
ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfQogICAgICAgICBd
CkBAIC0xMDY4LDE1ICsxMDY4LDE1IEBACiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAic2V0RE9NQnJlYWtwb2ludCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAibG9u
ZyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAibG9u
ZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImlu
dGVnZXIiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlwZSIsICJ0eXBlIjog
ImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogInJlbW92ZURPTUJyZWFrcG9pbnQiLAogICAg
ICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm5vZGVJZCIsICJ0eXBlIjogImxvbmciIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidHlwZSIsICJ0eXBlIjogImxvbmciIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJub2RlSWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAorICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXQog
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKQEAgLTExNDAsNyArMTE0MCw3IEBACiAgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvZmlsZSIsCiAgICAgICAgICAgICAgICAgInBhcmFt
ZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlwZSIsICJ0eXBlIjog
InN0cmluZyIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1aWQiLCAidHlwZSI6
ICJ1bnNpZ25lZCIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVpZCIsICJ0eXBl
IjogImludGVnZXIiIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1
cm5zIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInByb2ZpbGUiLCAiJHJlZiI6
ICJQcm9maWxlIiB9CkBAIC0xMTUwLDcgKzExNTAsNyBAQAogICAgICAgICAgICAgICAgICJuYW1l
IjogInJlbW92ZVByb2ZpbGUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAg
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJzdHJpbmciIH0sCi0g
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidWlkIiwgInR5cGUiOiAidW5zaWduZWQiIH0K
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1aWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9
CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKQEAgLTEx
NjUsMTEgKzExNjUsMTEgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6
ICJnZXRFeGFjdEhlYXBTbmFwc2hvdE5vZGVSZXRhaW5lZFNpemUiLAogICAgICAgICAgICAgICAg
ICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVpZCIsICJ0
eXBlIjogInVuc2lnbmVkIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJ
ZCIsICJ0eXBlIjogInVuc2lnbmVkIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dWlkIiwgInR5cGUiOiAiaW50ZWdlciIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJub2RlSWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAg
ICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJz
aXplIiwgInR5cGUiOiAibG9uZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNp
emUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAg
fSwKICAgICAgICAgICAgIHsKQEAgLTExOTIsMTQgKzExOTIsMTQgQEAKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJhZGRIZWFwU25hcHNob3RDaHVuayIsCiAgICAgICAg
ICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dWlkIiwgInR5cGUiOiAidW5zaWduZWQiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAidWlkIiwgInR5cGUiOiAiaW50ZWdlciIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJjaHVuayIsICJ0eXBlIjogInN0cmluZyIgfQogICAgICAgICAgICAgICAgIF0KICAgICAg
ICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZmluaXNo
SGVhcFNuYXBzaG90IiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ1aWQiLCAidHlwZSI6ICJ1bnNpZ25lZCIgfQorICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogInVpZCIsICJ0eXBlIjogImludGVnZXIiIH0KICAgICAg
ICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKaW5kZXggMDJlZThhZjJhZTZlZDVkODM5
NWRlNzU2YmFiMzA5YTFkZGRiOWEyYi4uYmRhZmUyZTNlYTUzYzliYzgyNjFkNjMwODQ4NmY2YzJm
YzdjMTU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3Bw
CkBAIC0yNzYsNyArMjc2LDcgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6aGlnaGxpZ2h0KEVycm9y
U3RyaW5nKiwgTm9kZSogbm9kZSkKICAgICBtX2NsaWVudC0+aGlnaGxpZ2h0KG5vZGUpOwogfQog
Ci12b2lkIEluc3BlY3RvckFnZW50OjpoaWdobGlnaHRET01Ob2RlKEVycm9yU3RyaW5nKiBlcnJv
ciwgbG9uZyBub2RlSWQpCit2b2lkIEluc3BlY3RvckFnZW50OjpoaWdobGlnaHRET01Ob2RlKEVy
cm9yU3RyaW5nKiBlcnJvciwgaW50IG5vZGVJZCkKIHsKICAgICBOb2RlKiBub2RlID0gMDsKICAg
ICBpZiAobV9kb21BZ2VudCAmJiAobm9kZSA9IG1fZG9tQWdlbnQtPm5vZGVGb3JJZChub2RlSWQp
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKaW5kZXggYmRjYTJj
ZWFkMmJhNGE3OTI2NTk1ZmZmNzkwOGE5MTkyYmVmZDE0OC4uNTgwYTdiNjhlMDgxNzVmNGYxODk4
OWM4NGJmNzU3ZDkzM2RhNGI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFnZW50LmgKQEAgLTEyMCw3ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBoaWdobGlnaHQo
RXJyb3JTdHJpbmcqLCBOb2RlKik7CiAgICAgdm9pZCBoaWRlSGlnaGxpZ2h0KEVycm9yU3RyaW5n
Kik7CiAgICAgdm9pZCBpbnNwZWN0KE5vZGUqKTsKLSAgICB2b2lkIGhpZ2hsaWdodERPTU5vZGUo
RXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCk7CisgICAgdm9pZCBoaWdobGlnaHRET01Ob2RlKEVy
cm9yU3RyaW5nKiwgaW50IG5vZGVJZCk7CiAgICAgdm9pZCBoaWRlRE9NTm9kZUhpZ2hsaWdodChF
cnJvclN0cmluZyogZXJyb3IpIHsgaGlkZUhpZ2hsaWdodChlcnJvcik7IH0KIAogICAgIHZvaWQg
aGlnaGxpZ2h0RnJhbWUoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIGZyYW1lSWQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dl
ckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVi
dWdnZXJBZ2VudC5jcHAKaW5kZXggZWRiMDkxNjY5ZTdmNWU3MGM4NDBjNmNmMzI4ZjM5NDRhZGUy
OWE3Yi4uYWZhZGYyZGM3YWI0YTA0ZDI5MjM3ZmM2MGM2YjNiNzJkYzZkY2JmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQuY3BwCkBAIC0xNjksNyArMTY5LDcgQEAgdm9pZCBJbnNwZWN0b3JCcm93c2VyRGVi
dWdnZXJBZ2VudDo6ZGlkUmVtb3ZlRE9NTm9kZShOb2RlKiBub2RlKQogICAgIH0KIH0KIAotdm9p
ZCBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudDo6c2V0RE9NQnJlYWtwb2ludChFcnJvclN0
cmluZyosIGxvbmcgbm9kZUlkLCBsb25nIHR5cGUpCit2b2lkIEluc3BlY3RvckJyb3dzZXJEZWJ1
Z2dlckFnZW50OjpzZXRET01CcmVha3BvaW50KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgaW50
IHR5cGUpCiB7CiAgICAgTm9kZSogbm9kZSA9IG1fZG9tQWdlbnQtPm5vZGVGb3JJZChub2RlSWQp
OwogICAgIGlmICghbm9kZSkKQEAgLTE4Myw3ICsxODMsNyBAQCB2b2lkIEluc3BlY3RvckJyb3dz
ZXJEZWJ1Z2dlckFnZW50OjpzZXRET01CcmVha3BvaW50KEVycm9yU3RyaW5nKiwgbG9uZyBub2Rl
SWQsCiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpyZW1v
dmVET01CcmVha3BvaW50KEVycm9yU3RyaW5nKiwgbG9uZyBub2RlSWQsIGxvbmcgdHlwZSkKK3Zv
aWQgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OnJlbW92ZURPTUJyZWFrcG9pbnQoRXJy
b3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBpbnQgdHlwZSkKIHsKICAgICBOb2RlKiBub2RlID0gbV9k
b21BZ2VudC0+bm9kZUZvcklkKG5vZGVJZCk7CiAgICAgaWYgKCFub2RlKQpAQCAtMjUwLDcgKzI1
MCw3IEBAIHZvaWQgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OndpbGxNb2RpZnlET01B
dHRyKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvckJyb3dzZXJE
ZWJ1Z2dlckFnZW50OjpkZXNjcmlwdGlvbkZvckRPTUV2ZW50KE5vZGUqIHRhcmdldCwgbG9uZyBi
cmVha3BvaW50VHlwZSwgYm9vbCBpbnNlcnRpb24sIEluc3BlY3Rvck9iamVjdCogZGVzY3JpcHRp
b24pCit2b2lkIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpkZXNjcmlwdGlvbkZvckRP
TUV2ZW50KE5vZGUqIHRhcmdldCwgaW50IGJyZWFrcG9pbnRUeXBlLCBib29sIGluc2VydGlvbiwg
SW5zcGVjdG9yT2JqZWN0KiBkZXNjcmlwdGlvbikKIHsKICAgICBBU1NFUlQoaGFzQnJlYWtwb2lu
dCh0YXJnZXQsIGJyZWFrcG9pbnRUeXBlKSk7CiAKQEAgLTI3NCwxMyArMjc0LDEzIEBAIHZvaWQg
SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6OmRlc2NyaXB0aW9uRm9yRE9NRXZlbnQoTm9k
ZSogdGFyZ2V0LCBsb25nIGJyCiAgICAgICAgICAgICBkZXNjcmlwdGlvbi0+c2V0Qm9vbGVhbigi
aW5zZXJ0aW9uIiwgaW5zZXJ0aW9uKTsKICAgICB9CiAKLSAgICBsb25nIGJyZWFrcG9pbnRPd25l
ck5vZGVJZCA9IG1fZG9tQWdlbnQtPmJvdW5kTm9kZUlkKGJyZWFrcG9pbnRPd25lcik7CisgICAg
aW50IGJyZWFrcG9pbnRPd25lck5vZGVJZCA9IG1fZG9tQWdlbnQtPmJvdW5kTm9kZUlkKGJyZWFr
cG9pbnRPd25lcik7CiAgICAgQVNTRVJUKGJyZWFrcG9pbnRPd25lck5vZGVJZCk7CiAgICAgZGVz
Y3JpcHRpb24tPnNldE51bWJlcigibm9kZUlkIiwgYnJlYWtwb2ludE93bmVyTm9kZUlkKTsKICAg
ICBkZXNjcmlwdGlvbi0+c2V0TnVtYmVyKCJ0eXBlIiwgYnJlYWtwb2ludFR5cGUpOwogfQogCi1i
b29sIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpoYXNCcmVha3BvaW50KE5vZGUqIG5v
ZGUsIGxvbmcgdHlwZSkKK2Jvb2wgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ6Omhhc0Jy
ZWFrcG9pbnQoTm9kZSogbm9kZSwgaW50IHR5cGUpCiB7CiAgICAgdWludDMyX3Qgcm9vdEJpdCA9
IDEgPDwgdHlwZTsKICAgICB1aW50MzJfdCBkZXJpdmVkQml0ID0gcm9vdEJpdCA8PCBkb21CcmVh
a3BvaW50RGVyaXZlZFR5cGVTaGlmdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmgKaW5kZXggZGMwYTA0MDIwZTQx
YzBhMDI1ZTVkZDBiOGE4ODEwZjc4NWZhYjM4Ni4uYWRkMGMwNWM1ZDUxYmIzZTk0MjA5ZWRjYWVm
YTIyNTE4YThlNzI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmgKQEAgLTYzLDEyICs2MywxMiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjbGVhckZyb250ZW5kKCk7CiAKICAgICAvLyBCcm93c2VyRGVidWdnZXIg
QVBJIGZvciBJbnNwZWN0b3JGcm9udGVuZAotICAgIHZvaWQgc2V0WEhSQnJlYWtwb2ludChFcnJv
clN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgdXJsKTsKLSAgICB2b2lkIHJlbW92ZVhIUkJy
ZWFrcG9pbnQoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25zdCBTdHJpbmcmIHVybCk7Ci0gICAgdm9p
ZCBzZXRFdmVudExpc3RlbmVyQnJlYWtwb2ludChFcnJvclN0cmluZyogZXJyb3IsIGNvbnN0IFN0
cmluZyYgZXZlbnROYW1lKTsKLSAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJCcmVha3BvaW50
KEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgU3RyaW5nJiBldmVudE5hbWUpOwotICAgIHZvaWQg
c2V0RE9NQnJlYWtwb2ludChFcnJvclN0cmluZyogZXJyb3IsIGxvbmcgbm9kZUlkLCBsb25nIHR5
cGUpOwotICAgIHZvaWQgcmVtb3ZlRE9NQnJlYWtwb2ludChFcnJvclN0cmluZyogZXJyb3IsIGxv
bmcgbm9kZUlkLCBsb25nIHR5cGUpOworICAgIHZvaWQgc2V0WEhSQnJlYWtwb2ludChFcnJvclN0
cmluZyosIGNvbnN0IFN0cmluZyYgdXJsKTsKKyAgICB2b2lkIHJlbW92ZVhIUkJyZWFrcG9pbnQo
RXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHVybCk7CisgICAgdm9pZCBzZXRFdmVudExpc3Rl
bmVyQnJlYWtwb2ludChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZXZlbnROYW1lKTsKKyAg
ICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJCcmVha3BvaW50KEVycm9yU3RyaW5nKiwgY29uc3Qg
U3RyaW5nJiBldmVudE5hbWUpOworICAgIHZvaWQgc2V0RE9NQnJlYWtwb2ludChFcnJvclN0cmlu
ZyosIGludCBub2RlSWQsIGludCB0eXBlKTsKKyAgICB2b2lkIHJlbW92ZURPTUJyZWFrcG9pbnQo
RXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBpbnQgdHlwZSk7CiAKICAgICAvLyBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24gQVBJCiAgICAgdm9pZCB3aWxsSW5zZXJ0RE9NTm9kZShOb2RlKiwgTm9k
ZSogcGFyZW50KTsKQEAgLTg3LDkgKzg3LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
ZGVidWdnZXJXYXNEaXNhYmxlZCgpOwogICAgIHZvaWQgZGlzYWJsZSgpOwogCi0gICAgdm9pZCBk
ZXNjcmlwdGlvbkZvckRPTUV2ZW50KE5vZGUqIHRhcmdldCwgbG9uZyBicmVha3BvaW50VHlwZSwg
Ym9vbCBpbnNlcnRpb24sIEluc3BlY3Rvck9iamVjdCogZGVzY3JpcHRpb24pOworICAgIHZvaWQg
ZGVzY3JpcHRpb25Gb3JET01FdmVudChOb2RlKiB0YXJnZXQsIGludCBicmVha3BvaW50VHlwZSwg
Ym9vbCBpbnNlcnRpb24sIEluc3BlY3Rvck9iamVjdCogZGVzY3JpcHRpb24pOwogICAgIHZvaWQg
dXBkYXRlU3VidHJlZUJyZWFrcG9pbnRzKE5vZGUqLCB1aW50MzJfdCByb290TWFzaywgYm9vbCBz
ZXQpOwotICAgIGJvb2wgaGFzQnJlYWtwb2ludChOb2RlKiwgbG9uZyB0eXBlKTsKKyAgICBib29s
IGhhc0JyZWFrcG9pbnQoTm9kZSosIGludCB0eXBlKTsKICAgICB2b2lkIGRpc2NhcmRCaW5kaW5n
cygpOwogCiAgICAgdm9pZCBjbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggNGUyOGUwZTIzOTAyYTIyMDRiZDRiMTgzNDI3ODU1
ZGQzMjA5N2E0Zi4uYTg4NzNiZjgxYjM1MzU3ZTkzMTkxM2ZhMDE5YmExM2E0ZjFmYTZiZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0x
NzEsNyArMTcxLDcgQEAgdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6cmVzZXQoKQogICAgIG1fZG9j
dW1lbnRUb0luc3BlY3RvclN0eWxlU2hlZXQuY2xlYXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JD
U1NBZ2VudDo6Z2V0U3R5bGVzRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGxvbmcg
bm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KQordm9pZCBJbnNwZWN0b3JD
U1NBZ2VudDo6Z2V0U3R5bGVzRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBu
b2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQpCiB7CiAgICAgRWxlbWVudCog
ZWxlbWVudCA9IGVsZW1lbnRGb3JJZChlcnJvclN0cmluZywgbm9kZUlkKTsKICAgICBpZiAoIWVs
ZW1lbnQpCkBAIC0yMjYsNyArMjI2LDcgQEAgdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6Z2V0U3R5
bGVzRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGxvbmcgbm9kZUlkLAogICAgICpy
ZXN1bHQgPSByZXN1bHRPYmplY3QucmVsZWFzZSgpOwogfQogCi12b2lkIEluc3BlY3RvckNTU0Fn
ZW50OjpnZXRJbmxpbmVTdHlsZUZvck5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBsb25n
IG5vZGVJZCwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHN0eWxlKQordm9pZCBJbnNwZWN0b3JD
U1NBZ2VudDo6Z2V0SW5saW5lU3R5bGVGb3JOb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywg
aW50IG5vZGVJZCwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHN0eWxlKQogewogICAgIEVsZW1l
bnQqIGVsZW1lbnQgPSBlbGVtZW50Rm9ySWQoZXJyb3JTdHJpbmcsIG5vZGVJZCk7CiAgICAgaWYg
KCFlbGVtZW50KQpAQCAtMjM5LDcgKzIzOSw3IEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6Omdl
dElubGluZVN0eWxlRm9yTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGxvbmcgbm9kCiAg
ICAgKnN0eWxlID0gc3R5bGVTaGVldC0+YnVpbGRPYmplY3RGb3JTdHlsZShlbGVtZW50LT5zdHls
ZSgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6Z2V0Q29tcHV0ZWRTdHlsZUZvck5v
ZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBsb25nIG5vZGVJZCwgUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4qIHN0eWxlKQordm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6Z2V0Q29tcHV0ZWRTdHls
ZUZvck5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBSZWZQdHI8SW5z
cGVjdG9yT2JqZWN0Piogc3R5bGUpCiB7CiAgICAgRWxlbWVudCogZWxlbWVudCA9IGVsZW1lbnRG
b3JJZChlcnJvclN0cmluZywgbm9kZUlkKTsKICAgICBpZiAoIWVsZW1lbnQpCkBAIC0yOTYsNyAr
Mjk2LDcgQEAgdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6c2V0U3R5bGVTaGVldFRleHQoRXJyb3JT
dHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcKICAgICAgICAgaW5zcGVjdG9yU3R5bGVT
aGVldC0+cmVwYXJzZVN0eWxlU2hlZXQodGV4dCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTQWdl
bnQ6OnNldFByb3BlcnR5VGV4dChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFJlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+JiBmdWxsU3R5bGVJZCwgbG9uZyBwcm9wZXJ0eUluZGV4LCBjb25z
dCBTdHJpbmcmIHRleHQsIGJvb2wgb3ZlcndyaXRlLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piog
cmVzdWx0KQordm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6c2V0UHJvcGVydHlUZXh0KEVycm9yU3Ry
aW5nKiBlcnJvclN0cmluZywgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIGZ1bGxTdHls
ZUlkLCBpbnQgcHJvcGVydHlJbmRleCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBib29sIG92ZXJ3cml0
ZSwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCkKIHsKICAgICBJbnNwZWN0b3JDU1NJ
ZCBjb21wb3VuZElkKGZ1bGxTdHlsZUlkKTsKICAgICBBU1NFUlQoIWNvbXBvdW5kSWQuaXNFbXB0
eSgpKTsKQEAgLTMxMCw3ICszMTAsNyBAQCB2b2lkIEluc3BlY3RvckNTU0FnZW50OjpzZXRQcm9w
ZXJ0eVRleHQoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBSZWZQdHI8SQogICAgICAg
ICAqcmVzdWx0ID0gaW5zcGVjdG9yU3R5bGVTaGVldC0+YnVpbGRPYmplY3RGb3JTdHlsZShpbnNw
ZWN0b3JTdHlsZVNoZWV0LT5zdHlsZUZvcklkKGNvbXBvdW5kSWQpKTsKIH0KIAotdm9pZCBJbnNw
ZWN0b3JDU1NBZ2VudDo6dG9nZ2xlUHJvcGVydHkoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBj
b25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgZnVsbFN0eWxlSWQsIGxvbmcgcHJvcGVydHlJ
bmRleCwgYm9vbCBkaXNhYmxlLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KQordm9p
ZCBJbnNwZWN0b3JDU1NBZ2VudDo6dG9nZ2xlUHJvcGVydHkoRXJyb3JTdHJpbmcqIGVycm9yU3Ry
aW5nLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgZnVsbFN0eWxlSWQsIGludCBwcm9w
ZXJ0eUluZGV4LCBib29sIGRpc2FibGUsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQp
CiB7CiAgICAgSW5zcGVjdG9yQ1NTSWQgY29tcG91bmRJZChmdWxsU3R5bGVJZCk7CiAgICAgQVNT
RVJUKCFjb21wb3VuZElkLmlzRW1wdHkoKSk7CkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBJbnNw
ZWN0b3JDU1NBZ2VudDo6c2V0UnVsZVNlbGVjdG9yKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywg
Y29uc3QgUmVmUHRyPEkKICAgICAqcmVzdWx0ID0gaW5zcGVjdG9yU3R5bGVTaGVldC0+YnVpbGRP
YmplY3RGb3JSdWxlKGluc3BlY3RvclN0eWxlU2hlZXQtPnJ1bGVGb3JJZChjb21wb3VuZElkKSk7
CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmFkZFJ1bGUoRXJyb3JTdHJpbmcqLCBjb25z
dCBsb25nIGNvbnRleHROb2RlSWQsIGNvbnN0IFN0cmluZyYgc2VsZWN0b3IsIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+KiByZXN1bHQpCit2b2lkIEluc3BlY3RvckNTU0FnZW50OjphZGRSdWxlKEVy
cm9yU3RyaW5nKiwgY29uc3QgaW50IGNvbnRleHROb2RlSWQsIGNvbnN0IFN0cmluZyYgc2VsZWN0
b3IsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQpCiB7CiAgICAgTm9kZSogbm9kZSA9
IG1fZG9tQWdlbnQtPm5vZGVGb3JJZChjb250ZXh0Tm9kZUlkKTsKICAgICBpZiAoIW5vZGUpCkBA
IC0zOTQsNyArMzk0LDcgQEAgSW5zcGVjdG9yU3R5bGVTaGVldEZvcklubGluZVN0eWxlKiBJbnNw
ZWN0b3JDU1NBZ2VudDo6YXNJbnNwZWN0b3JTdHlsZVNoZWV0KEVsZW0KICAgICByZXR1cm4gaXQt
PnNlY29uZC5nZXQoKTsKIH0KIAotRWxlbWVudCogSW5zcGVjdG9yQ1NTQWdlbnQ6OmVsZW1lbnRG
b3JJZChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGxvbmcgbm9kZUlkKQorRWxlbWVudCogSW5z
cGVjdG9yQ1NTQWdlbnQ6OmVsZW1lbnRGb3JJZChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGlu
dCBub2RlSWQpCiB7CiAgICAgTm9kZSogbm9kZSA9IG1fZG9tQWdlbnQtPm5vZGVGb3JJZChub2Rl
SWQpOwogICAgIGlmICghbm9kZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuaAppbmRleCA5NWE2NGRmNTA1MmVmYmUzMDljNTg4NjI2ZjVmZDFhNTVhOWIx
NWVlLi44N2VjYTFlMmQ4Y2FjZjg5ZWRkNjc1YTNmYmI5YThiZDI5MGU2NDg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuaApAQCAtNjEsMTcgKzYxLDE3
IEBAIHB1YmxpYzoKICAgICB+SW5zcGVjdG9yQ1NTQWdlbnQoKTsKIAogICAgIHZvaWQgcmVzZXQo
KTsKLSAgICB2b2lkIGdldFN0eWxlc0Zvck5vZGUoRXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCwg
UmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCk7Ci0gICAgdm9pZCBnZXRJbmxpbmVTdHls
ZUZvck5vZGUoRXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCwgUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4qIHN0eWxlKTsKLSAgICB2b2lkIGdldENvbXB1dGVkU3R5bGVGb3JOb2RlKEVycm9yU3RyaW5n
KiwgbG9uZyBub2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiBzdHlsZSk7CisgICAgdm9p
ZCBnZXRTdHlsZXNGb3JOb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4qIHJlc3VsdCk7CisgICAgdm9pZCBnZXRJbmxpbmVTdHlsZUZvck5vZGUoRXJy
b3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogc3R5bGUpOwor
ICAgIHZvaWQgZ2V0Q29tcHV0ZWRTdHlsZUZvck5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlk
LCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogc3R5bGUpOwogICAgIHZvaWQgZ2V0QWxsU3R5bGVz
KEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3RvckFycmF5Piogc3R5bGVzKTsKICAgICB2b2lk
IGdldFN0eWxlU2hlZXQoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHN0eWxlU2hlZXRJZCwg
UmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCk7CiAgICAgdm9pZCBnZXRTdHlsZVNoZWV0
VGV4dChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgc3R5bGVTaGVldElkLCBTdHJpbmcqIHVy
bCwgU3RyaW5nKiByZXN1bHQpOwogICAgIHZvaWQgc2V0U3R5bGVTaGVldFRleHQoRXJyb3JTdHJp
bmcqLCBjb25zdCBTdHJpbmcmIHN0eWxlU2hlZXRJZCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBib29s
KiBzdWNjZXNzKTsKLSAgICB2b2lkIHNldFByb3BlcnR5VGV4dChFcnJvclN0cmluZyosIGNvbnN0
IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiBzdHlsZUlkLCBsb25nIHByb3BlcnR5SW5kZXgsIGNv
bnN0IFN0cmluZyYgdGV4dCwgYm9vbCBvdmVyd3JpdGUsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
KiByZXN1bHQpOwotICAgIHZvaWQgdG9nZ2xlUHJvcGVydHkoRXJyb3JTdHJpbmcqLCBjb25zdCBS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgc3R5bGVJZCwgbG9uZyBwcm9wZXJ0eUluZGV4LCBib29s
IGRpc2FibGUsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQpOworICAgIHZvaWQgc2V0
UHJvcGVydHlUZXh0KEVycm9yU3RyaW5nKiwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4m
IHN0eWxlSWQsIGludCBwcm9wZXJ0eUluZGV4LCBjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgb3Zl
cndyaXRlLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KTsKKyAgICB2b2lkIHRvZ2ds
ZVByb3BlcnR5KEVycm9yU3RyaW5nKiwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIHN0
eWxlSWQsIGludCBwcm9wZXJ0eUluZGV4LCBib29sIGRpc2FibGUsIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+KiByZXN1bHQpOwogICAgIHZvaWQgc2V0UnVsZVNlbGVjdG9yKEVycm9yU3RyaW5nKiwg
Y29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIHJ1bGVJZCwgY29uc3QgU3RyaW5nJiBzZWxl
Y3RvciwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCk7Ci0gICAgdm9pZCBhZGRSdWxl
KEVycm9yU3RyaW5nKiwgY29uc3QgbG9uZyBjb250ZXh0Tm9kZUlkLCBjb25zdCBTdHJpbmcmIHNl
bGVjdG9yLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KTsKKyAgICB2b2lkIGFkZFJ1
bGUoRXJyb3JTdHJpbmcqLCBjb25zdCBpbnQgY29udGV4dE5vZGVJZCwgY29uc3QgU3RyaW5nJiBz
ZWxlY3RvciwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJlc3VsdCk7CiAgICAgdm9pZCBnZXRT
dXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3RvckFycmF5
PiogcmVzdWx0KTsKIAogcHJpdmF0ZToKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgRWxlbWVudCogaW5saW5lU3R5bGVFbGVtZW50KENTU1N0eWxlRGVjbGFyYXRpb24qKTsK
IAogICAgIEluc3BlY3RvclN0eWxlU2hlZXRGb3JJbmxpbmVTdHlsZSogYXNJbnNwZWN0b3JTdHls
ZVNoZWV0KEVsZW1lbnQqIGVsZW1lbnQpOwotICAgIEVsZW1lbnQqIGVsZW1lbnRGb3JJZChFcnJv
clN0cmluZyosIGxvbmcgbm9kZUlkKTsKKyAgICBFbGVtZW50KiBlbGVtZW50Rm9ySWQoRXJyb3JT
dHJpbmcqLCBpbnQgbm9kZUlkKTsKIAogICAgIEluc3BlY3RvclN0eWxlU2hlZXQqIGJpbmRTdHls
ZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsKICAgICBJbnNwZWN0b3JTdHlsZVNoZWV0KiB2aWFJbnNw
ZWN0b3JTdHlsZVNoZWV0KERvY3VtZW50KiwgYm9vbCBjcmVhdGVJZkFic2VudCk7CkBAIC0xMDYs
OSArMTA2LDkgQEAgcHJpdmF0ZToKICAgICBOb2RlVG9JbnNwZWN0b3JTdHlsZVNoZWV0IG1fbm9k
ZVRvSW5zcGVjdG9yU3R5bGVTaGVldDsKICAgICBEb2N1bWVudFRvVmlhSW5zcGVjdG9yU3R5bGVT
aGVldCBtX2RvY3VtZW50VG9JbnNwZWN0b3JTdHlsZVNoZWV0OwogCi0gICAgbG9uZyBtX2xhc3RT
dHlsZVNoZWV0SWQ7Ci0gICAgbG9uZyBtX2xhc3RSdWxlSWQ7Ci0gICAgbG9uZyBtX2xhc3RTdHls
ZUlkOworICAgIGludCBtX2xhc3RTdHlsZVNoZWV0SWQ7CisgICAgaW50IG1fbGFzdFJ1bGVJZDsK
KyAgICBpbnQgbV9sYXN0U3R5bGVJZDsKIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCAzOGQ3YWViOTEy
YmUxMDY3MzA4NjhkOThmMmFlM2VjMjViYTlkOWNlLi5kNmU2ZjkzZDFjZGZlOGVlNzBkNDE1NWY2
Zjk4MTdiNjdkZDBjMjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmNwcApAQCAtNDksNyArNDksNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4aW11bUNvbnNvbGVNZXNzYWdlcyA9IDEw
MDA7Ci1zdGF0aWMgY29uc3QgdW5zaWduZWQgZXhwaXJlQ29uc29sZU1lc3NhZ2VzU3RlcCA9IDEw
MDsKK3N0YXRpYyBjb25zdCBpbnQgZXhwaXJlQ29uc29sZU1lc3NhZ2VzU3RlcCA9IDEwMDsKIAog
bmFtZXNwYWNlIENvbnNvbGVBZ2VudFN0YXRlIHsKIHN0YXRpYyBjb25zdCBjaGFyIG1vbml0b3Jp
bmdYSFJbXSA9ICJtb25pdG9yaW5nWEhSIjsKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudDo6Y291bnQoUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGFyZ3Vt
ZW50cywgUGFzc1JlZgogICAgIGFyZ3VtZW50cy0+Z2V0Rmlyc3RBcmd1bWVudEFzU3RyaW5nKHRp
dGxlKTsKICAgICBTdHJpbmcgaWRlbnRpZmllciA9IG1ha2VTdHJpbmcodGl0bGUsICdAJywgbGFz
dENhbGxlci5zb3VyY2VVUkwoKSwgJzonLCBTdHJpbmc6Om51bWJlcihsYXN0Q2FsbGVyLmxpbmVO
dW1iZXIoKSkpOwogCi0gICAgSGFzaE1hcDxTdHJpbmcsIHVuc2lnbmVkPjo6aXRlcmF0b3IgaXQg
PSBtX2NvdW50cy5maW5kKGlkZW50aWZpZXIpOworICAgIEhhc2hNYXA8U3RyaW5nLCBpbnQ+Ojpp
dGVyYXRvciBpdCA9IG1fY291bnRzLmZpbmQoaWRlbnRpZmllcik7CiAgICAgaW50IGNvdW50Owog
ICAgIGlmIChpdCA9PSBtX2NvdW50cy5lbmQoKSkKICAgICAgICAgY291bnQgPSAxOwpAQCAtMjE4
LDcgKzIxOCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRNb25pdG9yaW5nWEhS
RW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCkKICAgICBtX2luc3BlY3RvclN0YXRl
LT5zZXRCb29sZWFuKENvbnNvbGVBZ2VudFN0YXRlOjptb25pdG9yaW5nWEhSLCBlbmFibGVkKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUoRXJyb3JT
dHJpbmcqLCBsb25nIG5vZGVJZCkKK3ZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjphZGRJbnNw
ZWN0ZWROb2RlKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkKIHsKICAgICBOb2RlKiBub2RlID0g
bV9pbnNwZWN0b3JET01BZ2VudC0+bm9kZUZvcklkKG5vZGVJZCk7CiAgICAgaWYgKCFub2RlKQpA
QCAtMjM0LDggKzIzNCw4IEBAIHZvaWQgSW5zcGVjdG9yQ29uc29sZUFnZW50OjpzZXRDb25zb2xl
TWVzc2FnZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIAogICAgIGlmIChtX2V4cGlyZWRDb25zb2xl
TWVzc2FnZUNvdW50KQogICAgICAgICBtX2Zyb250ZW5kLT5jb25zb2xlTWVzc2FnZUV4cGlyZWRD
b3VudFVwZGF0ZShtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50KTsKLSAgICB1bnNpZ25lZCBt
ZXNzYWdlQ291bnQgPSBtX2NvbnNvbGVNZXNzYWdlcy5zaXplKCk7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IG1lc3NhZ2VDb3VudDsgKytpKQorICAgIGludCBtZXNzYWdlQ291bnQgPSBt
X2NvbnNvbGVNZXNzYWdlcy5zaXplKCk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtZXNzYWdl
Q291bnQ7ICsraSkKICAgICAgICAgbV9jb25zb2xlTWVzc2FnZXNbaV0tPmFkZFRvRnJvbnRlbmQo
bV9mcm9udGVuZCwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKaW5kZXggODc0OWQ5ODY4
OWI0YWMxZTRmZDEwYzg5NzM2NWUyODQ3NDg1OTIxOC4uYmJhYWZkYWY5MTc4NWNlOTA5ZjY0ZjFm
YjE0YzQxMDMyMTQ2YzA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaApAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBh
ZGRTdGFydFByb2ZpbGluZ01lc3NhZ2VUb0NvbnNvbGUoY29uc3QgU3RyaW5nJiB0aXRsZSwgdW5z
aWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogI2VuZGlmCiAgICAg
dm9pZCBzZXRNb25pdG9yaW5nWEhSRW5hYmxlZChFcnJvclN0cmluZyogZXJyb3IsIGJvb2wgZW5h
YmxlZCk7Ci0gICAgdm9pZCBhZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nKiwgbG9uZyBub2Rl
SWQpOworICAgIHZvaWQgYWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQp
OwogCiBwcml2YXRlOgogICAgIHZvaWQgc2V0Q29uc29sZU1lc3NhZ2VzRW5hYmxlZChib29sKTsK
QEAgLTkzLDggKzkzLDggQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JGcm9udGVuZDo6Q29uc29s
ZSogbV9mcm9udGVuZDsKICAgICBDb25zb2xlTWVzc2FnZSogbV9wcmV2aW91c01lc3NhZ2U7CiAg
ICAgVmVjdG9yPE93blB0cjxDb25zb2xlTWVzc2FnZT4gPiBtX2NvbnNvbGVNZXNzYWdlczsKLSAg
ICB1bnNpZ25lZCBtX2V4cGlyZWRDb25zb2xlTWVzc2FnZUNvdW50OwotICAgIEhhc2hNYXA8U3Ry
aW5nLCB1bnNpZ25lZD4gbV9jb3VudHM7CisgICAgaW50IG1fZXhwaXJlZENvbnNvbGVNZXNzYWdl
Q291bnQ7CisgICAgSGFzaE1hcDxTdHJpbmcsIGludD4gbV9jb3VudHM7CiAgICAgSGFzaE1hcDxT
dHJpbmcsIGRvdWJsZT4gbV90aW1lczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDQ5NDc3OWNlNmY3NzU5MTJlN2U5ZWQ0YTFi
YzcyYmViYjAyNDNjNWUuLmI1MGQ3MDc1ZTAxYjMwMTRmNDU5OWE1MDM4NjJhNmNhZjk3NTAxOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApA
QCAtMzQwLDkgKzM0MCw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlbGVhc2VEYW5nbGlu
Z05vZGVzKCkKICAgICBtX2RhbmdsaW5nTm9kZVRvSWRNYXBzLmNsZWFyKCk7CiB9CiAKLWxvbmcg
SW5zcGVjdG9yRE9NQWdlbnQ6OmJpbmQoTm9kZSogbm9kZSwgTm9kZVRvSWRNYXAqIG5vZGVzTWFw
KQoraW50IEluc3BlY3RvckRPTUFnZW50OjpiaW5kKE5vZGUqIG5vZGUsIE5vZGVUb0lkTWFwKiBu
b2Rlc01hcCkKIHsKLSAgICBsb25nIGlkID0gbm9kZXNNYXAtPmdldChub2RlKTsKKyAgICBpbnQg
aWQgPSBub2Rlc01hcC0+Z2V0KG5vZGUpOwogICAgIGlmIChpZCkKICAgICAgICAgcmV0dXJuIGlk
OwogICAgIGlkID0gbV9sYXN0Tm9kZUlkKys7CkBAIC0zNjAsNyArMzYwLDcgQEAgdm9pZCBJbnNw
ZWN0b3JET01BZ2VudDo6dW5iaW5kKE5vZGUqIG5vZGUsIE5vZGVUb0lkTWFwKiBub2Rlc01hcCkK
ICAgICAgICAgICAgIG1fZG9tTGlzdGVuZXItPmRpZFJlbW92ZURvY3VtZW50KGZyYW1lT3duZXIt
PmNvbnRlbnREb2N1bWVudCgpKTsKICAgICB9CiAKLSAgICBsb25nIGlkID0gbm9kZXNNYXAtPmdl
dChub2RlKTsKKyAgICBpbnQgaWQgPSBub2Rlc01hcC0+Z2V0KG5vZGUpOwogICAgIGlmICghaWQp
CiAgICAgICAgIHJldHVybjsKICAgICBtX2lkVG9Ob2RlLnJlbW92ZShpZCk7CkBAIC0zNzcsNyAr
Mzc3LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6dW5iaW5kKE5vZGUqIG5vZGUsIE5vZGVU
b0lkTWFwKiBub2Rlc01hcCkKICAgICB9CiB9CiAKLU5vZGUqIEluc3BlY3RvckRPTUFnZW50Ojph
c3NlcnROb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgbG9uZyBub2RlSWQpCitOb2RlKiBJ
bnNwZWN0b3JET01BZ2VudDo6YXNzZXJ0Tm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGlu
dCBub2RlSWQpCiB7CiAgICAgTm9kZSogbm9kZSA9IG5vZGVGb3JJZChub2RlSWQpOwogICAgIGlm
ICghbm9kZSkgewpAQCAtMzg3LDcgKzM4Nyw3IEBAIE5vZGUqIEluc3BlY3RvckRPTUFnZW50Ojph
c3NlcnROb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgbG9uZyBub2RlSWQpCiAgICAgcmV0
dXJuIG5vZGU7CiB9CiAKLUVsZW1lbnQqIEluc3BlY3RvckRPTUFnZW50Ojphc3NlcnRFbGVtZW50
KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgbG9uZyBub2RlSWQpCitFbGVtZW50KiBJbnNwZWN0
b3JET01BZ2VudDo6YXNzZXJ0RWxlbWVudChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBu
b2RlSWQpCiB7CiAgICAgTm9kZSogbm9kZSA9IGFzc2VydE5vZGUoZXJyb3JTdHJpbmcsIG5vZGVJ
ZCk7CiAgICAgaWYgKCFub2RlKQpAQCAtNDAxLDcgKzQwMSw3IEBAIEVsZW1lbnQqIEluc3BlY3Rv
ckRPTUFnZW50Ojphc3NlcnRFbGVtZW50KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgbG9uZyBu
b2RlSWQpCiB9CiAKIAotSFRNTEVsZW1lbnQqIEluc3BlY3RvckRPTUFnZW50Ojphc3NlcnRIVE1M
RWxlbWVudChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGxvbmcgbm9kZUlkKQorSFRNTEVsZW1l
bnQqIEluc3BlY3RvckRPTUFnZW50Ojphc3NlcnRIVE1MRWxlbWVudChFcnJvclN0cmluZyogZXJy
b3JTdHJpbmcsIGludCBub2RlSWQpCiB7CiAgICAgRWxlbWVudCogZWxlbWVudCA9IGFzc2VydEVs
ZW1lbnQoZXJyb3JTdHJpbmcsIG5vZGVJZCk7CiAgICAgaWYgKCFlbGVtZW50KQpAQCAtNDE0LDcg
KzQxNCw3IEBAIEhUTUxFbGVtZW50KiBJbnNwZWN0b3JET01BZ2VudDo6YXNzZXJ0SFRNTEVsZW1l
bnQoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBsb25nCiAgICAgcmV0dXJuIHRvSFRNTEVsZW1l
bnQoZWxlbWVudCk7CiB9CiAKLU5vZGUqIEluc3BlY3RvckRPTUFnZW50Ojpub2RlVG9TZWxlY3RP
bihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGxvbmcgbm9kZUlkLCBib29sIGRvY3VtZW50V2lk
ZSkKK05vZGUqIEluc3BlY3RvckRPTUFnZW50Ojpub2RlVG9TZWxlY3RPbihFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGJvb2wgZG9jdW1lbnRXaWRlKQogewogICAgIE5vZGUq
IG5vZGU7CiAgICAgaWYgKCFub2RlSWQpIHsKQEAgLTQ0OCw3ICs0NDgsNyBAQCB2b2lkIEluc3Bl
Y3RvckRPTUFnZW50OjpnZXREb2N1bWVudChFcnJvclN0cmluZyosIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+KiByb290KQogICAgICAgICAqcm9vdCA9IGJ1aWxkT2JqZWN0Rm9yTm9kZShtX2RvY3Vt
ZW50LmdldCgpLCAyLCAmbV9kb2N1bWVudE5vZGVUb0lkTWFwKTsKIH0KIAotdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6cHVzaENoaWxkTm9kZXNUb0Zyb250ZW5kKGxvbmcgbm9kZUlkKQordm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6cHVzaENoaWxkTm9kZXNUb0Zyb250ZW5kKGludCBub2RlSWQpCiB7
CiAgICAgTm9kZSogbm9kZSA9IG5vZGVGb3JJZChub2RlSWQpOwogICAgIGlmICghbm9kZSB8fCAo
bm9kZS0+bm9kZVR5cGUoKSAhPSBOb2RlOjpFTEVNRU5UX05PREUgJiYgbm9kZS0+bm9kZVR5cGUo
KSAhPSBOb2RlOjpET0NVTUVOVF9OT0RFICYmIG5vZGUtPm5vZGVUeXBlKCkgIT0gTm9kZTo6RE9D
VU1FTlRfRlJBR01FTlRfTk9ERSkpCkBAIC00NzAsMjMgKzQ3MCwyMyBAQCB2b2lkIEluc3BlY3Rv
ckRPTUFnZW50OjpkaXNjYXJkQmluZGluZ3MoKQogICAgIG1fY2hpbGRyZW5SZXF1ZXN0ZWQuY2xl
YXIoKTsKIH0KIAotTm9kZSogSW5zcGVjdG9yRE9NQWdlbnQ6Om5vZGVGb3JJZChsb25nIGlkKQor
Tm9kZSogSW5zcGVjdG9yRE9NQWdlbnQ6Om5vZGVGb3JJZChpbnQgaWQpCiB7CiAgICAgaWYgKCFp
ZCkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBIYXNoTWFwPGxvbmcsIE5vZGUqPjo6aXRlcmF0
b3IgaXQgPSBtX2lkVG9Ob2RlLmZpbmQoaWQpOworICAgIEhhc2hNYXA8aW50LCBOb2RlKj46Oml0
ZXJhdG9yIGl0ID0gbV9pZFRvTm9kZS5maW5kKGlkKTsKICAgICBpZiAoaXQgIT0gbV9pZFRvTm9k
ZS5lbmQoKSkKICAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CiAgICAgcmV0dXJuIDA7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldENoaWxkTm9kZXMoRXJyb3JTdHJpbmcqLCBsb25n
IG5vZGVJZCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldENoaWxkTm9kZXMoRXJyb3JTdHJp
bmcqLCBpbnQgbm9kZUlkKQogewogICAgIHB1c2hDaGlsZE5vZGVzVG9Gcm9udGVuZChub2RlSWQp
OwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50OjpxdWVyeVNlbGVjdG9yKEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgc2VsZWN0b3JzLCBib29s
IGRvY3VtZW50V2lkZSwgbG9uZyogZWxlbWVudElkKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6
cXVlcnlTZWxlY3RvcihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGNvbnN0
IFN0cmluZyYgc2VsZWN0b3JzLCBib29sIGRvY3VtZW50V2lkZSwgaW50KiBlbGVtZW50SWQpCiB7
CiAgICAgKmVsZW1lbnRJZCA9IDA7CiAgICAgTm9kZSogbm9kZSA9IG5vZGVUb1NlbGVjdE9uKGVy
cm9yU3RyaW5nLCBub2RlSWQsIGRvY3VtZW50V2lkZSk7CkBAIC01MDQsNyArNTA0LDcgQEAgdm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6cXVlcnlTZWxlY3RvcihFcnJvclN0cmluZyogZXJyb3JTdHJp
bmcsIGxvbmcgbm9kZUlkLCBjb24KICAgICAgICAgKmVsZW1lbnRJZCA9IHB1c2hOb2RlUGF0aFRv
RnJvbnRlbmQoZWxlbWVudC5nZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnF1
ZXJ5U2VsZWN0b3JBbGwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBsb25nIG5vZGVJZCwgY29u
c3QgU3RyaW5nJiBzZWxlY3RvcnMsIGJvb2wgZG9jdW1lbnRXaWRlLCBSZWZQdHI8SW5zcGVjdG9y
QXJyYXk+KiByZXN1bHQpCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpxdWVyeVNlbGVjdG9yQWxs
KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nJiBzZWxl
Y3RvcnMsIGJvb2wgZG9jdW1lbnRXaWRlLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiByZXN1bHQp
CiB7CiAgICAgTm9kZSogbm9kZSA9IG5vZGVUb1NlbGVjdE9uKGVycm9yU3RyaW5nLCBub2RlSWQs
IGRvY3VtZW50V2lkZSk7CiAgICAgaWYgKCFub2RlKQpAQCAtNTIxLDcgKzUyMSw3IEBAIHZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6OnF1ZXJ5U2VsZWN0b3JBbGwoRXJyb3JTdHJpbmcqIGVycm9yU3Ry
aW5nLCBsb25nIG5vZGVJZCwKICAgICAgICAgKCpyZXN1bHQpLT5wdXNoTnVtYmVyKHB1c2hOb2Rl
UGF0aFRvRnJvbnRlbmQobm9kZXMtPml0ZW0oaSkpKTsKIH0KIAotbG9uZyBJbnNwZWN0b3JET01B
Z2VudDo6cHVzaE5vZGVQYXRoVG9Gcm9udGVuZChOb2RlKiBub2RlVG9QdXNoKQoraW50IEluc3Bl
Y3RvckRPTUFnZW50OjpwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKE5vZGUqIG5vZGVUb1B1c2gpCiB7
CiAgICAgQVNTRVJUKG5vZGVUb1B1c2gpOyAgLy8gSW52YWxpZCBpbnB1dAogCkBAIC01MzEsNyAr
NTMxLDcgQEAgbG9uZyBJbnNwZWN0b3JET01BZ2VudDo6cHVzaE5vZGVQYXRoVG9Gcm9udGVuZChO
b2RlKiBub2RlVG9QdXNoKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8vIFJldHVybiBpZCBp
biBjYXNlIHRoZSBub2RlIGlzIGtub3duLgotICAgIGxvbmcgcmVzdWx0ID0gbV9kb2N1bWVudE5v
ZGVUb0lkTWFwLmdldChub2RlVG9QdXNoKTsKKyAgICBpbnQgcmVzdWx0ID0gbV9kb2N1bWVudE5v
ZGVUb0lkTWFwLmdldChub2RlVG9QdXNoKTsKICAgICBpZiAocmVzdWx0KQogICAgICAgICByZXR1
cm4gcmVzdWx0OwogCkBAIC01NjAsMTkgKzU2MCwxOSBAQCBsb25nIEluc3BlY3RvckRPTUFnZW50
OjpwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKE5vZGUqIG5vZGVUb1B1c2gpCiAKICAgICBOb2RlVG9J
ZE1hcCogbWFwID0gZGFuZ2xpbmdNYXAgPyBkYW5nbGluZ01hcCA6ICZtX2RvY3VtZW50Tm9kZVRv
SWRNYXA7CiAgICAgZm9yIChpbnQgaSA9IHBhdGguc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsK
LSAgICAgICAgbG9uZyBub2RlSWQgPSBtYXAtPmdldChwYXRoLmF0KGkpKTsKKyAgICAgICAgaW50
IG5vZGVJZCA9IG1hcC0+Z2V0KHBhdGguYXQoaSkpOwogICAgICAgICBBU1NFUlQobm9kZUlkKTsK
ICAgICAgICAgcHVzaENoaWxkTm9kZXNUb0Zyb250ZW5kKG5vZGVJZCk7CiAgICAgfQogICAgIHJl
dHVybiBtYXAtPmdldChub2RlVG9QdXNoKTsKIH0KIAotbG9uZyBJbnNwZWN0b3JET01BZ2VudDo6
Ym91bmROb2RlSWQoTm9kZSogbm9kZSkKK2ludCBJbnNwZWN0b3JET01BZ2VudDo6Ym91bmROb2Rl
SWQoTm9kZSogbm9kZSkKIHsKICAgICByZXR1cm4gbV9kb2N1bWVudE5vZGVUb0lkTWFwLmdldChu
b2RlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0QXR0cmlidXRlKEVycm9yU3Ry
aW5nKiBlcnJvclN0cmluZywgbG9uZyBlbGVtZW50SWQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB2YWx1ZSkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldEF0dHJpYnV0ZShF
cnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBlbGVtZW50SWQsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBFbGVtZW50KiBlbGVtZW50ID0gYXNzZXJ0
RWxlbWVudChlcnJvclN0cmluZywgZWxlbWVudElkKTsKICAgICBpZiAoZWxlbWVudCkgewpAQCAt
NTgzLDcgKzU4Myw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldEF0dHJpYnV0ZShFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGxvbmcgZWxlbWVudElkLCBjCiAgICAgfQogfQogCi12b2lk
IEluc3BlY3RvckRPTUFnZW50OjpyZW1vdmVBdHRyaWJ1dGUoRXJyb3JTdHJpbmcqIGVycm9yU3Ry
aW5nLCBsb25nIGVsZW1lbnRJZCwgY29uc3QgU3RyaW5nJiBuYW1lKQordm9pZCBJbnNwZWN0b3JE
T01BZ2VudDo6cmVtb3ZlQXR0cmlidXRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IGVs
ZW1lbnRJZCwgY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBh
c3NlcnRFbGVtZW50KGVycm9yU3RyaW5nLCBlbGVtZW50SWQpOwogICAgIGlmIChlbGVtZW50KSB7
CkBAIC01OTQsNyArNTk0LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVtb3ZlQXR0cmli
dXRlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgbG9uZyBlbGVtZW50SWQKICAgICB9CiB9CiAK
LXZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlbW92ZU5vZGUoRXJyb3JTdHJpbmcqLCBsb25nIG5v
ZGVJZCwgbG9uZyogb3V0Tm9kZUlkKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVtb3ZlTm9k
ZShFcnJvclN0cmluZyosIGludCBub2RlSWQsIGludCogb3V0Tm9kZUlkKQogewogICAgIE5vZGUq
IG5vZGUgPSBub2RlRm9ySWQobm9kZUlkKTsKICAgICBpZiAoIW5vZGUpCkBAIC02MTIsNyArNjEy
LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVtb3ZlTm9kZShFcnJvclN0cmluZyosIGxv
bmcgbm9kZUlkLCBsb25nKiBvdXROb2RlSWQpCiAgICAgKm91dE5vZGVJZCA9IG5vZGVJZDsKIH0K
IAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0Tm9kZU5hbWUoRXJyb3JTdHJpbmcqLCBsb25n
IG5vZGVJZCwgY29uc3QgU3RyaW5nJiB0YWdOYW1lLCBsb25nKiBuZXdJZCkKK3ZvaWQgSW5zcGVj
dG9yRE9NQWdlbnQ6OnNldE5vZGVOYW1lKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgY29uc3Qg
U3RyaW5nJiB0YWdOYW1lLCBpbnQqIG5ld0lkKQogewogICAgICpuZXdJZCA9IDA7CiAKQEAgLTY0
OSwxNCArNjQ5LDE0IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldE5vZGVOYW1lKEVycm9y
U3RyaW5nKiwgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgdGFnCiAgICAgICAgIHB1c2hDaGls
ZE5vZGVzVG9Gcm9udGVuZCgqbmV3SWQpOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50Ojpn
ZXRPdXRlckhUTUwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBsb25nIG5vZGVJZCwgV1RGOjpT
dHJpbmcqIG91dGVySFRNTCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldE91dGVySFRNTChF
cnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIFdURjo6U3RyaW5nKiBvdXRlckhU
TUwpCiB7CiAgICAgSFRNTEVsZW1lbnQqIGVsZW1lbnQgPSBhc3NlcnRIVE1MRWxlbWVudChlcnJv
clN0cmluZywgbm9kZUlkKTsKICAgICBpZiAoZWxlbWVudCkKICAgICAgICAgKm91dGVySFRNTCA9
IGVsZW1lbnQtPm91dGVySFRNTCgpOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXRP
dXRlckhUTUwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBsb25nIG5vZGVJZCwgY29uc3QgU3Ry
aW5nJiBvdXRlckhUTUwsIGxvbmcqIG5ld0lkKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0
T3V0ZXJIVE1MKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwgY29uc3QgU3Ry
aW5nJiBvdXRlckhUTUwsIGludCogbmV3SWQpCiB7CiAgICAgSFRNTEVsZW1lbnQqIGh0bWxFbGVt
ZW50ID0gYXNzZXJ0SFRNTEVsZW1lbnQoZXJyb3JTdHJpbmcsIG5vZGVJZCk7CiAgICAgaWYgKCFo
dG1sRWxlbWVudCkKQEAgLTY5Myw3ICs2OTMsNyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50Ojpz
ZXRPdXRlckhUTUwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBsb25nIG5vZGVJZCwgY29ucwog
ICAgICAgICBwdXNoQ2hpbGROb2Rlc1RvRnJvbnRlbmQoKm5ld0lkKTsKIH0KIAotdm9pZCBJbnNw
ZWN0b3JET01BZ2VudDo6c2V0Tm9kZVZhbHVlKEVycm9yU3RyaW5nKiwgbG9uZyBub2RlSWQsIGNv
bnN0IFN0cmluZyYgdmFsdWUsIGJvb2wqIHN1Y2Nlc3MpCit2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpzZXROb2RlVmFsdWUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcmIHZh
bHVlLCBib29sKiBzdWNjZXNzKQogewogICAgIE5vZGUqIG5vZGUgPSBub2RlRm9ySWQobm9kZUlk
KTsKICAgICBpZiAobm9kZSAmJiAobm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpURVhUX05PREUp
KSB7CkBAIC03MDYsNyArNzA2LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0Tm9kZVZh
bHVlKEVycm9yU3RyaW5nKiwgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgdmEKICAgICAqc3Vj
Y2VzcyA9IGZhbHNlOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRFdmVudExpc3Rl
bmVyc0Zvck5vZGUoRXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCwgUmVmUHRyPEluc3BlY3RvckFy
cmF5PiogbGlzdGVuZXJzQXJyYXkpCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRFdmVudExp
c3RlbmVyc0Zvck5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9y
QXJyYXk+KiBsaXN0ZW5lcnNBcnJheSkKIHsKICAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5v
ZGVJZCk7CiAgICAgRXZlbnRUYXJnZXREYXRhKiBkOwpAQCAtODY4LDcgKzg2OCw3IEBAIHZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6OmNhbmNlbFNlYXJjaChFcnJvclN0cmluZyopCiAgICAgbV9zZWFy
Y2hSZXN1bHRzLmNsZWFyKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc29sdmVO
b2RlKEVycm9yU3RyaW5nKiBlcnJvciwgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgb2JqZWN0
R3JvdXAsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQpCit2b2lkIEluc3BlY3RvckRP
TUFnZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGNvbnN0
IFN0cmluZyYgb2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQpCiB7
CiAgICAgTm9kZSogbm9kZSA9IG5vZGVGb3JJZChub2RlSWQpOwogICAgIGlmICghbm9kZSkgewpA
QCAtODc4LDcgKzg3OCw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlc29sdmVOb2RlKEVy
cm9yU3RyaW5nKiBlcnJvciwgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluCiAgICAgKnJlc3VsdCA9
IHJlc29sdmVOb2RlKG5vZGUsIG9iamVjdEdyb3VwKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01B
Z2VudDo6cHVzaE5vZGVUb0Zyb250ZW5kKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmpl
Y3RJZCwgbG9uZyogbm9kZUlkKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cHVzaE5vZGVUb0Zy
b250ZW5kKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwgaW50KiBub2RlSWQp
CiB7CiAgICAgSW5qZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHQgPSBtX2luamVjdGVkU2NyaXB0
TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRGb3JPYmplY3RJZChvYmplY3RJZCk7CiAgICAgTm9kZSog
bm9kZSA9IGluamVjdGVkU2NyaXB0Lm5vZGVGb3JPYmplY3RJZChvYmplY3RJZCk7CkBAIC04OTks
NyArODk5LDcgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IEluc3BlY3RvckRPTUFnZW50
OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbm9kZSwgaW4KIHsKICAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiB2YWx1ZSA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAKLSAgICBsb25n
IGlkID0gYmluZChub2RlLCBub2Rlc01hcCk7CisgICAgaW50IGlkID0gYmluZChub2RlLCBub2Rl
c01hcCk7CiAgICAgU3RyaW5nIG5vZGVOYW1lOwogICAgIFN0cmluZyBsb2NhbE5hbWU7CiAgICAg
U3RyaW5nIG5vZGVWYWx1ZTsKQEAgLTEwODUsNyArMTA4NSw3IEBAIHZvaWQgSW5zcGVjdG9yRE9N
QWdlbnQ6OmxvYWRFdmVudEZpcmVkKERvY3VtZW50KiBkb2N1bWVudCkKICAgICBpZiAoIWZyYW1l
T3duZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGxvbmcgZnJhbWVPd25lcklkID0gbV9kb2N1
bWVudE5vZGVUb0lkTWFwLmdldChmcmFtZU93bmVyKTsKKyAgICBpbnQgZnJhbWVPd25lcklkID0g
bV9kb2N1bWVudE5vZGVUb0lkTWFwLmdldChmcmFtZU93bmVyKTsKICAgICBpZiAoIWZyYW1lT3du
ZXJJZCkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMDk0LDExICsxMDk0LDExIEBAIHZvaWQgSW5z
cGVjdG9yRE9NQWdlbnQ6OmxvYWRFdmVudEZpcmVkKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAg
ICAgbV9mcm9udGVuZC0+Y2hpbGROb2RlQ291bnRVcGRhdGVkKGZyYW1lT3duZXJJZCwgaW5uZXJD
aGlsZE5vZGVDb3VudChmcmFtZU93bmVyKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gUmUt
YWRkIGZyYW1lIG93bmVyIGVsZW1lbnQgdG9nZXRoZXIgd2l0aCBpdHMgbmV3IGNoaWxkcmVuLgot
ICAgICAgICBsb25nIHBhcmVudElkID0gbV9kb2N1bWVudE5vZGVUb0lkTWFwLmdldChpbm5lclBh
cmVudE5vZGUoZnJhbWVPd25lcikpOworICAgICAgICBpbnQgcGFyZW50SWQgPSBtX2RvY3VtZW50
Tm9kZVRvSWRNYXAuZ2V0KGlubmVyUGFyZW50Tm9kZShmcmFtZU93bmVyKSk7CiAgICAgICAgIG1f
ZnJvbnRlbmQtPmNoaWxkTm9kZVJlbW92ZWQocGFyZW50SWQsIGZyYW1lT3duZXJJZCk7CiAgICAg
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IHZhbHVlID0gYnVpbGRPYmplY3RGb3JOb2RlKGZy
YW1lT3duZXIsIDAsICZtX2RvY3VtZW50Tm9kZVRvSWRNYXApOwogICAgICAgICBOb2RlKiBwcmV2
aW91c1NpYmxpbmcgPSBpbm5lclByZXZpb3VzU2libGluZyhmcmFtZU93bmVyKTsKLSAgICAgICAg
bG9uZyBwcmV2SWQgPSBwcmV2aW91c1NpYmxpbmcgPyBtX2RvY3VtZW50Tm9kZVRvSWRNYXAuZ2V0
KHByZXZpb3VzU2libGluZykgOiAwOworICAgICAgICBpbnQgcHJldklkID0gcHJldmlvdXNTaWJs
aW5nID8gbV9kb2N1bWVudE5vZGVUb0lkTWFwLmdldChwcmV2aW91c1NpYmxpbmcpIDogMDsKICAg
ICAgICAgbV9mcm9udGVuZC0+Y2hpbGROb2RlSW5zZXJ0ZWQocGFyZW50SWQsIHByZXZJZCwgdmFs
dWUucmVsZWFzZSgpKTsKICAgICAgICAgLy8gSW52YWxpZGF0ZSBjaGlsZHJlbiByZXF1ZXN0ZWQg
ZmxhZyBmb3IgdGhlIGVsZW1lbnQuCiAgICAgICAgIG1fY2hpbGRyZW5SZXF1ZXN0ZWQucmVtb3Zl
KG1fY2hpbGRyZW5SZXF1ZXN0ZWQuZmluZChmcmFtZU93bmVySWQpKTsKQEAgLTExMTQsNyArMTEx
NCw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpZEluc2VydERPTU5vZGUoTm9kZSogbm9k
ZSkKICAgICB1bmJpbmQobm9kZSwgJm1fZG9jdW1lbnROb2RlVG9JZE1hcCk7CiAKICAgICBDb250
YWluZXJOb2RlKiBwYXJlbnQgPSBub2RlLT5wYXJlbnROb2RlKCk7Ci0gICAgbG9uZyBwYXJlbnRJ
ZCA9IG1fZG9jdW1lbnROb2RlVG9JZE1hcC5nZXQocGFyZW50KTsKKyAgICBpbnQgcGFyZW50SWQg
PSBtX2RvY3VtZW50Tm9kZVRvSWRNYXAuZ2V0KHBhcmVudCk7CiAgICAgLy8gUmV0dXJuIGlmIHBh
cmVudCBpcyBub3QgbWFwcGVkIHlldC4KICAgICBpZiAoIXBhcmVudElkKQogICAgICAgICByZXR1
cm47CkBAIC0xMTI1LDcgKzExMjUsNyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaWRJbnNl
cnRET01Ob2RlKE5vZGUqIG5vZGUpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gQ2hpbGRyZW4g
aGF2ZSBiZWVuIHJlcXVlc3RlZCAtPiByZXR1cm4gdmFsdWUgb2YgYSBuZXcgY2hpbGQuCiAgICAg
ICAgIE5vZGUqIHByZXZTaWJsaW5nID0gaW5uZXJQcmV2aW91c1NpYmxpbmcobm9kZSk7Ci0gICAg
ICAgIGxvbmcgcHJldklkID0gcHJldlNpYmxpbmcgPyBtX2RvY3VtZW50Tm9kZVRvSWRNYXAuZ2V0
KHByZXZTaWJsaW5nKSA6IDA7CisgICAgICAgIGludCBwcmV2SWQgPSBwcmV2U2libGluZyA/IG1f
ZG9jdW1lbnROb2RlVG9JZE1hcC5nZXQocHJldlNpYmxpbmcpIDogMDsKICAgICAgICAgUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gdmFsdWUgPSBidWlsZE9iamVjdEZvck5vZGUobm9kZSwgMCwgJm1f
ZG9jdW1lbnROb2RlVG9JZE1hcCk7CiAgICAgICAgIG1fZnJvbnRlbmQtPmNoaWxkTm9kZUluc2Vy
dGVkKHBhcmVudElkLCBwcmV2SWQsIHZhbHVlLnJlbGVhc2UoKSk7CiAgICAgfQpAQCAtMTEzNyw3
ICsxMTM3LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkUmVtb3ZlRE9NTm9kZShOb2Rl
KiBub2RlKQogICAgICAgICByZXR1cm47CiAKICAgICBDb250YWluZXJOb2RlKiBwYXJlbnQgPSBu
b2RlLT5wYXJlbnROb2RlKCk7Ci0gICAgbG9uZyBwYXJlbnRJZCA9IG1fZG9jdW1lbnROb2RlVG9J
ZE1hcC5nZXQocGFyZW50KTsKKyAgICBpbnQgcGFyZW50SWQgPSBtX2RvY3VtZW50Tm9kZVRvSWRN
YXAuZ2V0KHBhcmVudCk7CiAgICAgLy8gSWYgcGFyZW50IGlzIG5vdCBtYXBwZWQgeWV0IC0+IGln
bm9yZSB0aGUgZXZlbnQuCiAgICAgaWYgKCFwYXJlbnRJZCkKICAgICAgICAgcmV0dXJuOwpAQCAt
MTE1Niw3ICsxMTU2LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkUmVtb3ZlRE9NTm9k
ZShOb2RlKiBub2RlKQogCiB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaWRNb2RpZnlET01BdHRy
KEVsZW1lbnQqIGVsZW1lbnQpCiB7Ci0gICAgbG9uZyBpZCA9IG1fZG9jdW1lbnROb2RlVG9JZE1h
cC5nZXQoZWxlbWVudCk7CisgICAgaW50IGlkID0gbV9kb2N1bWVudE5vZGVUb0lkTWFwLmdldChl
bGVtZW50KTsKICAgICAvLyBJZiBub2RlIGlzIG5vdCBtYXBwZWQgeWV0IC0+IGlnbm9yZSB0aGUg
ZXZlbnQuCiAgICAgaWYgKCFpZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTE2OSw3ICsxMTY5LDcg
QEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cihFbGVtZW50KiBlbGVt
ZW50KQogCiB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpjaGFyYWN0ZXJEYXRhTW9kaWZpZWQoQ2hh
cmFjdGVyRGF0YSogY2hhcmFjdGVyRGF0YSkKIHsKLSAgICBsb25nIGlkID0gbV9kb2N1bWVudE5v
ZGVUb0lkTWFwLmdldChjaGFyYWN0ZXJEYXRhKTsKKyAgICBpbnQgaWQgPSBtX2RvY3VtZW50Tm9k
ZVRvSWRNYXAuZ2V0KGNoYXJhY3RlckRhdGEpOwogICAgIGlmICghaWQpCiAgICAgICAgIHJldHVy
bjsKICAgICBtX2Zyb250ZW5kLT5jaGFyYWN0ZXJEYXRhTW9kaWZpZWQoaWQsIGNoYXJhY3RlckRh
dGEtPmRhdGEoKSk7CkBAIC0xMTc3LDcgKzExNzcsNyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpjaGFyYWN0ZXJEYXRhTW9kaWZpZWQoQ2hhcmFjdGVyRGF0YSogY2hhcmFjdGVyRGF0YSkKIAog
dm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkSW52YWxpZGF0ZVN0eWxlQXR0cihOb2RlKiBub2Rl
KQogewotICAgIGxvbmcgaWQgPSBtX2RvY3VtZW50Tm9kZVRvSWRNYXAuZ2V0KG5vZGUpOworICAg
IGludCBpZCA9IG1fZG9jdW1lbnROb2RlVG9JZE1hcC5nZXQobm9kZSk7CiAgICAgLy8gSWYgbm9k
ZSBpcyBub3QgbWFwcGVkIHlldCAtPiBpZ25vcmUgdGhlIGV2ZW50LgogICAgIGlmICghaWQpCiAg
ICAgICAgIHJldHVybjsKQEAgLTEyNTEsMTIgKzEyNTEsMTIgQEAgdm9pZCBJbnNwZWN0b3JET01B
Z2VudDo6cmVwb3J0Tm9kZXNBc1NlYXJjaFJlc3VsdHMoTGlzdEhhc2hTZXQ8Tm9kZSo+JiByZXN1
bHRDb2wKICAgICAgICAgaWYgKG1fc2VhcmNoUmVzdWx0cy5jb250YWlucygqaXQpKQogICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIG1fc2VhcmNoUmVzdWx0cy5hZGQoKml0KTsKLSAgICAg
ICAgbm9kZUlkcy0+cHVzaE51bWJlcihzdGF0aWNfY2FzdDxsb25nIGxvbmc+KHB1c2hOb2RlUGF0
aFRvRnJvbnRlbmQoKml0KSkpOworICAgICAgICBub2RlSWRzLT5wdXNoTnVtYmVyKHB1c2hOb2Rl
UGF0aFRvRnJvbnRlbmQoKml0KSk7CiAgICAgfQogICAgIG1fZnJvbnRlbmQtPnNlYXJjaFJlc3Vs
dHMobm9kZUlkcy5yZWxlYXNlKCkpOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFnZW50Ojpjb3B5
Tm9kZShFcnJvclN0cmluZyosIGxvbmcgbm9kZUlkKQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6
Y29weU5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkKQogewogICAgIE5vZGUqIG5vZGUgPSBu
b2RlRm9ySWQobm9kZUlkKTsKICAgICBpZiAoIW5vZGUpCkBAIC0xMjY1LDcgKzEyNjUsNyBAQCB2
b2lkIEluc3BlY3RvckRPTUFnZW50Ojpjb3B5Tm9kZShFcnJvclN0cmluZyosIGxvbmcgbm9kZUlk
KQogICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPndyaXRlUGxhaW5UZXh0KG1h
cmt1cCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnB1c2hOb2RlQnlQYXRoVG9Gcm9u
dGVuZChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgcGF0aCwgbG9uZyogbm9kZUlkKQordm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6cHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kKEVycm9yU3RyaW5n
KiwgY29uc3QgU3RyaW5nJiBwYXRoLCBpbnQqIG5vZGVJZCkKIHsKICAgICBpZiAoTm9kZSogbm9k
ZSA9IG5vZGVGb3JQYXRoKHBhdGgpKQogICAgICAgICAqbm9kZUlkID0gcHVzaE5vZGVQYXRoVG9G
cm9udGVuZChub2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmgKaW5kZXggNmVmZmJkOWViMjU5YWU5YTRiZmJkOWY2MDYxYzQ1NmMyOWY0ZGI4MS4uYzFh
YWE5YjE5OGZhNWVhZmVkMjA0Y2NhNmQzYjMwMmJiMzYwNGZmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTEwOCwyMyArMTA4LDIzIEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlc2V0KCk7CiAKICAgICAvLyBNZXRob2RzIGNhbGxlZCBmcm9tIHRo
ZSBmcm9udGVuZCBmb3IgRE9NIG5vZGVzIGluc3BlY3Rpb24uCi0gICAgdm9pZCBxdWVyeVNlbGVj
dG9yKEVycm9yU3RyaW5nKiwgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgc2VsZWN0b3JzLCBi
b29sIGRvY3VtZW50V2lkZSwgbG9uZyogZWxlbWVudElkKTsKLSAgICB2b2lkIHF1ZXJ5U2VsZWN0
b3JBbGwoRXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCwgY29uc3QgU3RyaW5nJiBzZWxlY3RvcnMs
IGJvb2wgZG9jdW1lbnRXaWRlLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiByZXN1bHQpOworICAg
IHZvaWQgcXVlcnlTZWxlY3RvcihFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFN0cmlu
ZyYgc2VsZWN0b3JzLCBib29sIGRvY3VtZW50V2lkZSwgaW50KiBlbGVtZW50SWQpOworICAgIHZv
aWQgcXVlcnlTZWxlY3RvckFsbChFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFN0cmlu
ZyYgc2VsZWN0b3JzLCBib29sIGRvY3VtZW50V2lkZSwgUmVmUHRyPEluc3BlY3RvckFycmF5Piog
cmVzdWx0KTsKICAgICB2b2lkIGdldERvY3VtZW50KEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4qIHJvb3QpOwotICAgIHZvaWQgZ2V0Q2hpbGROb2RlcyhFcnJvclN0cmluZyos
IGxvbmcgbm9kZUlkKTsKLSAgICB2b2lkIHNldEF0dHJpYnV0ZShFcnJvclN0cmluZyosIGxvbmcg
ZWxlbWVudElkLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwotICAg
IHZvaWQgcmVtb3ZlQXR0cmlidXRlKEVycm9yU3RyaW5nKiwgbG9uZyBlbGVtZW50SWQsIGNvbnN0
IFN0cmluZyYgbmFtZSk7Ci0gICAgdm9pZCByZW1vdmVOb2RlKEVycm9yU3RyaW5nKiwgbG9uZyBu
b2RlSWQsIGxvbmcqIG91dE5vZGVJZCk7Ci0gICAgdm9pZCBzZXROb2RlTmFtZShFcnJvclN0cmlu
ZyosIGxvbmcgbm9kZUlkLCBjb25zdCBTdHJpbmcmIG5hbWUsIGxvbmcqIG5ld0lkKTsKLSAgICB2
b2lkIGdldE91dGVySFRNTChFcnJvclN0cmluZyosIGxvbmcgbm9kZUlkLCBXVEY6OlN0cmluZyog
b3V0ZXJIVE1MKTsKLSAgICB2b2lkIHNldE91dGVySFRNTChFcnJvclN0cmluZyosIGxvbmcgbm9k
ZUlkLCBjb25zdCBTdHJpbmcmIG91dGVySFRNTCwgbG9uZyogbmV3SWQpOwotICAgIHZvaWQgc2V0
Tm9kZVZhbHVlKEVycm9yU3RyaW5nKiwgbG9uZyBub2RlSWQsIGNvbnN0IFN0cmluZyYgdmFsdWUs
IGJvb2wqIHN1Y2Nlc3MpOwotICAgIHZvaWQgZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKEVycm9y
U3RyaW5nKiwgbG9uZyBub2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGxpc3RlbmVyc0Fy
cmF5KTsKKyAgICB2b2lkIGdldENoaWxkTm9kZXMoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkKTsK
KyAgICB2b2lkIHNldEF0dHJpYnV0ZShFcnJvclN0cmluZyosIGludCBlbGVtZW50SWQsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CisgICAgdm9pZCByZW1vdmVBdHRy
aWJ1dGUoRXJyb3JTdHJpbmcqLCBpbnQgZWxlbWVudElkLCBjb25zdCBTdHJpbmcmIG5hbWUpOwor
ICAgIHZvaWQgcmVtb3ZlTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQsIGludCogb3V0Tm9k
ZUlkKTsKKyAgICB2b2lkIHNldE5vZGVOYW1lKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBpbnQqIG5ld0lkKTsKKyAgICB2b2lkIGdldE91dGVySFRNTChFcnJv
clN0cmluZyosIGludCBub2RlSWQsIFdURjo6U3RyaW5nKiBvdXRlckhUTUwpOworICAgIHZvaWQg
c2V0T3V0ZXJIVE1MKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nJiBvdXRl
ckhUTUwsIGludCogbmV3SWQpOworICAgIHZvaWQgc2V0Tm9kZVZhbHVlKEVycm9yU3RyaW5nKiwg
aW50IG5vZGVJZCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vzcyk7CisgICAgdm9p
ZCBnZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBSZWZQ
dHI8SW5zcGVjdG9yQXJyYXk+KiBsaXN0ZW5lcnNBcnJheSk7CiAgICAgdm9pZCBwZXJmb3JtU2Vh
cmNoKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB3aGl0ZXNwYWNlVHJpbW1lZFF1ZXJ5LCBi
b29sIHJ1blN5bmNocm9ub3VzbHkpOwogICAgIHZvaWQgY2FuY2VsU2VhcmNoKEVycm9yU3RyaW5n
Kik7Ci0gICAgdm9pZCByZXNvbHZlTm9kZShFcnJvclN0cmluZyosIGxvbmcgbm9kZUlkLCBjb25z
dCBTdHJpbmcmIG9iamVjdEdyb3VwLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KTsK
LSAgICB2b2lkIHB1c2hOb2RlVG9Gcm9udGVuZChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYg
b2JqZWN0SWQsIGxvbmcqIG5vZGVJZCk7Ci0gICAgdm9pZCBwdXNoTm9kZUJ5UGF0aFRvRnJvbnRl
bmQoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHBhdGgsIGxvbmcqIG5vZGVJZCk7CisgICAg
dm9pZCByZXNvbHZlTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYg
b2JqZWN0R3JvdXAsIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+KiByZXN1bHQpOworICAgIHZvaWQg
cHVzaE5vZGVUb0Zyb250ZW5kKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiBvYmplY3RJZCwg
aW50KiBub2RlSWQpOworICAgIHZvaWQgcHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kKEVycm9yU3Ry
aW5nKiwgY29uc3QgU3RyaW5nJiBwYXRoLCBpbnQqIG5vZGVJZCk7CiAKICAgICAvLyBNZXRob2Rz
IGNhbGxlZCBmcm9tIHRoZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uCiAgICAgdm9pZCBzZXRE
b2N1bWVudChEb2N1bWVudCopOwpAQCAtMTM5LDkgKzEzOSw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IGNoYXJhY3RlckRhdGFNb2RpZmllZChDaGFyYWN0ZXJEYXRhKik7CiAgICAgdm9pZCBkaWRJbnZh
bGlkYXRlU3R5bGVBdHRyKE5vZGUqKTsKIAotICAgIE5vZGUqIG5vZGVGb3JJZChsb25nIG5vZGVJ
ZCk7Ci0gICAgbG9uZyBib3VuZE5vZGVJZChOb2RlKik7Ci0gICAgdm9pZCBjb3B5Tm9kZShFcnJv
clN0cmluZyosIGxvbmcgbm9kZUlkKTsKKyAgICBOb2RlKiBub2RlRm9ySWQoaW50IG5vZGVJZCk7
CisgICAgaW50IGJvdW5kTm9kZUlkKE5vZGUqKTsKKyAgICB2b2lkIGNvcHlOb2RlKEVycm9yU3Ry
aW5nKiwgaW50IG5vZGVJZCk7CiAgICAgdm9pZCBzZXRET01MaXN0ZW5lcihET01MaXN0ZW5lciop
OwogCiAgICAgU3RyaW5nIGRvY3VtZW50VVJMU3RyaW5nKERvY3VtZW50KikgY29uc3Q7CkBAIC0x
NjEsMjAgKzE2MSwyMCBAQCBwcml2YXRlOgogICAgIEluc3BlY3RvckRPTUFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqLCBQYWdlKiwgSW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqKTsKIAogICAgIC8vIE5vZGUtcmVsYXRlZCBtZXRob2RzLgotICAgIHR5cGVkZWYgSGFzaE1h
cDxSZWZQdHI8Tm9kZT4sIGxvbmc+IE5vZGVUb0lkTWFwOwotICAgIGxvbmcgYmluZChOb2RlKiwg
Tm9kZVRvSWRNYXAqKTsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPE5vZGU+LCBpbnQ+IE5v
ZGVUb0lkTWFwOworICAgIGludCBiaW5kKE5vZGUqLCBOb2RlVG9JZE1hcCopOwogICAgIHZvaWQg
dW5iaW5kKE5vZGUqLCBOb2RlVG9JZE1hcCopOwotICAgIE5vZGUqIGFzc2VydE5vZGUoRXJyb3JT
dHJpbmcqLCBsb25nIG5vZGVJZCk7Ci0gICAgRWxlbWVudCogYXNzZXJ0RWxlbWVudChFcnJvclN0
cmluZyosIGxvbmcgbm9kZUlkKTsKLSAgICBIVE1MRWxlbWVudCogYXNzZXJ0SFRNTEVsZW1lbnQo
RXJyb3JTdHJpbmcqLCBsb25nIG5vZGVJZCk7Ci0gICAgTm9kZSogbm9kZVRvU2VsZWN0T24oRXJy
b3JTdHJpbmcqLCBsb25nIG5vZGVJZCwgYm9vbCBkb2N1bWVudFdpZGUpOworICAgIE5vZGUqIGFz
c2VydE5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkKTsKKyAgICBFbGVtZW50KiBhc3NlcnRF
bGVtZW50KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCk7CisgICAgSFRNTEVsZW1lbnQqIGFzc2Vy
dEhUTUxFbGVtZW50KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCk7CisgICAgTm9kZSogbm9kZVRv
U2VsZWN0T24oRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBib29sIGRvY3VtZW50V2lkZSk7CiAK
LSAgICBsb25nIHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQoTm9kZSopOwotICAgIHZvaWQgcHVzaENo
aWxkTm9kZXNUb0Zyb250ZW5kKGxvbmcgbm9kZUlkKTsKKyAgICBpbnQgcHVzaE5vZGVQYXRoVG9G
cm9udGVuZChOb2RlKik7CisgICAgdm9pZCBwdXNoQ2hpbGROb2Rlc1RvRnJvbnRlbmQoaW50IG5v
ZGVJZCk7CiAKLSAgICBib29sIGhhc0JyZWFrcG9pbnQoTm9kZSosIGxvbmcgdHlwZSk7CisgICAg
Ym9vbCBoYXNCcmVha3BvaW50KE5vZGUqLCBpbnQgdHlwZSk7CiAgICAgdm9pZCB1cGRhdGVTdWJ0
cmVlQnJlYWtwb2ludHMoTm9kZSogcm9vdCwgdWludDMyX3Qgcm9vdE1hc2ssIGJvb2wgdmFsdWUp
OwotICAgIHZvaWQgZGVzY3JpcHRpb25Gb3JET01FdmVudChOb2RlKiB0YXJnZXQsIGxvbmcgYnJl
YWtwb2ludFR5cGUsIGJvb2wgaW5zZXJ0aW9uLCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
ZGVzY3JpcHRpb24pOworICAgIHZvaWQgZGVzY3JpcHRpb25Gb3JET01FdmVudChOb2RlKiB0YXJn
ZXQsIGludCBicmVha3BvaW50VHlwZSwgYm9vbCBpbnNlcnRpb24sIFBhc3NSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBkZXNjcmlwdGlvbik7CiAKICAgICBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gYnVpbGRPYmplY3RGb3JOb2RlKE5vZGUqLCBpbnQgZGVwdGgsIE5vZGVUb0lkTWFwKik7CiAg
ICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gYnVpbGRBcnJheUZvckVsZW1lbnRBdHRyaWJ1
dGVzKEVsZW1lbnQqKTsKQEAgLTE5OCwxMCArMTk4LDEwIEBAIHByaXZhdGU6CiAgICAgTm9kZVRv
SWRNYXAgbV9kb2N1bWVudE5vZGVUb0lkTWFwOwogICAgIC8vIE93bnMgbm9kZSBtYXBwaW5ncyBm
b3IgZGFuZ2xpbmcgbm9kZXMuCiAgICAgVmVjdG9yPE5vZGVUb0lkTWFwKj4gbV9kYW5nbGluZ05v
ZGVUb0lkTWFwczsKLSAgICBIYXNoTWFwPGxvbmcsIE5vZGUqPiBtX2lkVG9Ob2RlOwotICAgIEhh
c2hNYXA8bG9uZywgTm9kZVRvSWRNYXAqPiBtX2lkVG9Ob2Rlc01hcDsKLSAgICBIYXNoU2V0PGxv
bmc+IG1fY2hpbGRyZW5SZXF1ZXN0ZWQ7Ci0gICAgbG9uZyBtX2xhc3ROb2RlSWQ7CisgICAgSGFz
aE1hcDxpbnQsIE5vZGUqPiBtX2lkVG9Ob2RlOworICAgIEhhc2hNYXA8aW50LCBOb2RlVG9JZE1h
cCo+IG1faWRUb05vZGVzTWFwOworICAgIEhhc2hTZXQ8aW50PiBtX2NoaWxkcmVuUmVxdWVzdGVk
OworICAgIGludCBtX2xhc3ROb2RlSWQ7CiAgICAgUmVmUHRyPERvY3VtZW50PiBtX2RvY3VtZW50
OwogICAgIERlcXVlPE1hdGNoSm9iKj4gbV9wZW5kaW5nTWF0Y2hKb2JzOwogICAgIFRpbWVyPElu
c3BlY3RvckRPTUFnZW50PiBtX21hdGNoSm9ic1RpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAppbmRleCA2ZWE3MmY2
ZjFjZmZmZGNlZTBhNGM1MTdmNTQ1YTczMWJiY2Y2ZGU5Li5jNDRiYmQ4ZGI2MDM3MjMyMjc5MDMw
ZTAzOTUzNWMwMDdhNzEyODEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIElu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6Y2xlYXJGcm9udGVuZCgpCiAgICAgbV9mcm9udGVuZCA9
IDA7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpnZXRET01TdG9yYWdlRW50
cmllcyhFcnJvclN0cmluZyosIGxvbmcgc3RvcmFnZUlkLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
KiBlbnRyaWVzKQordm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OmdldERPTVN0b3JhZ2VF
bnRyaWVzKEVycm9yU3RyaW5nKiwgaW50IHN0b3JhZ2VJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5
PiogZW50cmllcykKIHsKICAgICBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UqIHN0b3JhZ2VS
ZXNvdXJjZSA9IGdldERPTVN0b3JhZ2VSZXNvdXJjZUZvcklkKHN0b3JhZ2VJZCk7CiAgICAgaWYg
KHN0b3JhZ2VSZXNvdXJjZSkgewpAQCAtOTYsNyArOTYsNyBAQCB2b2lkIEluc3BlY3RvckRPTVN0
b3JhZ2VBZ2VudDo6Z2V0RE9NU3RvcmFnZUVudHJpZXMoRXJyb3JTdHJpbmcqLCBsb25nIHN0b3Jh
Z2VJZAogICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnNldERPTVN0
b3JhZ2VJdGVtKEVycm9yU3RyaW5nKiwgbG9uZyBzdG9yYWdlSWQsIGNvbnN0IFN0cmluZyYga2V5
LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sKiBzdWNjZXNzKQordm9pZCBJbnNwZWN0b3JET01T
dG9yYWdlQWdlbnQ6OnNldERPTVN0b3JhZ2VJdGVtKEVycm9yU3RyaW5nKiwgaW50IHN0b3JhZ2VJ
ZCwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wqIHN1Y2Nlc3Mp
CiB7CiAgICAgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlKiBzdG9yYWdlUmVzb3VyY2UgPSBn
ZXRET01TdG9yYWdlUmVzb3VyY2VGb3JJZChzdG9yYWdlSWQpOwogICAgIGlmIChzdG9yYWdlUmVz
b3VyY2UpIHsKQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2Vu
dDo6c2V0RE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcqLCBsb25nIHN0b3JhZ2VJZCwgYwogICAg
IH0KIH0KIAotdm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnJlbW92ZURPTVN0b3JhZ2VJ
dGVtKEVycm9yU3RyaW5nKiwgbG9uZyBzdG9yYWdlSWQsIGNvbnN0IFN0cmluZyYga2V5LCBib29s
KiBzdWNjZXNzKQordm9pZCBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnJlbW92ZURPTVN0b3Jh
Z2VJdGVtKEVycm9yU3RyaW5nKiwgaW50IHN0b3JhZ2VJZCwgY29uc3QgU3RyaW5nJiBrZXksIGJv
b2wqIHN1Y2Nlc3MpCiB7CiAgICAgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlKiBzdG9yYWdl
UmVzb3VyY2UgPSBnZXRET01TdG9yYWdlUmVzb3VyY2VGb3JJZChzdG9yYWdlSWQpOwogICAgIGlm
IChzdG9yYWdlUmVzb3VyY2UpIHsKQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudDo6cmVtb3ZlRE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcqLCBsb25nIHN0
b3JhZ2VJZAogICAgIH0KIH0KIAotbG9uZyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnN0b3Jh
Z2VJZChTdG9yYWdlKiBzdG9yYWdlKQoraW50IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6c3Rv
cmFnZUlkKFN0b3JhZ2UqIHN0b3JhZ2UpCiB7CiAgICAgQVNTRVJUKHN0b3JhZ2UpOwogICAgIEZy
YW1lKiBmcmFtZSA9IHN0b3JhZ2UtPmZyYW1lKCk7CkBAIC0xMjksNyArMTI5LDcgQEAgbG9uZyBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6OnN0b3JhZ2VJZChTdG9yYWdlKiBzdG9yYWdlKQogICAg
IHJldHVybiAwOwogfQogCi1JbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UqIEluc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudDo6Z2V0RE9NU3RvcmFnZVJlc291cmNlRm9ySWQobG9uZyBzdG9yYWdlSWQp
CitJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UqIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6
Z2V0RE9NU3RvcmFnZVJlc291cmNlRm9ySWQoaW50IHN0b3JhZ2VJZCkKIHsKICAgICBET01TdG9y
YWdlUmVzb3VyY2VzTWFwOjppdGVyYXRvciBpdCA9IG1fcmVzb3VyY2VzLmZpbmQoc3RvcmFnZUlk
KTsKICAgICBpZiAoaXQgPT0gbV9yZXNvdXJjZXMuZW5kKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgKaW5kZXggYWRhZTliMmIy
ZGViMWMyM2NhZjRmYTQwMjM2NTE0MTQ0ZWRhZDhjMC4uNTY3YTcxMzFlMjQzMTQ2NTkxMjZmY2Rh
MDhkODk5ZThlNDRkMjdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaApAQCAtNTksMTIgKzU5LDEyIEBAIHB1YmxpYzoKICAg
ICB2b2lkIGNsZWFyUmVzb3VyY2VzKCk7CiAKICAgICAvLyBDYWxsZWQgZnJvbSB0aGUgZnJvbnQt
ZW5kLgotICAgIHZvaWQgZ2V0RE9NU3RvcmFnZUVudHJpZXMoRXJyb3JTdHJpbmcqLCBsb25nIHN0
b3JhZ2VJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogZW50cmllcyk7Ci0gICAgdm9pZCBzZXRE
T01TdG9yYWdlSXRlbShFcnJvclN0cmluZyosIGxvbmcgc3RvcmFnZUlkLCBjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vzcyk7Ci0gICAgdm9pZCByZW1v
dmVET01TdG9yYWdlSXRlbShFcnJvclN0cmluZyosIGxvbmcgc3RvcmFnZUlkLCBjb25zdCBTdHJp
bmcmIGtleSwgYm9vbCogc3VjY2Vzcyk7CisgICAgdm9pZCBnZXRET01TdG9yYWdlRW50cmllcyhF
cnJvclN0cmluZyosIGludCBzdG9yYWdlSWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGVudHJp
ZXMpOworICAgIHZvaWQgc2V0RE9NU3RvcmFnZUl0ZW0oRXJyb3JTdHJpbmcqLCBpbnQgc3RvcmFn
ZUlkLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCogc3VjY2Vz
cyk7CisgICAgdm9pZCByZW1vdmVET01TdG9yYWdlSXRlbShFcnJvclN0cmluZyosIGludCBzdG9y
YWdlSWQsIGNvbnN0IFN0cmluZyYga2V5LCBib29sKiBzdWNjZXNzKTsKIAogICAgIC8vIENhbGxl
ZCBmcm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCi0gICAgbG9uZyBzdG9yYWdlSWQoU3RvcmFnZSop
OworICAgIGludCBzdG9yYWdlSWQoU3RvcmFnZSopOwogCiAgICAgLy8gQ2FsbGVkIGZyb20gSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uCiAgICAgdm9pZCBkaWRVc2VET01TdG9yYWdlKFN0b3JhZ2VB
cmVhKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSwgRnJhbWUqKTsKQEAgLTcyLDEwICs3MiwxMCBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudChJ
bnN0cnVtZW50aW5nQWdlbnRzKik7CiAKLSAgICBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2Uq
IGdldERPTVN0b3JhZ2VSZXNvdXJjZUZvcklkKGxvbmcgc3RvcmFnZUlkKTsKKyAgICBJbnNwZWN0
b3JET01TdG9yYWdlUmVzb3VyY2UqIGdldERPTVN0b3JhZ2VSZXNvdXJjZUZvcklkKGludCBzdG9y
YWdlSWQpOwogCiAgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogbV9pbnN0cnVtZW50aW5nQWdlbnRz
OwotICAgIHR5cGVkZWYgSGFzaE1hcDxsb25nLCBSZWZQdHI8SW5zcGVjdG9yRE9NU3RvcmFnZVJl
c291cmNlPiA+IERPTVN0b3JhZ2VSZXNvdXJjZXNNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPGlu
dCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVzb3Vy
Y2VzTWFwOwogICAgIERPTVN0b3JhZ2VSZXNvdXJjZXNNYXAgbV9yZXNvdXJjZXM7CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmQqIG1fZnJvbnRlbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcAppbmRleCA2ZmY2
NDE4NDMzNzI4YzIzZGE5MzQ3Zjc0NjgxNjA5ZmY1OGZkYzUzLi5kNjE4ZWI1MmI5NDAzM2EzZGE1
MDQ5NTdmMWM4YjIzYTNhNTg0ZGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcApAQCAtNDYsNyArNDYsNyBA
QCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWxvbmcgSW5z
cGVjdG9yRE9NU3RvcmFnZVJlc291cmNlOjpzX25leHRVbnVzZWRJZCA9IDE7CitpbnQgSW5zcGVj
dG9yRE9NU3RvcmFnZVJlc291cmNlOjpzX25leHRVbnVzZWRJZCA9IDE7CiAKIEluc3BlY3RvckRP
TVN0b3JhZ2VSZXNvdXJjZTo6SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlKFN0b3JhZ2UqIGRv
bVN0b3JhZ2UsIGJvb2wgaXNMb2NhbFN0b3JhZ2UsIEZyYW1lKiBmcmFtZSkKICAgICA6ICBFdmVu
dExpc3RlbmVyKEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZVR5cGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmgKaW5k
ZXggOWFkNWI5MTUzNWZmYjA3OWI2MDgyYTY2YmZlYjFlYWViNmU0ZTUxZC4uZWI3NTExM2M3NGY5
NGJkNDcyNWYxZGQ3YzE1ZDcyYmE2ZGNmMWM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaApAQCAtNjYsNyArNjYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyKTsKIAogICAgICAgICBib29sIGlzU2FtZUhv
c3RBbmRUeXBlKEZyYW1lKiwgYm9vbCBpc0xvY2FsU3RvcmFnZSkgY29uc3Q7Ci0gICAgICAgIGxv
bmcgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CisgICAgICAgIGludCBpZCgpIGNvbnN0IHsg
cmV0dXJuIG1faWQ7IH0KICAgICAgICAgU3RvcmFnZSogZG9tU3RvcmFnZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZG9tU3RvcmFnZS5nZXQoKTsgfQogCiAgICAgcHJpdmF0ZToKQEAgLTc3LDEwICs3Nywx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9pc0xvY2FsU3RvcmFnZTsK
ICAgICAgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOwogICAgICAgICBJbnNwZWN0b3JGcm9udGVu
ZDo6RE9NU3RvcmFnZSogbV9mcm9udGVuZDsKLSAgICAgICAgbG9uZyBtX2lkOworICAgICAgICBp
bnQgbV9pZDsKICAgICAgICAgYm9vbCBtX3JlcG9ydGluZ0NoYW5nZXNUb0Zyb250ZW5kOwogCi0g
ICAgICAgIHN0YXRpYyBsb25nIHNfbmV4dFVudXNlZElkOworICAgICAgICBzdGF0aWMgaW50IHNf
bmV4dFVudXNlZElkOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAppbmRl
eCA0NWVjNDJhZDllZmJmN2IxZmE3ZjYxZjBjMTIzMTJjYmIyNjhkYWYzLi43ZjZlMzc5NjhmZmUy
ZjRmMWZjMjZlNzZlMGUzNWNiMDg1OTdjYjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCkBAIC03MCw5ICs3MCw5IEBAIHBy
aXZhdGU6CiAKIG5hbWVzcGFjZSB7CiAKLWxvbmcgbGFzdFRyYW5zYWN0aW9uSWQgPSAwOworaW50
IGxhc3RUcmFuc2FjdGlvbklkID0gMDsKIAotdm9pZCByZXBvcnRUcmFuc2FjdGlvbkZhaWxlZChJ
bnNwZWN0b3JGcm9udGVuZDo6RGF0YWJhc2UqIGZyb250ZW5kLCBsb25nIHRyYW5zYWN0aW9uSWQs
IFNRTEVycm9yKiBlcnJvcikKK3ZvaWQgcmVwb3J0VHJhbnNhY3Rpb25GYWlsZWQoSW5zcGVjdG9y
RnJvbnRlbmQ6OkRhdGFiYXNlKiBmcm9udGVuZCwgaW50IHRyYW5zYWN0aW9uSWQsIFNRTEVycm9y
KiBlcnJvcikKIHsKICAgICBpZiAoIWZyb250ZW5kKQogICAgICAgICByZXR1cm47CkBAIC04NCw3
ICs4NCw3IEBAIHZvaWQgcmVwb3J0VHJhbnNhY3Rpb25GYWlsZWQoSW5zcGVjdG9yRnJvbnRlbmQ6
OkRhdGFiYXNlKiBmcm9udGVuZCwgbG9uZyB0cmFuc2FjCiAKIGNsYXNzIFN0YXRlbWVudENhbGxi
YWNrIDogcHVibGljIFNRTFN0YXRlbWVudENhbGxiYWNrIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTdGF0ZW1lbnRDYWxsYmFjaz4gY3JlYXRlKGxvbmcgdHJhbnNhY3Rpb25JZCwg
UGFzc1JlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBmcm9u
dGVuZFByb3ZpZGVyKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0YXRlbWVudENhbGxiYWNrPiBj
cmVhdGUoaW50IHRyYW5zYWN0aW9uSWQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dDo6RnJvbnRlbmRQcm92aWRlcj4gZnJvbnRlbmRQcm92aWRlcikKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU3RhdGVtZW50Q2FsbGJhY2sodHJhbnNhY3Rpb25JZCwgZnJvbnRl
bmRQcm92aWRlcikpOwogICAgIH0KQEAgLTExOCwxNiArMTE4LDE2IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgU3RhdGVtZW50Q2FsbGJhY2sobG9uZyB0cmFuc2FjdGlvbklkLCBQ
YXNzUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IGZyb250
ZW5kUHJvdmlkZXIpCisgICAgU3RhdGVtZW50Q2FsbGJhY2soaW50IHRyYW5zYWN0aW9uSWQsIFBh
c3NSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6RnJvbnRlbmRQcm92aWRlcj4gZnJvbnRl
bmRQcm92aWRlcikKICAgICAgICAgOiBtX3RyYW5zYWN0aW9uSWQodHJhbnNhY3Rpb25JZCkKICAg
ICAgICAgLCBtX2Zyb250ZW5kUHJvdmlkZXIoZnJvbnRlbmRQcm92aWRlcikgeyB9Ci0gICAgbG9u
ZyBtX3RyYW5zYWN0aW9uSWQ7CisgICAgaW50IG1fdHJhbnNhY3Rpb25JZDsKICAgICBSZWZQdHI8
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6RnJvbnRlbmRQcm92aWRlcj4gbV9mcm9udGVuZFByb3Zp
ZGVyOwogfTsKIAogY2xhc3MgU3RhdGVtZW50RXJyb3JDYWxsYmFjayA6IHB1YmxpYyBTUUxTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrPiBjcmVhdGUobG9uZyB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRy
PEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlk
ZXIpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RhdGVtZW50RXJyb3JDYWxsYmFjaz4gY3JlYXRl
KGludCB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OkZy
b250ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIpCiAgICAgewogICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFN0YXRlbWVudEVycm9yQ2FsbGJhY2sodHJhbnNhY3Rpb25JZCwgZnJvbnRl
bmRQcm92aWRlcikpOwogICAgIH0KQEAgLTE0MSwxNiArMTQxLDE2IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgU3RhdGVtZW50RXJyb3JDYWxsYmFjayhsb25nIHRyYW5zYWN0aW9u
SWQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6RnJvbnRlbmRQcm92aWRlcj4g
ZnJvbnRlbmRQcm92aWRlcikKKyAgICBTdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGludCB0cmFuc2Fj
dGlvbklkLCBQYXNzUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OkZyb250ZW5kUHJvdmlk
ZXI+IGZyb250ZW5kUHJvdmlkZXIpCiAgICAgICAgIDogbV90cmFuc2FjdGlvbklkKHRyYW5zYWN0
aW9uSWQpCiAgICAgICAgICwgbV9mcm9udGVuZFByb3ZpZGVyKGZyb250ZW5kUHJvdmlkZXIpIHsg
fQotICAgIGxvbmcgbV90cmFuc2FjdGlvbklkOworICAgIGludCBtX3RyYW5zYWN0aW9uSWQ7CiAg
ICAgUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IG1fZnJv
bnRlbmRQcm92aWRlcjsKIH07CiAKIGNsYXNzIFRyYW5zYWN0aW9uQ2FsbGJhY2sgOiBwdWJsaWMg
U1FMVHJhbnNhY3Rpb25DYWxsYmFjayB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
VHJhbnNhY3Rpb25DYWxsYmFjaz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgc3FsU3RhdGVtZW50LCBs
b25nIHRyYW5zYWN0aW9uSWQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6RnJv
bnRlbmRQcm92aWRlcj4gZnJvbnRlbmRQcm92aWRlcikKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxU
cmFuc2FjdGlvbkNhbGxiYWNrPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBzcWxTdGF0ZW1lbnQsIGlu
dCB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OkZyb250
ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIpCiAgICAgewogICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFRyYW5zYWN0aW9uQ2FsbGJhY2soc3FsU3RhdGVtZW50LCB0cmFuc2FjdGlvbklk
LCBmcm9udGVuZFByb3ZpZGVyKSk7CiAgICAgfQpAQCAtMTcwLDE4ICsxNzAsMTggQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiBwcml2YXRlOgotICAgIFRyYW5zYWN0aW9u
Q2FsbGJhY2soY29uc3QgU3RyaW5nJiBzcWxTdGF0ZW1lbnQsIGxvbmcgdHJhbnNhY3Rpb25JZCwg
UGFzc1JlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBmcm9u
dGVuZFByb3ZpZGVyKQorICAgIFRyYW5zYWN0aW9uQ2FsbGJhY2soY29uc3QgU3RyaW5nJiBzcWxT
dGF0ZW1lbnQsIGludCB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRyPEluc3BlY3RvckRhdGFiYXNl
QWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIpCiAgICAgICAgIDogbV9z
cWxTdGF0ZW1lbnQoc3FsU3RhdGVtZW50KQogICAgICAgICAsIG1fdHJhbnNhY3Rpb25JZCh0cmFu
c2FjdGlvbklkKQogICAgICAgICAsIG1fZnJvbnRlbmRQcm92aWRlcihmcm9udGVuZFByb3ZpZGVy
KSB7IH0KICAgICBTdHJpbmcgbV9zcWxTdGF0ZW1lbnQ7Ci0gICAgbG9uZyBtX3RyYW5zYWN0aW9u
SWQ7CisgICAgaW50IG1fdHJhbnNhY3Rpb25JZDsKICAgICBSZWZQdHI8SW5zcGVjdG9yRGF0YWJh
c2VBZ2VudDo6RnJvbnRlbmRQcm92aWRlcj4gbV9mcm9udGVuZFByb3ZpZGVyOwogfTsKIAogY2xh
c3MgVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIDogcHVibGljIFNRTFRyYW5zYWN0aW9uRXJyb3JD
YWxsYmFjayB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VHJhbnNhY3Rpb25FcnJv
ckNhbGxiYWNrPiBjcmVhdGUobG9uZyB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRyPEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIpCisgICAg
c3RhdGljIFBhc3NSZWZQdHI8VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPiBjcmVhdGUoaW50IHRy
YW5zYWN0aW9uSWQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6RnJvbnRlbmRQ
cm92aWRlcj4gZnJvbnRlbmRQcm92aWRlcikKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKHRyYW5zYWN0aW9uSWQsIGZyb250ZW5kUHJv
dmlkZXIpKTsKICAgICB9CkBAIC0xOTQsMTAgKzE5NCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KIHByaXZhdGU6Ci0gICAgVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNr
KGxvbmcgdHJhbnNhY3Rpb25JZCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpG
cm9udGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyKQorICAgIFRyYW5zYWN0aW9uRXJyb3JD
YWxsYmFjayhpbnQgdHJhbnNhY3Rpb25JZCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50OjpGcm9udGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyKQogICAgICAgICA6IG1fdHJh
bnNhY3Rpb25JZCh0cmFuc2FjdGlvbklkKQogICAgICAgICAsIG1fZnJvbnRlbmRQcm92aWRlcihm
cm9udGVuZFByb3ZpZGVyKSB7IH0KLSAgICBsb25nIG1fdHJhbnNhY3Rpb25JZDsKKyAgICBpbnQg
bV90cmFuc2FjdGlvbklkOwogICAgIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpGcm9u
dGVuZFByb3ZpZGVyPiBtX2Zyb250ZW5kUHJvdmlkZXI7CiB9OwogCkBAIC0yNTcsNyArMjU3LDcg
QEAgdm9pZCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpjbGVhckZyb250ZW5kKCkKICAgICBtX2Zy
b250ZW5kUHJvdmlkZXIuY2xlYXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50
OjpnZXREYXRhYmFzZVRhYmxlTmFtZXMoRXJyb3JTdHJpbmcqLCBsb25nIGRhdGFiYXNlSWQsIFJl
ZlB0cjxJbnNwZWN0b3JBcnJheT4qIG5hbWVzKQordm9pZCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50
OjpnZXREYXRhYmFzZVRhYmxlTmFtZXMoRXJyb3JTdHJpbmcqLCBpbnQgZGF0YWJhc2VJZCwgUmVm
UHRyPEluc3BlY3RvckFycmF5PiogbmFtZXMpCiB7CiAgICAgRGF0YWJhc2UqIGRhdGFiYXNlID0g
ZGF0YWJhc2VGb3JJZChkYXRhYmFzZUlkKTsKICAgICBpZiAoZGF0YWJhc2UpIHsKQEAgLTI2OCw3
ICsyNjgsNyBAQCB2b2lkIEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OmdldERhdGFiYXNlVGFibGVO
YW1lcyhFcnJvclN0cmluZyosIGxvbmcgZGF0YWJhc2VJZAogICAgIH0KIH0KIAotdm9pZCBJbnNw
ZWN0b3JEYXRhYmFzZUFnZW50OjpleGVjdXRlU1FMKEVycm9yU3RyaW5nKiwgbG9uZyBkYXRhYmFz
ZUlkLCBjb25zdCBTdHJpbmcmIHF1ZXJ5LCBib29sKiBzdWNjZXNzLCBsb25nKiB0cmFuc2FjdGlv
bklkKQordm9pZCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpleGVjdXRlU1FMKEVycm9yU3RyaW5n
KiwgaW50IGRhdGFiYXNlSWQsIGNvbnN0IFN0cmluZyYgcXVlcnksIGJvb2wqIHN1Y2Nlc3MsIGlu
dCogdHJhbnNhY3Rpb25JZCkKIHsKICAgICBEYXRhYmFzZSogZGF0YWJhc2UgPSBkYXRhYmFzZUZv
cklkKGRhdGFiYXNlSWQpOwogICAgIGlmICghZGF0YWJhc2UpIHsKQEAgLTI4NCw3ICsyODQsNyBA
QCB2b2lkIEluc3BlY3RvckRhdGFiYXNlQWdlbnQ6OmV4ZWN1dGVTUUwoRXJyb3JTdHJpbmcqLCBs
b25nIGRhdGFiYXNlSWQsIGNvbnN0IFN0cgogICAgICpzdWNjZXNzID0gdHJ1ZTsKIH0KIAotbG9u
ZyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpkYXRhYmFzZUlkKERhdGFiYXNlKiBkYXRhYmFzZSkK
K2ludCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpkYXRhYmFzZUlkKERhdGFiYXNlKiBkYXRhYmFz
ZSkKIHsKICAgICBmb3IgKERhdGFiYXNlUmVzb3VyY2VzTWFwOjppdGVyYXRvciBpdCA9IG1fcmVz
b3VyY2VzLmJlZ2luKCk7IGl0ICE9IG1fcmVzb3VyY2VzLmVuZCgpOyArK2l0KSB7CiAgICAgICAg
IGlmIChpdC0+c2Vjb25kLT5kYXRhYmFzZSgpID09IGRhdGFiYXNlKQpAQCAtMjkzLDcgKzI5Myw3
IEBAIGxvbmcgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGF0YWJhc2VJZChEYXRhYmFzZSogZGF0
YWJhc2UpCiAgICAgcmV0dXJuIDA7CiB9CiAKLURhdGFiYXNlKiBJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50OjpkYXRhYmFzZUZvcklkKGxvbmcgZGF0YWJhc2VJZCkKK0RhdGFiYXNlKiBJbnNwZWN0b3JE
YXRhYmFzZUFnZW50OjpkYXRhYmFzZUZvcklkKGludCBkYXRhYmFzZUlkKQogewogICAgIERhdGFi
YXNlUmVzb3VyY2VzTWFwOjppdGVyYXRvciBpdCA9IG1fcmVzb3VyY2VzLmZpbmQoZGF0YWJhc2VJ
ZCk7CiAgICAgaWYgKGl0ID09IG1fcmVzb3VyY2VzLmVuZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKaW5kZXggN2U0MjIxMTZmYzM3
ZTg5MTUzNTJmYWY5ZTIwYjNlYzZiNGYwZmU2MC4uNDVmYmZhNDA0ZWI0MmE3OTA4YzU5ZmY5NmEz
YmJhNTU0OWQwODM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRhdGFiYXNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudC5oCkBAIC01OSwxNyArNTksMTcgQEAgcHVibGljOgogICAgIHZvaWQg
Y2xlYXJSZXNvdXJjZXMoKTsKIAogICAgIC8vIENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCi0g
ICAgdm9pZCBnZXREYXRhYmFzZVRhYmxlTmFtZXMoRXJyb3JTdHJpbmcqIGVycm9yLCBsb25nIGRh
dGFiYXNlSWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIG5hbWVzKTsKLSAgICB2b2lkIGV4ZWN1
dGVTUUwoRXJyb3JTdHJpbmcqIGVycm9yLCBsb25nIGRhdGFiYXNlSWQsIGNvbnN0IFN0cmluZyYg
cXVlcnksIGJvb2wqIHN1Y2Nlc3MsIGxvbmcqIHRyYW5zYWN0aW9uSWQpOworICAgIHZvaWQgZ2V0
RGF0YWJhc2VUYWJsZU5hbWVzKEVycm9yU3RyaW5nKiwgaW50IGRhdGFiYXNlSWQsIFJlZlB0cjxJ
bnNwZWN0b3JBcnJheT4qIG5hbWVzKTsKKyAgICB2b2lkIGV4ZWN1dGVTUUwoRXJyb3JTdHJpbmcq
LCBpbnQgZGF0YWJhc2VJZCwgY29uc3QgU3RyaW5nJiBxdWVyeSwgYm9vbCogc3VjY2VzcywgaW50
KiB0cmFuc2FjdGlvbklkKTsKIAogICAgIC8vIENhbGxlZCBmcm9tIHRoZSBpbmplY3RlZCBzY3Jp
cHQuCi0gICAgbG9uZyBkYXRhYmFzZUlkKERhdGFiYXNlKik7CisgICAgaW50IGRhdGFiYXNlSWQo
RGF0YWJhc2UqKTsKIAogICAgIHZvaWQgZGlkT3BlbkRhdGFiYXNlKFBhc3NSZWZQdHI8RGF0YWJh
c2U+LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIHZlcnNpb24pOwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKIAotICAgIERhdGFiYXNlKiBkYXRhYmFzZUZvcklk
KGxvbmcgZGF0YWJhc2VJZCk7CisgICAgRGF0YWJhc2UqIGRhdGFiYXNlRm9ySWQoaW50IGRhdGFi
YXNlSWQpOwogCiAgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogbV9pbnN0cnVtZW50aW5nQWdlbnRz
OwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwCmluZGV4IDQxMzQyYTQ3NWE0
Njc0MjI4MjM3YWJhM2U0MmQ0MWVkZTlmYjVhM2UuLjg1MjM3MGVhMDY3NzMyNGMyNTRiOTFlYTc2
YjExZmI2MGRjNWJmNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgbG9uZyBuZXh0VW51c2VkSWQgPSAxOworc3RhdGljIGlu
dCBuZXh0VW51c2VkSWQgPSAxOwogCiBQYXNzUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlUmVzb3Vy
Y2U+IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U6OmNyZWF0ZShQYXNzUmVmUHRyPERhdGFiYXNl
PiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB2ZXJzaW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgKaW5kZXggNTUwZmNkOGRhNDZjOGNjYWI2M2E3
Y2NmZjQwNzZjZjU2ODcyNmY3OS4uOWZhN2ViZDAyYzI5NDhlZTQzNDZiMmFhYWM0NzY3OWFkOWE5
ZTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFi
YXNlUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0
YWJhc2VSZXNvdXJjZS5oCkBAIC00OCwxMyArNDgsMTMgQEAgcHVibGljOgogCiAgICAgdm9pZCBi
aW5kKEluc3BlY3RvckZyb250ZW5kOjpEYXRhYmFzZSopOwogICAgIERhdGFiYXNlKiBkYXRhYmFz
ZSgpIHsgcmV0dXJuIG1fZGF0YWJhc2UuZ2V0KCk7IH0KLSAgICBsb25nIGlkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pZDsgfQorICAgIGludCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIAogcHJp
dmF0ZToKICAgICBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlKFBhc3NSZWZQdHI8RGF0YWJhc2U+
LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHZlcnNpb24pOwogCiAgICAgUmVmUHRyPERhdGFiYXNlPiBtX2RhdGFiYXNlOwotICAgIGxvbmcg
bV9pZDsKKyAgICBpbnQgbV9pZDsKICAgICBTdHJpbmcgbV9kb21haW47CiAgICAgU3RyaW5nIG1f
bmFtZTsKICAgICBTdHJpbmcgbV92ZXJzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IGIzMzUzOTYzNGUwODk4N2U4
ZWZiMTAxMWViNzBmNTMxMDgyNmQwMGIuLmIyMjkzZjYyNmNkOTYyNTZmOTAyY2M5MWY5MzUzZWVk
YTE5OGQ2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5jcHAKQEAgLTMxNiw3ICszMTYsNyBAQCB2b2lkIEluc3BlY3RvckRlYnVn
Z2VyQWdlbnQ6OnN0ZXBPdXQoRXJyb3JTdHJpbmcqKQogICAgIFNjcmlwdERlYnVnU2VydmVyOjpz
aGFyZWQoKS5zdGVwT3V0T2ZGdW5jdGlvbigpOwogfQogCi12b2lkIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQ6OnNldFBhdXNlT25FeGNlcHRpb25zU3RhdGUoRXJyb3JTdHJpbmcqLCBsb25nIHBhdXNl
U3RhdGUsIGxvbmcqIG5ld1N0YXRlKQordm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpzZXRQ
YXVzZU9uRXhjZXB0aW9uc1N0YXRlKEVycm9yU3RyaW5nKiwgaW50IHBhdXNlU3RhdGUsIGludCog
bmV3U3RhdGUpCiB7CiAgICAgU2NyaXB0RGVidWdTZXJ2ZXI6OnNoYXJlZCgpLnNldFBhdXNlT25F
eGNlcHRpb25zU3RhdGUoc3RhdGljX2Nhc3Q8U2NyaXB0RGVidWdTZXJ2ZXI6OlBhdXNlT25FeGNl
cHRpb25zU3RhdGU+KHBhdXNlU3RhdGUpKTsKICAgICAqbmV3U3RhdGUgPSBTY3JpcHREZWJ1Z1Nl
cnZlcjo6c2hhcmVkKCkucGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggYTNlNmI4ZGRk
ZDg2NjNmZjY4YjM5ZDlkY2FkZDVjNGEyZGVjZTZlNi4uOGI4MjViNjRhZTM3ZDJmOTIzYjllZDVj
OTlhNTk5NDBkOTZlZjcxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHN0ZXBPdmVyKEVycm9yU3RyaW5nKik7CiAgICAgdm9pZCBzdGVwSW50byhFcnJvclN0cmluZyop
OwogICAgIHZvaWQgc3RlcE91dChFcnJvclN0cmluZyopOwotICAgIHZvaWQgc2V0UGF1c2VPbkV4
Y2VwdGlvbnNTdGF0ZShFcnJvclN0cmluZyosIGxvbmcgcGF1c2VTdGF0ZSwgbG9uZyogbmV3U3Rh
dGUpOworICAgIHZvaWQgc2V0UGF1c2VPbkV4Y2VwdGlvbnNTdGF0ZShFcnJvclN0cmluZyosIGlu
dCBwYXVzZVN0YXRlLCBpbnQqIG5ld1N0YXRlKTsKICAgICB2b2lkIGV2YWx1YXRlT25DYWxsRnJh
bWUoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIGNhbGxGcmFtZUlkLCBjb25zdCBTdHJpbmcm
IGV4cHJlc3Npb24sIGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXAsIGJvb2wgaW5jbHVkZUNvbW1h
bmRMaW5lQVBJLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcmVzdWx0KTsKIAogICAgIGNsYXNz
IExpc3RlbmVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
cm9maWxlckFnZW50LmNwcAppbmRleCAxODY3ZGYxNmFjNDUzMTFkN2M3Yjk1MGMzYjIxMjA3ZDBm
ODljMmRjLi4yNmFmYzczODg2OWIxMzY1ZWU1NGJiNjRiMDA3N2Y1MDY5ZGU5Mzg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
CkBAIC0xODEsNyArMTgxLDcgQEAgU3RyaW5nIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmdldEN1
cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUoYm9vbCBpbmNyZW1lbnQKICAgICByZXR1cm4g
bWFrZVN0cmluZyhVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUsICcuJywgU3RyaW5nOjpudW1iZXIo
bV9jdXJyZW50VXNlckluaXRpYXRlZFByb2ZpbGVOdW1iZXIpKTsKIH0KIAotdm9pZCBJbnNwZWN0
b3JQcm9maWxlckFnZW50OjpnZXRFeGFjdEhlYXBTbmFwc2hvdE5vZGVSZXRhaW5lZFNpemUoRXJy
b3JTdHJpbmcqLCB1bnNpZ25lZCBsb25nIHVpZCwgdW5zaWduZWQgbG9uZyBub2RlSWQsIGxvbmcq
IHNpemUpCit2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmdldEV4YWN0SGVhcFNuYXBzaG90
Tm9kZVJldGFpbmVkU2l6ZShFcnJvclN0cmluZyosIHVuc2lnbmVkIHVpZCwgaW50IG5vZGVJZCwg
aW50KiBzaXplKQogewogICAgIEhlYXBTbmFwc2hvdHNNYXA6Oml0ZXJhdG9yIGl0ID0gbV9zbmFw
c2hvdHMuZmluZCh1aWQpOwogICAgIGlmIChpdCAhPSBtX3NuYXBzaG90cy5lbmQoKSkgewpAQCAt
MjA1LDEzICsyMDUsMTMgQEAgbmFtZXNwYWNlIHsKIAogY2xhc3MgT3V0cHV0U3RyZWFtIDogcHVi
bGljIFNjcmlwdEhlYXBTbmFwc2hvdDo6T3V0cHV0U3RyZWFtIHsKIHB1YmxpYzoKLSAgICBPdXRw
dXRTdHJlYW0oSW5zcGVjdG9yRnJvbnRlbmQ6OlByb2ZpbGVyKiBmcm9udGVuZCwgdW5zaWduZWQg
bG9uZyB1aWQpCisgICAgT3V0cHV0U3RyZWFtKEluc3BlY3RvckZyb250ZW5kOjpQcm9maWxlciog
ZnJvbnRlbmQsIHVuc2lnbmVkIHVpZCkKICAgICAgICAgOiBtX2Zyb250ZW5kKGZyb250ZW5kKSwg
bV91aWQodWlkKSB7IH0KICAgICB2b2lkIFdyaXRlKGNvbnN0IFN0cmluZyYgY2h1bmspIHsgbV9m
cm9udGVuZC0+YWRkSGVhcFNuYXBzaG90Q2h1bmsobV91aWQsIGNodW5rKTsgfQogICAgIHZvaWQg
Q2xvc2UoKSB7IG1fZnJvbnRlbmQtPmZpbmlzaEhlYXBTbmFwc2hvdChtX3VpZCk7IH0KIHByaXZh
dGU6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OlByb2ZpbGVyKiBtX2Zyb250ZW5kOwotICAgIHVu
c2lnbmVkIGxvbmcgbV91aWQ7CisgICAgaW50IG1fdWlkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5o
CmluZGV4IDg5YjkxMjZhMmEzZjljODIxZDljZmEzZDJiMjhiODljODA4OGE1OWIuLmViNGMwYWQw
NmJhMGYwZTgwZTE1MjU2YWMwYjNiNDQ5ODY3MGU3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApAQCAtNzYsNyArNzYsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBlbmFibGUoYm9vbCBza2lwUmVjb21waWxlKTsKICAgICBib29sIGVu
YWJsZWQoKSB7IHJldHVybiBtX2VuYWJsZWQ7IH0KICAgICBTdHJpbmcgZ2V0Q3VycmVudFVzZXJJ
bml0aWF0ZWRQcm9maWxlTmFtZShib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIgPSBmYWxzZSk7
Ci0gICAgdm9pZCBnZXRFeGFjdEhlYXBTbmFwc2hvdE5vZGVSZXRhaW5lZFNpemUoRXJyb3JTdHJp
bmcqLCB1bnNpZ25lZCBsb25nIHVpZCwgdW5zaWduZWQgbG9uZyBub2RlSWQsIGxvbmcqIHNpemUp
OworICAgIHZvaWQgZ2V0RXhhY3RIZWFwU25hcHNob3ROb2RlUmV0YWluZWRTaXplKEVycm9yU3Ry
aW5nKiwgdW5zaWduZWQgdWlkLCBpbnQgbm9kZUlkLCBpbnQqIHNpemUpOwogICAgIHZvaWQgZ2V0
UHJvZmlsZUhlYWRlcnMoRXJyb3JTdHJpbmcqIGVycm9yLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
KiBoZWFkZXJzKTsKICAgICB2b2lkIGdldFByb2ZpbGUoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25z
dCBTdHJpbmcmIHR5cGUsIHVuc2lnbmVkIHVpZCwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHBy
b2ZpbGVPYmplY3QpOwogICAgIGJvb2wgaXNSZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZSgp
IHsgcmV0dXJuIG1fcmVjb3JkaW5nVXNlckluaXRpYXRlZFByb2ZpbGU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAppbmRleCAz
MmZmZjc1MGNkYmYzNjYzOTg1ODRlYjE5NDMyZmNhNzY4NTA3OGQ1Li5lZTM1YmUyOTVhNTc5NjE0
MjFmZDc2ZjdhYTk4NDNjMDkzMGJmNjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC0zMjEsNyArMzIxLDcgQEAgdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjppZGVudGlmaWVyRm9ySW5pdGlhbFJlcXVlc3QodW5z
aWduZWQgbG9uZyBpZGVudGlmaWUKICAgICAgICAgY2FsbFN0YWNrVmFsdWUgPSBjYWxsU3RhY2st
PmJ1aWxkSW5zcGVjdG9yQXJyYXkoKTsKICAgICBlbHNlCiAgICAgICAgIGNhbGxTdGFja1ZhbHVl
ID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpOwotICAgIG1fZnJvbnRlbmQtPmlkZW50aWZpZXJG
b3JJbml0aWFsUmVxdWVzdChpZGVudGlmaWVyLCB1cmwuc3RyaW5nKCksIGxvYWRlck9iamVjdCwg
Y2FsbFN0YWNrVmFsdWUpOworICAgIG1fZnJvbnRlbmQtPmlkZW50aWZpZXJGb3JJbml0aWFsUmVx
dWVzdChzdGF0aWNfY2FzdDxpbnQ+KGlkZW50aWZpZXIpLCB1cmwuc3RyaW5nKCksIGxvYWRlck9i
amVjdCwgY2FsbFN0YWNrVmFsdWUpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6
OnNldEV4dHJhSGVhZGVycyhFcnJvclN0cmluZyosIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBoZWFkZXJzKQpAQCAtMzQ2LDEyICszNDYsMTIgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50Ojp3aWxsU2VuZFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVIK
ICAgICByZXF1ZXN0LnNldFJlcG9ydExvYWRUaW1pbmcodHJ1ZSk7CiAgICAgcmVxdWVzdC5zZXRS
ZXBvcnRSYXdIZWFkZXJzKHRydWUpOwogCi0gICAgbV9mcm9udGVuZC0+d2lsbFNlbmRSZXF1ZXN0
KGlkZW50aWZpZXIsIGN1cnJlbnRUaW1lKCksIGJ1aWxkT2JqZWN0Rm9yUmVzb3VyY2VSZXF1ZXN0
KHJlcXVlc3QpLCBidWlsZE9iamVjdEZvclJlc291cmNlUmVzcG9uc2UocmVkaXJlY3RSZXNwb25z
ZSkpOworICAgIG1fZnJvbnRlbmQtPndpbGxTZW5kUmVxdWVzdChzdGF0aWNfY2FzdDxpbnQ+KGlk
ZW50aWZpZXIpLCBjdXJyZW50VGltZSgpLCBidWlsZE9iamVjdEZvclJlc291cmNlUmVxdWVzdChy
ZXF1ZXN0KSwgYnVpbGRPYmplY3RGb3JSZXNvdXJjZVJlc3BvbnNlKHJlZGlyZWN0UmVzcG9uc2Up
KTsKIH0KIAogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjptYXJrUmVzb3VyY2VBc0NhY2hl
ZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0gICAgbV9mcm9udGVuZC0+bWFya1Jlc291
cmNlQXNDYWNoZWQoaWRlbnRpZmllcik7CisgICAgbV9mcm9udGVuZC0+bWFya1Jlc291cmNlQXND
YWNoZWQoc3RhdGljX2Nhc3Q8aW50PihpZGVudGlmaWVyKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCkBAIC0zNzQsNyArMzc0LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRS
ZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWUKICAgICAgICAg
ZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0ZyYWdtZW50SWRlbnRpZmllcihyZXNwb25zZS51cmwoKSwg
bG9hZGVyLT51cmwoKSkgJiYgdHlwZSA9PSAiT3RoZXIiKQogICAgICAgICAgICAgdHlwZSA9ICJE
b2N1bWVudCI7CiAgICAgfQotICAgIG1fZnJvbnRlbmQtPmRpZFJlY2VpdmVSZXNwb25zZShpZGVu
dGlmaWVyLCBjdXJyZW50VGltZSgpLCB0eXBlLCByZXNvdXJjZVJlc3BvbnNlKTsKKyAgICBtX2Zy
b250ZW5kLT5kaWRSZWNlaXZlUmVzcG9uc2Uoc3RhdGljX2Nhc3Q8aW50PihpZGVudGlmaWVyKSwg
Y3VycmVudFRpbWUoKSwgdHlwZSwgcmVzb3VyY2VSZXNwb25zZSk7CiAgICAgLy8gSWYgd2UgcmV2
YWxpZGF0ZWQgdGhlIHJlc291cmNlIGFuZCBnb3QgTm90IG1vZGlmaWVkLCBzZW5kIGNvbnRlbnQg
bGVuZ3RoIGZvbGxvd2luZyBkaWRSZWNlaXZlUmVzcG9uc2UKICAgICAvLyBhcyB0aGVyZSB3aWxs
IGJlIG5vIGNhbGxzIHRvIGRpZFJlY2VpdmVDb250ZW50TGVuZ3RoIGZyb20gdGhlIG5ldHdvcmsg
c3RhY2suCiAgICAgaWYgKGNhY2hlZFJlc291cmNlU2l6ZSAmJiByZXNwb25zZS5odHRwU3RhdHVz
Q29kZSgpID09IDMwNCkKQEAgLTM4Myw3ICszODMsNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNl
QWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3Vt
ZQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3Ro
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKQogewotICAgIG1f
ZnJvbnRlbmQtPmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKGlkZW50aWZpZXIsIGN1cnJlbnRUaW1l
KCksIGxlbmd0aFJlY2VpdmVkKTsKKyAgICBtX2Zyb250ZW5kLT5kaWRSZWNlaXZlQ29udGVudExl
bmd0aChzdGF0aWNfY2FzdDxpbnQ+KGlkZW50aWZpZXIpLCBjdXJyZW50VGltZSgpLCBsZW5ndGhS
ZWNlaXZlZCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoTG9h
ZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGRvdWJsZSBmaW5pc2hUaW1lKQpAQCAtMzkx
LDEyICszOTEsMTIgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGaW5pc2hMb2Fk
aW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGYKICAgICBpZiAoIWZpbmlzaFRp
bWUpCiAgICAgICAgIGZpbmlzaFRpbWUgPSBjdXJyZW50VGltZSgpOwogCi0gICAgbV9mcm9udGVu
ZC0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCBmaW5pc2hUaW1lKTsKKyAgICBtX2Zyb250
ZW5kLT5kaWRGaW5pc2hMb2FkaW5nKHN0YXRpY19jYXN0PGludD4oaWRlbnRpZmllciksIGZpbmlz
aFRpbWUpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZEZhaWxMb2FkaW5n
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7
Ci0gICAgbV9mcm9udGVuZC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmllciwgY3VycmVudFRpbWUo
KSwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSk7CisgICAgbV9mcm9udGVuZC0+ZGlkRmFp
bExvYWRpbmcoc3RhdGljX2Nhc3Q8aW50PihpZGVudGlmaWVyKSwgY3VycmVudFRpbWUoKSwgZXJy
b3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudDo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyKiBsb2Fk
ZXIsIGNvbnN0IENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKQEAgLTQwNiw3ICs0MDYsNyBAQCB2
b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNo
ZShEb2N1bWVudExvYWRlciogbG9hZAogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNl
dEluaXRpYWxDb250ZW50KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBz
b3VyY2VTdHJpbmcsIGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKLSAgICBtX2Zyb250ZW5kLT5zZXRJ
bml0aWFsQ29udGVudChpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcsIHR5cGUpOworICAgIG1fZnJv
bnRlbmQtPnNldEluaXRpYWxDb250ZW50KHN0YXRpY19jYXN0PGludD4oaWRlbnRpZmllciksIHNv
dXJjZVN0cmluZywgdHlwZSk7CiB9CiAKIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gYnVpbGRPYmplY3RGb3JGcmFtZShGcmFtZSogZnJhbWUpCkBAIC00NzQsNyArNDc0LDcgQEAg
c3RhdGljIFN0cmluZyBjcmVhdGVSZWFkYWJsZVN0cmluZ0Zyb21CaW5hcnkoY29uc3QgdW5zaWdu
ZWQgY2hhciogdmFsdWUsIHNpemVfdAogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRp
ZENyZWF0ZVdlYlNvY2tldCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IEtVUkwmIHJl
cXVlc3RVUkwpCiB7Ci0gICAgbV9mcm9udGVuZC0+ZGlkQ3JlYXRlV2ViU29ja2V0KGlkZW50aWZp
ZXIsIHJlcXVlc3RVUkwuc3RyaW5nKCkpOworICAgIG1fZnJvbnRlbmQtPmRpZENyZWF0ZVdlYlNv
Y2tldChzdGF0aWNfY2FzdDxpbnQ+KGlkZW50aWZpZXIpLCByZXF1ZXN0VVJMLnN0cmluZygpKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsU2VuZFdlYlNvY2tldEhhbmRz
aGFrZVJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRIYW5k
c2hha2VSZXF1ZXN0JiByZXF1ZXN0KQpAQCAtNDgyLDcgKzQ4Miw3IEBAIHZvaWQgSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KHVuc2lnbmVk
IGxvbmcgaWRlCiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVxdWVzdE9iamVjdCA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgcmVxdWVzdE9iamVjdC0+c2V0T2JqZWN0KCJ3
ZWJTb2NrZXRIZWFkZXJGaWVsZHMiLCBidWlsZE9iamVjdEZvckhlYWRlcnMocmVxdWVzdC5oZWFk
ZXJGaWVsZHMoKSkpOwogICAgIHJlcXVlc3RPYmplY3QtPnNldFN0cmluZygid2ViU29ja2V0UmVx
dWVzdEtleTMiLCBjcmVhdGVSZWFkYWJsZVN0cmluZ0Zyb21CaW5hcnkocmVxdWVzdC5rZXkzKCku
dmFsdWUsIHNpemVvZihyZXF1ZXN0LmtleTMoKS52YWx1ZSkpKTsKLSAgICBtX2Zyb250ZW5kLT53
aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QoaWRlbnRpZmllciwgY3VycmVudFRpbWUo
KSwgcmVxdWVzdE9iamVjdCk7CisgICAgbV9mcm9udGVuZC0+d2lsbFNlbmRXZWJTb2NrZXRIYW5k
c2hha2VSZXF1ZXN0KHN0YXRpY19jYXN0PGludD4oaWRlbnRpZmllciksIGN1cnJlbnRUaW1lKCks
IHJlcXVlc3RPYmplY3QpOwogfQogCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJl
Y2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IGNvbnN0IFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlJiByZXNwb25zZSkKQEAgLTQ5MiwxMiAr
NDkyLDEyIEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZVdlYlNvY2tl
dEhhbmRzaGFrZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcKICAgICByZXNwb25zZU9iamVjdC0+c2V0
U3RyaW5nKCJzdGF0dXNUZXh0IiwgcmVzcG9uc2Uuc3RhdHVzVGV4dCgpKTsKICAgICByZXNwb25z
ZU9iamVjdC0+c2V0T2JqZWN0KCJ3ZWJTb2NrZXRIZWFkZXJGaWVsZHMiLCBidWlsZE9iamVjdEZv
ckhlYWRlcnMocmVzcG9uc2UuaGVhZGVyRmllbGRzKCkpKTsKICAgICByZXNwb25zZU9iamVjdC0+
c2V0U3RyaW5nKCJ3ZWJTb2NrZXRDaGFsbGVuZ2VSZXNwb25zZSIsIGNyZWF0ZVJlYWRhYmxlU3Ry
aW5nRnJvbUJpbmFyeShyZXNwb25zZS5jaGFsbGVuZ2VSZXNwb25zZSgpLnZhbHVlLCBzaXplb2Yo
cmVzcG9uc2UuY2hhbGxlbmdlUmVzcG9uc2UoKS52YWx1ZSkpKTsKLSAgICBtX2Zyb250ZW5kLT5k
aWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UoaWRlbnRpZmllciwgY3VycmVudFRp
bWUoKSwgcmVzcG9uc2VPYmplY3QpOworICAgIG1fZnJvbnRlbmQtPmRpZFJlY2VpdmVXZWJTb2Nr
ZXRIYW5kc2hha2VSZXNwb25zZShzdGF0aWNfY2FzdDxpbnQ+KGlkZW50aWZpZXIpLCBjdXJyZW50
VGltZSgpLCByZXNwb25zZU9iamVjdCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6ZGlkQ2xvc2VXZWJTb2NrZXQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewotICAgIG1f
ZnJvbnRlbmQtPmRpZENsb3NlV2ViU29ja2V0KGlkZW50aWZpZXIsIGN1cnJlbnRUaW1lKCkpOwor
ICAgIG1fZnJvbnRlbmQtPmRpZENsb3NlV2ViU29ja2V0KHN0YXRpY19jYXN0PGludD4oaWRlbnRp
ZmllciksIGN1cnJlbnRUaW1lKCkpOwogfQogI2VuZGlmIC8vIEVOQUJMRShXRUJfU09DS0VUUykK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rv
ci1pZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZ2VuZXJhdGUtaW5zcGVjdG9yLWlkbApp
bmRleCBhOTI5YTQ4NmYxYzY4OWUyODFmMTU5Yjc1MWRhZTVmMGY3ZjFhOWIzLi41NzEyZjQwMjcy
ZDIwMzgwYzY5ZGNkNzcxZmEzMjZmOTBiMTU4YTNlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZ2VuZXJhdGUtaW5zcGVjdG9yLWlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZ2VuZXJhdGUtaW5zcGVjdG9yLWlkbApAQCAtNzQsOSArNzQsNyBAQCBtb2R1bGUg
Y29yZSB7IiIiKQogdHlwZV90cmFpdHMgPSB7CiAgICAgInN0cmluZyI6ICJTdHJpbmciLAogICAg
ICJpbnRlZ2VyIjogImludCIsCi0gICAgImxvbmciOiAibG9uZyIsCi0gICAgInVuc2lnbmVkIjog
InVuc2lnbmVkIGxvbmciLAotICAgICJmbG9hdCI6ICJkb3VibGUiLAorICAgICJudW1iZXIiOiAi
ZG91YmxlIiwKICAgICAiYm9vbGVhbiI6ICJib29sZWFuIiwKICAgICAib2JqZWN0IjogIk9iamVj
dCIKIH0K
</data>
<flag name="review"
          id="78503"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>