<?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>206828</bug_id>
          
          <creation_ts>2020-01-27 08:57:31 -0800</creation_ts>
          <short_desc>Crash in AXIsolatedObject destruction.</short_desc>
          <delta_ts>2020-01-29 10:01:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=206868</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>aboxhall</cc>
    
    <cc>annulen</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>lmoura</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1611432</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-01-27 08:57:31 -0800</bug_when>
    <thetext>Crash in AXIsolatedObject destruction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611437</commentid>
    <comment_count>1</comment_count>
      <attachid>388866</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-01-27 09:17:06 -0800</bug_when>
    <thetext>Created attachment 388866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611563</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 13:30:26 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 388866:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611564</commentid>
    <comment_count>3</comment_count>
      <attachid>388866</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 13:31:06 -0800</bug_when>
    <thetext>Comment on attachment 388866
Patch

Clearing flags on attachment: 388866

Committed r255167: &lt;https://trac.webkit.org/changeset/255167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611565</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-27 13:31:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611567</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-27 13:32:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/58931972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612032</commentid>
    <comment_count>6</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-01-28 10:17:51 -0800</bug_when>
    <thetext>The changes in https://trac.webkit.org/changeset/255167/webkit

appear to have broken testing for windows https://build.webkit.org/builders/Apple%20Win%2010%20Release%20%28Tests%29/builds/4754

there are 48+ crashing accessibility/ tests:
https://build.webkit.org/builders/Apple%20Win%2010%20Release%20%28Tests%29/builds/4754/steps/layout-test/logs/stdio

It looks like EWS caught this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612404</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-01-29 05:47:55 -0800</bug_when>
    <thetext>WPE and GTK bots also now crashing in accessibility tests since this landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612455</commentid>
    <comment_count>8</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-01-29 08:07:07 -0800</bug_when>
    <thetext>Looks like the AXObjectCache destructor ends up triggering some code that make the objects being detached trying to access the cache again.

Top of the back trace of the GTK crash from the debug bot:

https://build.webkit.org/results/GTK%20Linux%2064-bit%20Debug%20(Tests)/r255337%20(5852)/accessibility/aria-hidden-negates-no-visibility-crash-log.txt

Thread 1 (Thread 0x7f60ee9899c0 (LWP 42862)):
#0  0x00007f610730f8fc in _ZN3WTF9HashTableIPN7WebCore4NodeENS_12KeyValuePairIS3_jEENS_24KeyValuePairKeyExtractorIS5_EENS_7PtrHashIS3_EENS_7HashMapIS3_jS9_NS_10HashTraitsIS3_EENSB_IjEEE18KeyValuePairTraitsESC_E12inlineLookupINS_24HashMapTranslatorAdapterISF_NS_22IdentityHashTranslatorISF_S9_EEEES3_EEPS5_RKT0_ (this=0x90, key=@0x7ffd201b8500: 0x7f60995fb950) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:652
#1  0x00007f6107308e77 in _ZN3WTF9HashTableIPN7WebCore4NodeENS_12KeyValuePairIS3_jEENS_24KeyValuePairKeyExtractorIS5_EENS_7PtrHashIS3_EENS_7HashMapIS3_jS9_NS_10HashTraitsIS3_EENSB_IjEEE18KeyValuePairTraitsESC_E6lookupINS_24HashMapTranslatorAdapterISF_NS_22IdentityHashTranslatorISF_S9_EEEES3_EEPS5_RKT0_ (this=0x90, key=@0x7ffd201b8500: 0x7f60995fb950) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:642
#2  0x00007f6107301087 in _ZNK3WTF7HashMapIPN7WebCore4NodeEjNS_7PtrHashIS3_EENS_10HashTraitsIS3_EENS6_IjEEE3getINS_22IdentityHashTranslatorINS9_18KeyValuePairTraitsES5_EES3_EEjRKT0_ (this=0x90, value=@0x7ffd201b8500: 0x7f60995fb950) at DerivedSources/ForwardingHeaders/wtf/HashMap.h:321
#3  0x00007f61072f9145 in _ZNK3WTF7HashMapIPN7WebCore4NodeEjNS_7PtrHashIS3_EENS_10HashTraitsIS3_EENS6_IjEEE3getERKS3_ (this=0x90, key=@0x7ffd201b8500: 0x7f60995fb950) at DerivedSources/ForwardingHeaders/wtf/HashMap.h:436
#4  0x00007f61072e3479 in _ZN7WebCore13AXObjectCache3getEPNS_4NodeE (this=0x0, node=0x7f60995fb950) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:472
#5  0x00007f61072e4671 in _ZN7WebCore13AXObjectCache11getOrCreateEPNS_4NodeE (this=0x0, node=0x7f60995fb950) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:649
#6  0x00007f610731feaa in _ZNK7WebCore26AccessibilityListBoxOption12parentObjectEv (this=0x7f607b463600) at ../../Source/WebCore/accessibility/AccessibilityListBoxOption.cpp:168
#7  0x00007f6107336d8a in _ZNK7WebCore19AccessibilityObject17documentFrameViewEv (this=0x7f607b463600) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:1732
#8  0x00007f6107336cb9 in _ZNK7WebCore19AccessibilityObject8documentEv (this=0x7f607b463600) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:1713
#9  0x00007f610733b27d in _ZNK7WebCore19AccessibilityObject13axObjectCacheEv (this=0x7f607b463600) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2625
#10 0x00007f61073731c4 in _ZN7WebCore19AccessibilityObject21detachPlatformWrapperENS_27AccessibilityDetachmentTypeE (this=0x7f607b463600, detachmentType=WebCore::AccessibilityDetachmentType::CacheDestroyed) at ../../Source/WebCore/accessibility/atk/AccessibilityObjectAtk.cpp:40
#11 0x00007f61072f479f in _ZN7WebCore12AXCoreObject13detachWrapperENS_27AccessibilityDetachmentTypeE (this=0x7f607b463600, detachmentType=WebCore::AccessibilityDetachmentType::CacheDestroyed) at ../../Source/WebCore/accessibility/AccessibilityObjectInterface.h:1157
#12 0x00007f61072f4732 in _ZN7WebCore12AXCoreObject6detachENS_27AccessibilityDetachmentTypeE (this=0x7f607b463600, detachmentType=WebCore::AccessibilityDetachmentType::CacheDestroyed) at ../../Source/WebCore/accessibility/AccessibilityObjectInterface.h:1150
#13 0x00007f61072e27df in _ZN7WebCore13AXObjectCacheD2Ev (this=0x7f607ae4e000, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:243
#14 0x00007f610784a6f4 in _ZNKSt14default_deleteIN7WebCore13AXObjectCacheEEclEPS1_ (this=0x7f60a0da62d8, __ptr=0x7f607ae4e000) at /usr/include/c++/8/bits/unique_ptr.h:81
#15 0x00007f610784f3f1 in _ZNSt10unique_ptrIN7WebCore13AXObjectCacheESt14default_deleteIS1_EE5resetEPS1_ (this=0x7f60a0da62d8, __p=0x7f607ae4e000) at /usr/include/c++/8/bits/unique_ptr.h:382
#16 0x00007f610783fa4d in _ZNSt10unique_ptrIN7WebCore13AXObjectCacheESt14default_deleteIS1_EEaSEDn (this=0x7f60a0da62d8) at /usr/include/c++/8/bits/unique_ptr.h:318
#17 0x00007f6107813af9 in _ZN7WebCore8Document18clearAXObjectCacheEv (this=0x7f60a0da5df0) at ../../Source/WebCore/dom/Document.cpp:2691
#18 0x00007f6107812f06 in _ZN7WebCore8Document17destroyRenderTreeEv (this=0x7f60a0da5df0) at ../../Source/WebCore/dom/Document.cpp:2452</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612473</commentid>
    <comment_count>9</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-01-29 08:27:59 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612474</commentid>
    <comment_count>10</comment_count>
      <attachid>389141</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-01-29 08:28:01 -0800</bug_when>
    <thetext>Created attachment 389141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612479</commentid>
    <comment_count>11</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-01-29 08:42:41 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #10)
&gt; Created attachment 389141 [details]
&gt; Patch

With this patch I could not reproduce the error locally. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612523</commentid>
    <comment_count>12</comment_count>
      <attachid>389141</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 10:01:19 -0800</bug_when>
    <thetext>Comment on attachment 389141
Patch

Clearing flags on attachment: 389141

Committed r255364: &lt;https://trac.webkit.org/changeset/255364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612524</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 10:01:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388866</attachid>
            <date>2020-01-27 09:17:06 -0800</date>
            <delta_ts>2020-01-29 08:27:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206828-20200127121704.patch</filename>
            <type>text/plain</type>
            <size>31813</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVjNGVkZDAwYjAxODUx
MGY2ZjVjMDZmMGVkMzZiODhiMzEzZWQ4Yi4uNDM0NzU0OTFiYTRkZmNhZDgzZGYwNjFmYzJiYzRk
ZmJkMDE1ZTNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDIwLTAxLTI3ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBpbiBB
WElzb2xhdGVkT2JqZWN0IGRlc3RydWN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2ODI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgLSBUaGUgcHJldmlvdXMgQVhDb3JlT2JqZWN0OjpkZXRhY2gg
bWV0aG9kIGJlY2FtZSBkZXRhY2hSZW1vdGVQYXJ0cywKKyAgICAgICAgc2luY2UgdGhpcyBtZXRo
b2QgZGV0YWNoZXMgYWxsIHJlZmVyZW5jZXMgdG8gYW5kIGZyb20gb3RoZXIgb2JqZWN0cy4KKyAg
ICAgICAgLSBUaGUgbmV3IEFYQ29yZU9iamVjdDo6ZGV0YWNoIG1ldGhvZCBwZXJmb3JtcyB0aHJl
ZSBkaXN0aW5jdGl2ZQorICAgICAgICBvcGVyYXRpb25zOgorICAgICAgICAxLiBEZXRhY2hlcyB0
aGUgcGxhdGZvcm0gd3JhcHBlci4KKyAgICAgICAgMi4gRGV0YWNoZXMgYWxsIHJlbW90ZSByZWZl
cmVuY2VzIHRvIGFuZCBmcm9tIG90aGVyIG9iamVjdHMuCisgICAgICAgIDMuIFNldHMgdGhlIG9i
amVjdCBJRCB0byBJbnZhbGlkQVhJRC4KKyAgICAgICAgLSBUaGUgZGV0YWNoUGxhdGZvcm1XcmFw
cGVyIG1ldGhvZCBhbGxvd3MgZm9yIHBsYXRmb3JtLXNwZWNpZmljCisgICAgICAgIGN1c3RvbWl6
YXRpb25zLgorICAgICAgICAtIEFkZGVkIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL21hYy9B
WElzb2xhdGVkb2JqZWN0Lm1tLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAg
ICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6On5BWE9iamVjdENhY2hlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6ZGV0YWNoUmVtb3RlUGFydHMpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU5vZGVPYmplY3Q6OmRldGFjaCk6IEJlY2FtZSBkZXRhY2hSZW1vdGVQYXJ0cy4KKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmg6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFJlbW90ZVBhcnRzKToKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaCk6IEJlY2FtZSBkZXRhY2hSZW1vdGVQYXJ0cy4K
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkFYQ29yZU9iamVjdDo6ZGV0YWNoV3JhcHBlcik6CisgICAgICAgIChXZWJDb3Jl
OjpBWENvcmVPYmplY3Q6OmRldGFjaCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmRldGFjaFJlbW90ZVBhcnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGFjaCk6IEJlY2FtZSBkZXRhY2hSZW1vdGVQYXJ0cy4K
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpkZXRhY2hSZW1vdGVQYXJ0cyk6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldzo6ZGV0YWNoKTogQmVj
YW1lIGRldGFjaFJlbW90ZVBhcnRzLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3MvQVhP
YmplY3RDYWNoZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmRldGFj
aFdyYXBwZXIpOiBEZWxldGVkLCBubyBsb25nZXIgdXNlZCBpbiBDT0NPQSBwbGF0Zm9ybXMuCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRmb3JtV3JhcHBl
cik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVj
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hSZW1vdGVQ
YXJ0cyk6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2gpOiBCZWNh
bWUgZGV0YWNoUmVtb3RlUGFydHMuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0
OjpkaXNjb25uZWN0KTogUmVwbGFjZWQgd2l0aCBBWENvcmVPYmplY3Q6OmRldGFjaC4KKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0Lmg6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OnJlbW92ZVRyZWVGb3JQYWdlSUQpOgorICAg
ICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZFRyZWU6OmFwcGx5UGVuZGluZ0NoYW5nZXMpOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL21hYy9BWElzb2xhdGVkT2JqZWN0TWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6ZGV0YWNoUGxhdGZvcm1X
cmFwcGVyKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZGV0YWNoV3JhcHBlcik6IERlbGV0
ZWQsIG5vIGxvbmdlciB1c2VkIGluIENPQ09BIHBsYXRmb3Jtcy4KKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L3dpbi9BY2Nlc3NpYmlsaXR5T2JqZWN0V2luLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisKIDIw
MjAtMDEtMjUgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtDb2NvYV0gTWVkaWEgbWltZSB0eXBlcyBtYXAgc2hvdWxkIGJlIGNyZWF0ZWQgaW4gdGhlIFVJ
IHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggOTkzMzU1ZDNiOGFkMzYwZjAx
YzA1OTEwYWQ2ODAxOWFiZjRjZjdjNy4uYWVjMzIwNjdkM2U2ZjJmNDlkMTkzZTBiMWE2NmJiMDk1
OTExNjBjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTc3LDYgKzc3LDcgQEAgbGlz
dChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJD
T1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9k
dWxlcy93ZWJhdXRobi9hcGR1IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9NZXRhbCIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvbWFjIgogICAgICIke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5L21hYyIKICAgICAiJHtX
RUJDT1JFX0RJUn0vYnJpZGdlL29iamMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L2NyeXB0by9tYWMi
CkBAIC0xNDksNiArMTUwLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBN
b2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAKIAorICAgIGFj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL21hYy9BWElzb2xhdGVkT2JqZWN0TWFjLm1tCiAgICAg
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQogICAgIGFjY2Vzc2liaWxpdHkv
bWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KICAgICBhY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5k
ZXggMTA2NzQwZDM0OWM0MTU2ZGJlZjEzNGVmMTlkNjU0NTc1Y2RmMGM5My4uNGRlNzVkZjhkZjBi
OGY5MGU1YjI1ODE1N2VhZGE0YTY5ZDNiNTkxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBA
IC0zMSw2ICszMSw3IEBAIGFjY2Vzc2liaWxpdHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1Mu
bW0KIGFjY2Vzc2liaWxpdHkvaW9zL0FYT2JqZWN0Q2FjaGVJT1MubW0KIGFjY2Vzc2liaWxpdHkv
aW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCiAKK2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL21hYy9BWElzb2xhdGVkT2JqZWN0TWFjLm1tCiBhY2Nlc3NpYmlsaXR5L21h
Yy9BWE9iamVjdENhY2hlTWFjLm1tCiBhY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0QmFzZS5tbQogYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDY3MmYxY2Y3Y2RjOWI3ZGJiOWE2MDE0MzdjYmQyMWU2NzAxMTMwYWIuLjQ5OGYyNzgwNTc2
MTZkY2JhNGVhNTYxZWUzMTY1NDBhZDhjNDRlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNTE4LDYgKzEzNTE4LDcgQEAK
IAkJQkVGMjlFRTkxNzE1REQwOTAwQzRCNEM5IC8qIEF1ZGlvVHJhY2tQcml2YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvVHJhY2tQcml2YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJFRjI5RUVBMTcxNUREMDkwMEM0QjRDOSAvKiBWaWRlb1Ry
YWNrUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWaWRlb1RyYWNr
UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMDQ2RTFBQjEyMDhBOUZF
MDBCQTJDRjcgLyogTG9jYWxpemVkU3RyaW5ncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMb2NhbGl6ZWRTdHJpbmdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzA3ODM3NjAyM0RGMjUzRTAwQzlDNUM4IC8qIEFYSXNvbGF0ZWRPYmplY3RNYWMu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBBWElzb2xhdGVkT2JqZWN0TWFjLm1tOyBwYXRoID0g
bWFjL0FYSXNvbGF0ZWRPYmplY3RNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMwRjJBNDNGMTM4NjlBMjgwMDY2QzUzNCAvKiBwcmVwcm9jZXNzb3IucG0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBu
YW1lID0gcHJlcHJvY2Vzc29yLnBtOyBwYXRoID0gc2NyaXB0cy9wcmVwcm9jZXNzb3IucG07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxMDVEQTYxMEYzQUE2OEYwMDFERDQ0RiAvKiBU
ZXh0RW5jb2RpbmdEZXRlY3RvcklDVS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUZXh0RW5jb2RpbmdEZXRlY3RvcklDVS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUMxMDVEQTYzMEYzQUE2QjgwMDFERDQ0RiAvKiBUZXh0RW5jb2RpbmdEZXRlY3Rv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0RW5jb2RpbmdEZXRlY3Rv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc4MzcsNiArMTc4MzgsNyBAQAog
CQkyOUFFMjEyOTIxQUI5RUNCMDA4NjkyODMgLyogaXNvbGF0ZWR0cmVlICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDMDc4Mzc1RjIzREYyNDYyMDBDOUM1
QzggLyogbWFjICovLAogCQkJCTI5QUUyMTM0MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVk
T2JqZWN0LmNwcCAqLywKIAkJCQkyOUFFMjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRl
ZE9iamVjdC5oICovLAogCQkJCTI5QUUyMTJDMjFBQjlFRUIwMDg2OTI4MyAvKiBBWElzb2xhdGVk
VHJlZS5jcHAgKi8sCkBAIC0yNjEzNCw2ICsyNjEzNiwxNCBAQAogCQkJdGFiV2lkdGggPSA0Owog
CQkJdXNlc1RhYnMgPSAwOwogCQl9OworCQlDMDc4Mzc1RjIzREYyNDYyMDBDOUM1QzggLyogbWFj
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDMDc4Mzc2
MDIzREYyNTNFMDBDOUM1QzggLyogQVhJc29sYXRlZE9iamVjdE1hYy5tbSAqLywKKwkJCSk7CisJ
CQluYW1lID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJQzIxMEU5
MEQyMUI0QkNBNDAwQjdGODNEIC8qIFdITFNMICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCmluZGV4IGM3NDZiYzEzMWZkNGMwNDY5ZGY5NDFmMzJkYTE2Yjg3MmM1NDMzNWIu
LjM3ZGRkYzYxMjVmNWFjM2ZiMzdmMjlkY2YwY2ExMTQ4ZTYxZjFhNDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMjM5LDExICsyMzks
OCBAQCBBWE9iamVjdENhY2hlOjp+QVhPYmplY3RDYWNoZSgpCiAgICAgICAgIEFYSXNvbGF0ZWRU
cmVlOjpyZW1vdmVUcmVlRm9yUGFnZUlEKCptX3BhZ2VJRCk7CiAjZW5kaWYKIAotICAgIGZvciAo
Y29uc3QgYXV0byYgb2JqZWN0IDogbV9vYmplY3RzLnZhbHVlcygpKSB7Ci0gICAgICAgIGRldGFj
aFdyYXBwZXIob2JqZWN0LmdldCgpLCBBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGU6OkNhY2hl
RGVzdHJveWVkKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIG9iamVjdCA6IG1fb2JqZWN0cy52YWx1
ZXMoKSkKICAgICAgICAgb2JqZWN0LT5kZXRhY2goQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBl
OjpDYWNoZURlc3Ryb3llZCk7Ci0gICAgICAgIG9iamVjdC0+c2V0T2JqZWN0SUQoMCk7Ci0gICAg
fQogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZpbmRNb2RhbE5vZGVzKCkKQEAgLTg1Myw5ICs4
NTAsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnJlbW92ZShBWElEIGF4SUQpCiAgICAgaWYgKCFv
YmplY3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRldGFjaFdyYXBwZXIob2JqZWN0LmdldCgp
LCBBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGU6OkVsZW1lbnREZXN0cm95ZWQpOwotICAgIG9i
amVjdC0+ZGV0YWNoKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZTo6RWxlbWVudERlc3Ryb3ll
ZCwgdGhpcyk7Ci0gICAgb2JqZWN0LT5zZXRPYmplY3RJRCgwKTsKKyAgICBvYmplY3QtPmRldGFj
aChBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGU6OkVsZW1lbnREZXN0cm95ZWQpOwogCiAgICAg
bV9pZHNJblVzZS5yZW1vdmUoYXhJRCk7CiAgICAgQVNTRVJUKG1fb2JqZWN0cy5zaXplKCkgPj0g
bV9pZHNJblVzZS5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuaAppbmRleCAyMTM5NDA2ODBmOGUzNDJmN2UyNzZlMTQ2MzZkNjk2M2UxOWY1Yzll
Li41OTBkZTUyZGEyMmI1MTJmN2JmYTIwYTViMDkzMWY2NmY0OTA2MjY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMTcxLDcgKzE3MSw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZShXaWRnZXQqKTsKICAgICB2b2lkIHJlbW92ZShBWElE
KTsKIAorI2lmICFQTEFURk9STShDT0NPQSkKICAgICB2b2lkIGRldGFjaFdyYXBwZXIoQVhDb3Jl
T2JqZWN0KiwgQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlKTsKKyNlbmRpZgogcHJpdmF0ZToK
ICAgICB1c2luZyBET01PYmplY3RWYXJpYW50ID0gVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgUmVu
ZGVyT2JqZWN0KiwgTm9kZSosIFdpZGdldCo+OwogICAgIHZvaWQgY2FjaGVBbmRJbml0aWFsaXpl
V3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgRE9NT2JqZWN0VmFyaWFudCA9IG51bGxwdHIp
OwpAQCAtNTU1LDcgKzU1Nyw5IEBAIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRlZmVyUmVj
b21wdXRlSXNJZ25vcmVkKEVsZW1lbnQqKSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmRlZmVyVGV4dENoYW5nZWRJZk5lZWRlZChOb2RlKikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVj
dENhY2hlOjpkZWZlclNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkSWZOZWVkZWQoRWxlbWVudCYpIHsg
fQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6ZGVmZXJUZXh0UmVwbGFjZW1lbnROb3RpZmlj
YXRpb25Gb3JUZXh0Q29udHJvbChIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCYsIGNvbnN0IFN0
cmluZyYpIHsgfQorI2lmICFQTEFURk9STShDT0NPQSkKIGlubGluZSB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmRldGFjaFdyYXBwZXIoQVhDb3JlT2JqZWN0KiwgQWNjZXNzaWJpbGl0eURldGFjaG1lbnRU
eXBlKSB7IH0KKyNlbmRpZgogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6Zm9jdXNNb2RhbE5v
ZGVUaW1lckZpcmVkKCkgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwZXJmb3JtQ2Fj
aGVVcGRhdGVUaW1lckZpcmVkKCkgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpmcmFt
ZUxvYWRpbmdFdmVudE5vdGlmaWNhdGlvbihGcmFtZSosIEFYTG9hZGluZ0V2ZW50KSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHAKaW5kZXggNGRjNzNlYzYyYWMyYmZhMTE5MGNlYTVjMTIwYjA1OTc3ZTE0NTEw
OS4uMjA5ZWI4ZTY1OGUwYjczNDE4ZWMyY2QwMGNkODBhNDE2ZmEyOTMzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5jcHAKQEAgLTEwNiwxMCArMTA2LDEwIEBAIFJlZjxBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdD4g
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNyZWF0ZShOb2RlKiBub2RlKQogICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0KG5vZGUpKTsKIH0KIAotdm9pZCBB
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZGV0YWNoKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlw
ZSBkZXRhY2htZW50VHlwZSwgQVhPYmplY3RDYWNoZSogY2FjaGUpCit2b2lkIEFjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0OjpkZXRhY2hSZW1vdGVQYXJ0cyhBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5
cGUgZGV0YWNobWVudFR5cGUpCiB7CiAgICAgLy8gQWNjZXNzaWJpbGl0eU9iamVjdCBjYWxscyBj
bGVhckNoaWxkcmVuLgotICAgIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaChkZXRhY2htZW50
VHlwZSwgY2FjaGUpOworICAgIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFJlbW90ZVBhcnRz
KGRldGFjaG1lbnRUeXBlKTsKICAgICBtX25vZGUgPSBudWxscHRyOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgK
aW5kZXggMzgwZDk5N2E1NDE0N2VjMjk4NjJlY2MxNGZmMzA0YmJlOWFlMWI2My4uMzQ3MDJjMTUw
MTg5OTQ4YWNjOWNmYzE0ZGY4MWI0MTEzYjZlZDY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaApAQCAtMTMyLDcg
KzEzMiw2IEBAIHB1YmxpYzoKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRPYmplY3Qo
KSBjb25zdCBvdmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRPYmplY3RJ
ZkV4aXN0cygpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBkZXRhY2goQWNjZXNzaWJpbGl0
eURldGFjaG1lbnRUeXBlLCBBWE9iamVjdENhY2hlKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjaGls
ZHJlbkNoYW5nZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZUFjY2Vzc2liaWxpdHlSb2xl
KCkgb3ZlcnJpZGU7CiAKQEAgLTE0Myw2ICsxNDIsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoK
ICAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdChOb2RlKik7CisgICAgdm9pZCBk
ZXRhY2hSZW1vdGVQYXJ0cyhBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUpIG92ZXJyaWRlOwog
CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgbV9hcmlhUm9sZSB7IEFjY2Vzc2liaWxpdHlSb2xlOjpV
bmtub3duIH07CiAgICAgbXV0YWJsZSBBY2Nlc3NpYmlsaXR5Um9sZSBtX3JvbGVGb3JNU0FBIHsg
QWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd24gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGQ4MDMwNDQ5ODJlNmEz
ZDRiZWU2MGFiNTA4NzdjNjkwYzlhZTdiMzUuLmQyYjYxZmYwMzQ2Njc0NjE0NDRjMzcwMzFjNWYz
MTI1MjYzNjQyZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtOTYsMTkgKzk2LDE3IEBAIEFjY2Vzc2liaWxpdHlP
YmplY3Q6On5BY2Nlc3NpYmlsaXR5T2JqZWN0KCkKICAgICBBU1NFUlQoaXNEZXRhY2hlZCgpKTsK
IH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZXRhY2goQWNjZXNzaWJpbGl0eURldGFj
aG1lbnRUeXBlIGRldGFjaG1lbnRUeXBlLCBBWE9iamVjdENhY2hlKiBjYWNoZSkKK3ZvaWQgQWNj
ZXNzaWJpbGl0eU9iamVjdDo6ZGV0YWNoUmVtb3RlUGFydHMoQWNjZXNzaWJpbGl0eURldGFjaG1l
bnRUeXBlIGRldGFjaG1lbnRUeXBlKQogewogICAgIC8vIE1lbnUgY2xvc2UgZXZlbnRzIG5lZWQg
dG8gbm90aWZ5IHRoZSBwbGF0Zm9ybS4gTm8gZWxlbWVudCBpcyB1c2VkIGluIHRoZSBub3RpZmlj
YXRpb24gYmVjYXVzZSBpdCdzIGEgZGVzdHJ1Y3Rpb24gZXZlbnQuCi0gICAgaWYgKGRldGFjaG1l
bnRUeXBlID09IEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZTo6RWxlbWVudERlc3Ryb3llZCAm
JiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TWVudSAmJiBjYWNoZSkKLSAgICAg
ICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24obnVsbHB0ciwgJmNhY2hlLT5kb2N1bWVudCgpLCBB
WE9iamVjdENhY2hlOjpBWE1lbnVDbG9zZWQpOwotICAgIAorICAgIGlmIChkZXRhY2htZW50VHlw
ZSA9PSBBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGU6OkVsZW1lbnREZXN0cm95ZWQgJiYgcm9s
ZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Ok1lbnUpIHsKKyAgICAgICAgaWYgKGF1dG8q
IGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKQorICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmlj
YXRpb24obnVsbHB0ciwgJmNhY2hlLT5kb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWE1lbnVD
bG9zZWQpOworICAgIH0KKwogICAgIC8vIENsZWFyIGFueSBjaGlsZHJlbiBhbmQgY2FsbCBkZXRh
Y2hGcm9tUGFyZW50IG9uIHRoZW0gc28gdGhhdAogICAgIC8vIG5vIGNoaWxkcmVuIGFyZSBsZWZ0
IHdpdGggZGFuZ2xpbmcgcG9pbnRlcnMgdG8gdGhlaXIgcGFyZW50LgogICAgIGNsZWFyQ2hpbGRy
ZW4oKTsKLQotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQotICAgIHNldFdyYXBwZXIobnVsbHB0
cik7Ci0jZW5kaWYKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0RldGFjaGVkKCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKaW5kZXggZjQzY2RmNzAwOTM5NTczZjU4ODc0NTY0ODE2YmEwZmI4ZDI5M2I5OS4u
ZjI0NjNlODEzZDcwODEzNWZmZTc4NmZjOTUwZDI5NmExZWI3ZWVjYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTk2LDkg
Kzk2LDYgQEAgc3RydWN0IEFjY2Vzc2liaWxpdHlUZXh0IHsKIGJvb2wgbm9kZUhhc1ByZXNlbnRh
dGlvblJvbGUoTm9kZSopOwogCiBjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0IDogcHVibGljIEFY
Q29yZU9iamVjdCB7Ci1wcm90ZWN0ZWQ6Ci0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCgpID0gZGVm
YXVsdDsKLQogcHVibGljOgogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlPYmplY3QoKTsKIApA
QCAtMTA4LDkgKzEwNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE9iamVjdElEKEFYSUQgaWQp
IG92ZXJyaWRlIHsgbV9pZCA9IGlkOyB9CiAgICAgdm9pZCBpbml0KCkgb3ZlcnJpZGUgeyB9CiAK
LSAgICAvLyBXaGVuIHRoZSBjb3JyZXNwb25kaW5nIFdlYkNvcmUgb2JqZWN0IHRoYXQgdGhpcyBB
Y2Nlc3NpYmlsaXR5T2JqZWN0Ci0gICAgLy8gd3JhcHMgaXMgZGVsZXRlZCwgaXQgbXVzdCBiZSBk
ZXRhY2hlZC4KLSAgICB2b2lkIGRldGFjaChBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUsIEFY
T2JqZWN0Q2FjaGUqID0gbnVsbHB0cikgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc0RldGFjaGVkKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICBib29sIGlzQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQpAQCAtNzM2LDYgKzczMCwxMCBAQCBwdWJs
aWM6CiAgICAgU3RyaW5nIGRvY3VtZW50RW5jb2RpbmcoKSBjb25zdCBvdmVycmlkZTsKIAogcHJv
dGVjdGVkOgorICAgIEFjY2Vzc2liaWxpdHlPYmplY3QoKSA9IGRlZmF1bHQ7CisgICAgdm9pZCBk
ZXRhY2hSZW1vdGVQYXJ0cyhBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUpIG92ZXJyaWRlOwor
ICAgIHZvaWQgZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlw
ZSkgb3ZlcnJpZGU7CisKICAgICBBWElEIG1faWQgeyAwIH07CiAgICAgQWNjZXNzaWJpbGl0eUNo
aWxkcmVuVmVjdG9yIG1fY2hpbGRyZW47CiAgICAgbXV0YWJsZSBib29sIG1faGF2ZUNoaWxkcmVu
IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKaW5kZXggMmQyMzFiYmI1NDc1ZmM0M2U1
YjcxNmJhZDMyMjhiMzc0NWNkMTVhNS4uNDRkMjk1ZDdjOWM0MzU4ZTk1YjViM2FlZTM4ZThjYTYz
MjI1NzhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTQ3Nyw3ICs0NzcsNyBAQCBwdWJs
aWM6CiAKICAgICAvLyBXaGVuIHRoZSBjb3JyZXNwb25kaW5nIFdlYkNvcmUgb2JqZWN0IHRoYXQg
dGhpcyBhY2Nlc3NpYmxlIG9iamVjdAogICAgIC8vIHJlcHJlc2VudHMgaXMgZGVsZXRlZCwgaXQg
bXVzdCBiZSBkZXRhY2hlZC4KLSAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKEFjY2Vzc2liaWxpdHlE
ZXRhY2htZW50VHlwZSwgQVhPYmplY3RDYWNoZSogPSBudWxscHRyKSA9IDA7CisgICAgdm9pZCBk
ZXRhY2goQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNE
ZXRhY2hlZCgpIGNvbnN0ID0gMDsKIAogICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxBWENvcmVP
YmplY3Q+PiBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3I7CkBAIC0xMDc4LDkgKzEwNzgsMTEg
QEAgcHVibGljOgogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQogICAgIEFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyKiB3cmFwcGVyKCkgY29uc3QgeyByZXR1cm4gbV93cmFwcGVyLmdldCgpOyB9
CiAgICAgdm9pZCBzZXRXcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVy
KSB7IG1fd3JhcHBlciA9IHdyYXBwZXI7IH0KKyAgICB2b2lkIGRldGFjaFdyYXBwZXIoQWNjZXNz
aWJpbGl0eURldGFjaG1lbnRUeXBlKTsKICNlbHNlCiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIqIHdyYXBwZXIoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAgICAgdm9pZCBzZXRX
cmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKikgeyB9CisgICAgdm9pZCBkZXRhY2hX
cmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSkgeyB9CiAjZW5kaWYKIAogICAgIHZp
cnR1YWwgdm9pZCBvdmVycmlkZUF0dGFjaG1lbnRQYXJlbnQoQVhDb3JlT2JqZWN0KiBwYXJlbnQp
ID0gMDsKQEAgLTExMjksNyArMTEzMSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB1aW50NjRf
dCBzZXNzaW9uSUQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgZG9jdW1lbnRVUkko
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0
ID0gMDsKLXByb3RlY3RlZDoKK3ByaXZhdGU6CisgICAgLy8gRGV0YWNoZXMgdGhpcyBvYmplY3Qg
ZnJvbSB0aGUgb2JqZWN0cyBpdCByZWZlcmVuY2VzIGFuZCBpdCBpcyByZWZlcmVuY2VkIGJ5Lgor
ICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hSZW1vdGVQYXJ0cyhBY2Nlc3NpYmlsaXR5RGV0YWNobWVu
dFR5cGUpID0gMDsKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJldGFpblB0cjxXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gbV93cmFwcGVyOwogI2VsaWYgUExBVEZPUk0oV0lOKQpA
QCAtMTEzNyw4ICsxMTQyLDIyIEBAIHByb3RlY3RlZDoKICNlbGlmIFVTRShBVEspCiAgICAgR1Jl
ZlB0cjxXZWJLaXRBY2Nlc3NpYmxlPiBtX3dyYXBwZXI7CiAjZW5kaWYKKyAgICB2aXJ0dWFsIHZv
aWQgZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSkgPSAw
OwogfTsKIAoraW5saW5lIHZvaWQgQVhDb3JlT2JqZWN0OjpkZXRhY2goQWNjZXNzaWJpbGl0eURl
dGFjaG1lbnRUeXBlIGRldGFjaG1lbnRUeXBlKQoreworICAgIGRldGFjaFdyYXBwZXIoZGV0YWNo
bWVudFR5cGUpOworICAgIGRldGFjaFJlbW90ZVBhcnRzKGRldGFjaG1lbnRUeXBlKTsKKyAgICBz
ZXRPYmplY3RJRChJbnZhbGlkQVhJRCk7Cit9CisKK2lubGluZSB2b2lkIEFYQ29yZU9iamVjdDo6
ZGV0YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUp
Cit7CisgICAgZGV0YWNoUGxhdGZvcm1XcmFwcGVyKGRldGFjaG1lbnRUeXBlKTsKKyAgICBtX3dy
YXBwZXIgPSBudWxscHRyOworfQorCiBuYW1lc3BhY2UgQWNjZXNzaWJpbGl0eSB7CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEY+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA1MTQ3
ODhhM2EyOGM0YWVjYzQ2N2YyMDI5NDc2MTc1ODhhODllMWU4Li45MDM0ZDY5MzgwOGYzMmRlNWQ2
MjE4MTc3YWZkOTJjZTVlOTY0NmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEzMyw5ICsx
MzMsOSBAQCBSZWY8QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdD4gQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6Y3JlYXRlKFJlbmRlck9iamVjdCogcgogICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QocmVuZGVyZXIpKTsKIH0KIAotdm9pZCBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjpkZXRhY2goQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlIGRl
dGFjaG1lbnRUeXBlLCBBWE9iamVjdENhY2hlKiBjYWNoZSkKK3ZvaWQgQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6ZGV0YWNoUmVtb3RlUGFydHMoQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBl
IGRldGFjaG1lbnRUeXBlKQogewotICAgIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpkZXRhY2go
ZGV0YWNobWVudFR5cGUsIGNhY2hlKTsKKyAgICBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZGV0
YWNoUmVtb3RlUGFydHMoZGV0YWNobWVudFR5cGUpOwogICAgIAogICAgIGRldGFjaFJlbW90ZVNW
R1Jvb3QoKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKaW5kZXggM2YzNDY3ODNlNDhhOTVkODNiOWQz
M2UxMGRjZjNiOWQ1MGI4OWNiMC4uYjIwMjg0OTgxOGI3M2Y5MWE1MGFiNWMzZjE0NjRlMmNlODY0
M2I2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKQEAgLTE0OSw4ICsxNDksNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFNlbGVj
dGVkUm93cyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKSBvdmVycmlkZTsKICAgICBBY2Nl
c3NpYmlsaXR5T3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdCBvdmVycmlkZTsKLSAgICAK
LSAgICB2b2lkIGRldGFjaChBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUsIEFYT2JqZWN0Q2Fj
aGUqKSBvdmVycmlkZTsKKwogICAgIHZvaWQgdGV4dENoYW5nZWQoKSBvdmVycmlkZTsKICAgICB2
b2lkIGFkZENoaWxkcmVuKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBj
b25zdCBvdmVycmlkZTsKQEAgLTIwMyw2ICsyMDIsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoK
ICAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KFJlbmRlck9iamVjdCopOwor
ICAgIHZvaWQgZGV0YWNoUmVtb3RlUGFydHMoQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlKSBv
dmVycmlkZTsKICAgICBTY3JvbGxhYmxlQXJlYSogZ2V0U2Nyb2xsYWJsZUFyZWFJZlNjcm9sbGFi
bGUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbFRvKGNvbnN0IEludFBvaW50Jikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuY3BwCmluZGV4IGQxMTZlZGRmZDdlNjkx
MGJhOTYzOWNmNmNmNWIxYmEyMmJlNGQ4ZmMuLmFjZTAxMTNiNmY5ZGQyYzliMzczZWVjY2QxZjQ5
ZGEzZmYwYmZmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNjcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuY3BwCkBAIC00OCw5ICs0OCw5IEBAIEFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3Ojp+QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcoKQogICAgIEFTU0VSVChp
c0RldGFjaGVkKCkpOwogfQogCi12b2lkIEFjY2Vzc2liaWxpdHlTY3JvbGxWaWV3OjpkZXRhY2go
QWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlIGRldGFjaG1lbnRUeXBlLCBBWE9iamVjdENhY2hl
KiBjYWNoZSkKK3ZvaWQgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXc6OmRldGFjaFJlbW90ZVBhcnRz
KEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2htZW50VHlwZSkKIHsKLSAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpkZXRhY2goZGV0YWNobWVudFR5cGUsIGNhY2hlKTsKKyAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpkZXRhY2hSZW1vdGVQYXJ0cyhkZXRhY2htZW50VHlwZSk7CiAgICAg
bV9zY3JvbGxWaWV3ID0gbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldy5oCmluZGV4IDliZmFmMTU1YWRi
MjMyYTU2NjNmNThjYjA4YzEyYzEzM2UyYzM1MWMuLjM5YjNmYWFiNTExYWMxYTNiZWU2MzZlMmEy
NWE0OWMxMjlhNTAzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmgKQEAgLTQwLDEzICs0MCwxMyBAQCBwdWJsaWM6
CiAgICAgU2Nyb2xsVmlldyogc2Nyb2xsVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsVmll
dzsgfQogCiAgICAgdmlydHVhbCB+QWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcoKTsKLSAgICB2b2lk
IGRldGFjaChBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUsIEFYT2JqZWN0Q2FjaGUqKSBvdmVy
cmlkZTsKIAogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHdlYkFyZWFPYmplY3QoKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmlldyhTY3JvbGxW
aWV3Kik7Ci0gICAgCisgICAgdm9pZCBkZXRhY2hSZW1vdGVQYXJ0cyhBY2Nlc3NpYmlsaXR5RGV0
YWNobWVudFR5cGUpIG92ZXJyaWRlOworCiAgICAgU2Nyb2xsYWJsZUFyZWEqIGdldFNjcm9sbGFi
bGVBcmVhSWZTY3JvbGxhYmxlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxUbyhj
b25zdCBJbnRQb2ludCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgY29tcHV0ZUFjY2Vzc2li
aWxpdHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKaW5k
ZXggMjY0MGM2OTM1NjVjN2U3ZjRmZjc4MzkyYTYyNzBiZDY5OTdkZWM5NS4uY2JjNDk2MDRjMGYy
MGRmZDg5ZTZkMDk0OWUyMjA5ZTZlYWRmNjdiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKQEAg
LTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5T2JqZWN0LmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiSFRN
TFNwYW5FbGVtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5k
ZXJJbmxpbmUuaCIKQEAgLTM0LDYgKzM1LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
dm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdyYXBwZXIoQWNjZXNzaWJp
bGl0eURldGFjaG1lbnRUeXBlIGRldGFjaG1lbnRUeXBlKQoreworICAgIGlmIChhdXRvKiBjYWNo
ZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgY2FjaGUtPmRldGFjaFdyYXBwZXIodGhpcywg
ZGV0YWNobWVudFR5cGUpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2li
aWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BWE9iamVjdENhY2hlSU9T
Lm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQVhPYmplY3RDYWNoZUlPUy5t
bQppbmRleCBmMTFiZmE4ZTBmYWY5OTg1N2ZjMWFlODE2YjY2N2FhZWUxNTQ1YmU1Li5jYzMzYTJi
Y2UyZWQ0NDc0NjYyMzViMjk5MTRjNDhmNzk5YzIyODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BWE9iamVjdENhY2hlSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FYT2JqZWN0Q2FjaGVJT1MubW0KQEAgLTM2LDEyICsz
Niw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLXZvaWQgQVhPYmplY3RDYWNoZTo6
ZGV0YWNoV3JhcHBlcihBWENvcmVPYmplY3QqIG9iaiwgQWNjZXNzaWJpbGl0eURldGFjaG1lbnRU
eXBlKQotewotICAgIFtvYmotPndyYXBwZXIoKSBkZXRhY2hdOwotICAgIG9iai0+c2V0V3JhcHBl
cihudWxscHRyKTsKLX0KLQogdm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFYQ29y
ZU9iamVjdCogb2JqKQogewogICAgIFJldGFpblB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cj4gd3JhcHBlciA9IGFkb3B0TlMoW1tXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhbGxv
Y10gaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0Om9ial0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW0K
aW5kZXggN2UwNWFjZmZmYzlhZWE3ZmQyNGFmNjQ5ZDk3YTdkNDhhNjkyZGE3ZC4uMDliMzUzNDQ3
MzdhZGUyYmFmZGQ1MmE5MTllNTMzMTZlZGQ2MTc2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCkBA
IC0zNyw2ICszNywxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCit2b2lkIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRmb3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNo
bWVudFR5cGUpCit7CisgICAgW3dyYXBwZXIoKSBkZXRhY2hdOworfQorCiB2b2lkIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OmRldGFjaEZyb21QYXJlbnQoKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmNwcAppbmRleCAyYTlmMzY2ZjEzZjYzMDc1ODk5M2MwNDUxMzYwY2VhZTNlNjYzZjc4Li5m
ZDg2MTYyY2IzMzgzNDk0ZjY3ZTZjNDhiYWE1OWUxODNiMWY5N2E2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmNwcApAQCAtNDA3LDkgKzQwNyw5IEBAIHZvaWQgQVhJc29sYXRlZE9iamVjdDo6
c2V0UGFyZW50KEFYSUQgcGFyZW50KQogICAgIG1fcGFyZW50ID0gcGFyZW50OwogfQogCi12b2lk
IEFYSXNvbGF0ZWRPYmplY3Q6OmRldGFjaChBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUsIEFY
T2JqZWN0Q2FjaGUqKQordm9pZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hSZW1vdGVQYXJ0cyhB
Y2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCiB7Ci0gICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkgPyBkZXRhY2htZW50
VHlwZSA9PSBBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGU6OkNhY2hlRGVzdHJveWVkIDogZGV0
YWNobWVudFR5cGUgIT0gQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlOjpDYWNoZURlc3Ryb3ll
ZCk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBjaGlsZElEIDogbV9jaGlsZHJlbklEcykKICAgICAg
ICAgdHJlZSgpLT5ub2RlRm9ySUQoY2hpbGRJRCktPmRldGFjaEZyb21QYXJlbnQoKTsKIApAQCAt
NDI3LDE0ICs0MjcsNiBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmRldGFjaEZyb21QYXJlbnQo
KQogICAgIG1fcGFyZW50ID0gSW52YWxpZEFYSUQ7CiB9CiAKLXZvaWQgQVhJc29sYXRlZE9iamVj
dDo6ZGlzY29ubmVjdCgpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICB0cmVl
KCktPmF4T2JqZWN0Q2FjaGUoKS0+ZGV0YWNoV3JhcHBlcih0aGlzLCBBY2Nlc3NpYmlsaXR5RGV0
YWNobWVudFR5cGU6OkVsZW1lbnREZXN0cm95ZWQpOwotICAgIGRldGFjaChBY2Nlc3NpYmlsaXR5
RGV0YWNobWVudFR5cGU6OkVsZW1lbnREZXN0cm95ZWQpOwotICAgIHNldE9iamVjdElEKEludmFs
aWRBWElEKTsKLX0KLQogdm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRUcmVlSWRlbnRpZmllcihB
WElzb2xhdGVkVHJlZUlEIHRyZWVJZGVudGlmaWVyKQogewogICAgIG1fdHJlZUlkZW50aWZpZXIg
PSB0cmVlSWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAppbmRleCBmODliMWU4OWFk
YjY5Njg3NmIyZmY5NzA1YTA0MmE2ZjQ1YWNhZTc4Li42ZTUwZGY3M2E0NTgwYzk1ZmNiY2Q0NmRk
NzhiYzczN2Q0YzZkNWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oCkBAIC01NCwxNSArNTQs
MTUgQEAgcHVibGljOgogICAgIEFYSUQgb2JqZWN0SUQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2lkOyB9CiAgICAgdm9pZCBpbml0KCkgb3ZlcnJpZGUgeyB9CiAKLSAgICB2b2lkIGRldGFj
aChBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUsIEFYT2JqZWN0Q2FjaGUqID0gbnVsbHB0cikg
b3ZlcnJpZGU7CiAgICAgYm9vbCBpc0RldGFjaGVkKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBkaXNjb25uZWN0KCk7CiAKICAgICB2b2lkIHNldFRyZWVJZGVudGlmaWVyKEFYSXNvbGF0ZWRU
cmVlSUQpOwogICAgIHZvaWQgc2V0UGFyZW50KEFYSUQpOwogICAgIHZvaWQgYXBwZW5kQ2hpbGQo
QVhJRCk7CiAKIHByaXZhdGU6CisgICAgdm9pZCBkZXRhY2hSZW1vdGVQYXJ0cyhBY2Nlc3NpYmls
aXR5RGV0YWNobWVudFR5cGUpIG92ZXJyaWRlOworICAgIHZvaWQgZGV0YWNoUGxhdGZvcm1XcmFw
cGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSkgb3ZlcnJpZGU7CiAKICAgICBBWElEIHBh
cmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJl
ZS5jcHAKaW5kZXggZjI4YTQxYmI5MGRlYWU5YWRjMGRjZjcyYTBjZGVkZjM3MDk1NWE1NS4uNThl
OTM4N2Q3MDY0OWFiZjg1MTUxYWJhMmJjZTY2NjQ0MDdiMWExYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRU
cmVlLmNwcApAQCAtOTcsNyArOTcsNyBAQCB2b2lkIEFYSXNvbGF0ZWRUcmVlOjpyZW1vdmVUcmVl
Rm9yUGFnZUlEKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCkKICAgICAgICAgTG9ja0hvbGRlciB0cmVl
TG9ja2VyIHsgdHJlZS0+bV9jaGFuZ2VMb2dMb2NrIH07CiAgICAgICAgIGZvciAoY29uc3QgYXV0
byYgYXhJRCA6IHRyZWUtPm1fcmVhZGVyVGhyZWFkTm9kZU1hcC5rZXlzKCkpIHsKICAgICAgICAg
ICAgIGlmIChhdXRvIG9iamVjdCA9IHRyZWUtPm5vZGVGb3JJRChheElEKSkKLSAgICAgICAgICAg
ICAgICBvYmplY3QtPmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgICAgICAgICBvYmplY3QtPmRldGFj
aChBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGU6OkNhY2hlRGVzdHJveWVkKTsKICAgICAgICAg
fQogICAgICAgICB0cmVlLT5tX3JlYWRlclRocmVhZE5vZGVNYXAuY2xlYXIoKTsKICAgICAgICAg
dHJlZUxvY2tlci51bmxvY2tFYXJseSgpOwpAQCAtMTY0LDIxICsxNjQsMTcgQEAgdm9pZCBBWElz
b2xhdGVkVHJlZTo6YXBwbHlQZW5kaW5nQ2hhbmdlcygpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQo
IWlzTWFpblRocmVhZCgpKTsKICAgICBMb2NrSG9sZGVyIGxvY2tlciB7IG1fY2hhbmdlTG9nTG9j
ayB9OwotICAgIFZlY3RvcjxSZWY8QVhJc29sYXRlZE9iamVjdD4+IGFwcGVuZENvcHk7Ci0gICAg
c3RkOjpzd2FwKGFwcGVuZENvcHksIG1fcGVuZGluZ0FwcGVuZHMpOwotICAgIFZlY3RvcjxBWElE
PiByZW1vdmVDb3B5KHsgV1RGTW92ZShtX3BlbmRpbmdSZW1vdmFscykgfSk7Ci0gICAgbG9ja2Vy
LnVubG9ja0Vhcmx5KCk7CiAKICAgICAvLyBXZSBkb24ndCBjbGVhciB0aGUgcGVuZGluZyBJRHMg
YmVhY2F1c2UgaWYgdGhlIG5leHQgcm91bmQgb2YgdXBkYXRlcyBkb2VzIG5vdCBtb2RpZnkgdGhl
bSwgdGhlbiB0aGV5IHN0YXkgdGhlIHNhbWUKICAgICAvLyB2YWx1ZSB3aXRob3V0IGV4dHJhIGJv
b2trZWVwaW5nLgogICAgIG1fZm9jdXNlZE5vZGVJRCA9IG1fcGVuZGluZ0ZvY3VzZWROb2RlSUQ7
CiAKLSAgICBmb3IgKGF1dG8mIGl0ZW0gOiBhcHBlbmRDb3B5KQorICAgIGZvciAoYXV0byYgaXRl
bSA6IG1fcGVuZGluZ0FwcGVuZHMpCiAgICAgICAgIG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5hZGQo
aXRlbS0+b2JqZWN0SUQoKSwgV1RGTW92ZShpdGVtKSk7CiAKLSAgICBmb3IgKGF1dG8gaXRlbSA6
IHJlbW92ZUNvcHkpIHsKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBtX3BlbmRpbmdSZW1vdmFscykg
ewogICAgICAgICBpZiAoYXV0byBvYmplY3QgPSBub2RlRm9ySUQoaXRlbSkpCi0gICAgICAgICAg
ICBvYmplY3QtPmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgICAgIG9iamVjdC0+ZGV0YWNoKEFjY2Vz
c2liaWxpdHlEZXRhY2htZW50VHlwZTo6RWxlbWVudERlc3Ryb3llZCk7CiAgICAgICAgIG1fcmVh
ZGVyVGhyZWFkTm9kZU1hcC5yZW1vdmUoaXRlbSk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvbWFjL0FYSXNvbGF0ZWRPYmpl
Y3RNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9tYWMv
QVhJc29sYXRlZE9iamVjdE1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWVjMjg4Yjk5MTNjNWYzNTZlYmMw
NTI3ODA1ZmFkZTE5ZGQ0Mjg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvbWFjL0FYSXNvbGF0ZWRPYmplY3RNYWMubW0KQEAgLTAs
MCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiQVhJc29sYXRlZE9iamVjdC5oIgorCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgUExBVEZPUk0oTUFDKQorCisj
aW1wb3J0ICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3ZvaWQgQVhJc29sYXRlZE9iamVjdDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVy
KEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSkKK3sKKyAgICBbd3JhcHBlcigpIGRldGFjaF07
Cit9CisKK30gLy8gV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkgJiYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KaW5kZXggNDJjNjQ3OWNkNjI5NWNk
OTljYjFmMWU0NjE4MzIzYjRjMDY0YTc4ZS4uYWExZjhmNGMyNGU2MTY3MzBkNzcwOTVkZjFlNzA2
N2Y2M2Y4NjY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QVhPYmplY3RDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9BWE9iamVjdENhY2hlTWFjLm1tCkBAIC0yMzIsMTIgKzIzMiw2IEBAIHN0YXRpYyBBWFRleHRT
ZWxlY3Rpb25HcmFudWxhcml0eSBwbGF0Zm9ybUdyYW51bGFyaXR5Rm9yV2ViQ29yZUdyYW51bGFy
aXR5KFdlYkNvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBBWE9iamVjdENhY2hlOjpk
ZXRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogb2JqLCBBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5
cGUpCi17Ci0gICAgW29iai0+d3JhcHBlcigpIGRldGFjaF07Ci0gICAgb2JqLT5zZXRXcmFwcGVy
KG51bGxwdHIpOwotfQotCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIoQVhDb3Jl
T2JqZWN0KiBvYmopCiB7CiAgICAgUmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyPiB3cmFwcGVyID0gYWRvcHROUyhbW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFs
bG9jXSBpbml0V2l0aEFjY2Vzc2liaWxpdHlPYmplY3Q6b2JqXSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5t
bQppbmRleCA3ZjhkNDcwMDNiY2I1NzliZTcwNzMwMTRlNjQ3MDhjMzU5MmI2NzY3Li45ZTc1NTBj
NTNjMjY5ZjBhYjVlYzk1ZGU2Zjk4YTMwZDIwMmQzNGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0K
QEAgLTQxLDYgKzQxLDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordm9pZCBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdyYXBwZXIoQWNjZXNzaWJpbGl0eURldGFjaG1l
bnRUeXBlKQoreworICAgIFt3cmFwcGVyKCkgZGV0YWNoXTsKK30KKwogdm9pZCBBY2Nlc3NpYmls
aXR5T2JqZWN0OjpkZXRhY2hGcm9tUGFyZW50KCkKIHsKICAgICBpZiAoaXNBdHRhY2htZW50KCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BY2Nlc3NpYmls
aXR5T2JqZWN0V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FjY2Vz
c2liaWxpdHlPYmplY3RXaW4uY3BwCmluZGV4IDQzMDRkM2I1NDZiYWE5NGFiYjI5MzJkZWU2OTZh
NjFmZjU3OGNmYmYuLjg0YTBiMjQ0OTQ4YTllNjNmODMyNDZmNWMyYzNlMTAxNDFiMDQxZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FjY2Vzc2liaWxpdHlP
YmplY3RXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FjY2Vz
c2liaWxpdHlPYmplY3RXaW4uY3BwCkBAIC0yOCw4ICsyOCwxNiBAQAogCiAjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAordm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdyYXBw
ZXIoQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlIGRldGFjaG1lbnRUeXBlKQoreworICAgIGlm
IChhdXRvKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgY2FjaGUtPmRldGFjaFdy
YXBwZXIodGhpcywgZGV0YWNobWVudFR5cGUpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4g
ZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389141</attachid>
            <date>2020-01-29 08:28:01 -0800</date>
            <delta_ts>2020-01-29 10:01:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206828-20200129112800.patch</filename>
            <type>text/plain</type>
            <size>1736</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA2YTE1ZDMxN2E4MmU3
OTUxNjhmNDNiZTNiMWFmOTVjNDYxMGQ5Mi4uMTExOGVkNTAwNzYxY2Y5ZTcyYzM1MDU0YTcwY2I2
ZDA0OTM1NGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTAxLTI5ICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBpbiBB
WElzb2xhdGVkT2JqZWN0IGRlc3RydWN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2ODI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBjcmFzaCBvbiBHVEsgaW50cm9kdWNlZCB3aXRo
IHRoaXMgSXNvbGF0ZWRUcmVlIGNoYW5nZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eU9iamVjdDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKToKKwogMjAyMC0wMS0yOSAgeW91ZW5u
IGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQmxvYiBtZWRpYSBsb2FkaW5n
IGRvZXMgbm90IHdvcmsgd2l0aCBHUFVQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2F0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4
IGNiYzQ5NjA0YzBmMjBkZmQ4OWU2ZDA5NDllMjIwOWU2ZWFkZjY3YjIuLjY3MDQ5Y2I2ZjYzMDc0
MGI4ZmVjODdlOGJkYjkxYjQ5MTFmY2ZhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCkBAIC0z
Nyw4ICszNywxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9i
amVjdDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBk
ZXRhY2htZW50VHlwZSkKIHsKLSAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hlKCkp
Ci0gICAgICAgIGNhY2hlLT5kZXRhY2hXcmFwcGVyKHRoaXMsIGRldGFjaG1lbnRUeXBlKTsKKyAg
ICBpZiAoZGV0YWNobWVudFR5cGUgIT0gQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlOjpDYWNo
ZURlc3Ryb3llZCkgeworICAgICAgICBpZiAoYXV0byogY2FjaGUgPSBheE9iamVjdENhY2hlKCkp
CisgICAgICAgICAgICBjYWNoZS0+ZGV0YWNoV3JhcHBlcih0aGlzLCBkZXRhY2htZW50VHlwZSk7
CisgICAgfQorCisgICAgYXV0byogd3JhcHBlciA9IHRoaXMtPndyYXBwZXIoKTsKKyAgICBBU1NF
UlQod3JhcHBlcik7CisgICAgd2Via2l0QWNjZXNzaWJsZURldGFjaChXRUJLSVRfQUNDRVNTSUJM
RSh3cmFwcGVyKSk7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0
eUlnbm9yZUF0dGFjaG1lbnQoKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>