<?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>143966</bug_id>
          
          <creation_ts>2015-04-20 14:27:07 -0700</creation_ts>
          <short_desc>Modify the WKWebsiteDataStore API to take a NSSet of types instead of a bitmask</short_desc>
          <delta_ts>2015-04-20 14:49:06 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1086902</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-04-20 14:27:07 -0700</bug_when>
    <thetext>Modify the WKWebsiteDataStore API to take a NSSet of types instead of a bitmask</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086904</commentid>
    <comment_count>1</comment_count>
      <attachid>251189</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-04-20 14:27:43 -0700</bug_when>
    <thetext>Created attachment 251189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086906</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-20 14:29:14 -0700</bug_when>
    <thetext>Attachment 251189 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:33:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:32:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.h:32:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 3 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086913</commentid>
    <comment_count>3</comment_count>
      <attachid>251189</attachid>
    <who name="">mitz</who>
    <bug_when>2015-04-20 14:40:18 -0700</bug_when>
    <thetext>Comment on attachment 251189
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataRecord.h:47
&gt; +@property (nonatomic, readonly) NSSet *dataTypes;

Should also have the copy attribute.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:60
&gt; +    return [NSSet setWithObjects:WKWebsiteDataTypeDiskCache, WKWebsiteDataTypeMemoryCache, WKWebsiteDataTypeOfflineWebApplicationCache, WKWebsiteDataTypeCookies, WKWebsiteDataTypeLocalStorage, WKWebsiteDataTypeWebSQLDatabases, nil];

I’d allocate this once and keep it in a static variable.

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKWebsiteDataStore.h:34
&gt; +typedef NS_OPTIONS(NSUInteger, WKWebsiteDataTypes) {
&gt; +    WKWebsiteDataTypeAll = NSUIntegerMax,
&gt; +} WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);

Why is this defined twice?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086914</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-04-20 14:49:06 -0700</bug_when>
    <thetext>Committed r183028: &lt;http://trac.webkit.org/changeset/183028&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251189</attachid>
            <date>2015-04-20 14:27:43 -0700</date>
            <delta_ts>2015-04-20 14:40:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143966-20150420142653.patch</filename>
            <type>text/plain</type>
            <size>18875</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDA5NTU1MzEyNzNlYjg1
ZDQ0M2Q5MGM2ZWVjMDE0ZDJiMzNjYjI2ZS4uYjdkOWQxYThmYjg4OTc4YTAxYzM5MWMzYjlhN2Zj
YzgyYWExNjYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTA0LTIwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kaWZ5IHRoZSBX
S1dlYnNpdGVEYXRhU3RvcmUgQVBJIHRvIHRha2UgYSBOU1NldCBvZiB0eXBlcyBpbnN0ZWFkIG9m
IGEgYml0bWFzaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQzOTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmQuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmQubW06CisgICAgICAgIChk
YXRhVHlwZXNUb1N0cmluZyk6CisgICAgICAgICgtW1dLV2Vic2l0ZURhdGFSZWNvcmQgZGF0YVR5
cGVzXSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVjb3Jk
SW50ZXJuYWwuaDoKKyAgICAgICAgKFdlYktpdDo6dG9XZWJzaXRlRGF0YVR5cGVzKToKKyAgICAg
ICAgKFdlYktpdDo6dG9XS1dlYnNpdGVEYXRhVHlwZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW06CisgICAgICAgICgrW1dLV2Vic2l0ZURhdGFTdG9y
ZSBhbGxXZWJzaXRlRGF0YVR5cGVzXSk6CisgICAgICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSBm
ZXRjaERhdGFSZWNvcmRzT2ZUeXBlczpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1b
V0tXZWJzaXRlRGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOm1vZGlmaWVkU2luY2U6Y29tcGxl
dGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dLV2Vic2l0ZURhdGFTdG9yZSByZW1vdmVEYXRh
T2ZUeXBlczpmb3JEYXRhUmVjb3Jkczpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhUmVjb3JkLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlLm1tOgorICAgICAgICAodG9XS1dlYnNp
dGVEYXRhVHlwZXMpOgorICAgICAgICAoLVtfV0tXZWJzaXRlRGF0YVN0b3JlIGZldGNoRGF0YVJl
Y29yZHNPZlR5cGVzOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtfV0tXZWJzaXRl
RGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVzOmZvckRhdGFSZWNvcmRzOmNvbXBsZXRpb25IYW5k
bGVyOl0pOgorICAgICAgICAoLVtfV0tXZWJzaXRlRGF0YVN0b3JlIHJlbW92ZURhdGFPZlR5cGVz
Om1vZGlmaWVkU2luY2U6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisKIDIwMTUtMDQtMjAgIEJldGgg
RGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNob3VsZCByZW1vdmUgbW91c2VG
b3JjZUNsaWNrIGFuZCBtb3VzZUZvcmNlQ2FuY2VsbGVkIGZyb20gRE9NIGZvcmNlIGV2ZW50cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVE
YXRhUmVjb3JkLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFSZWNvcmQuaAppbmRleCBmOGEwOGY3NzQ2OWYzMDNmMzc0NzcxOGE5MTRiNGRiZWE4MDNh
MGY0Li4xYWU1MDYxM2QyNWE1MmZiMzAwMjc5ZWFmYWY3ODFlNjMyYTViYzFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFS
ZWNvcmQuaApAQCAtMzEsMjQgKzMxLDIwIEBACiAKIFdLX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAK
LXR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBXS1dlYnNpdGVEYXRhVHlwZXMpIHsKLSAg
ICBXS1dlYnNpdGVEYXRhVHlwZUNvb2tpZXMgPSAxIDw8IDAsCi0gICAgV0tXZWJzaXRlRGF0YVR5
cGVEaXNrQ2FjaGUgPSAxIDw8IDEsCi0gICAgV0tXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNoZSA9
IDEgPDwgMiwKLSAgICBXS1dlYnNpdGVEYXRhVHlwZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hl
ID0gMSA8PCAzLAorV0tfRVhURVJOIE5TU3RyaW5nICogY29uc3QgV0tXZWJzaXRlRGF0YVR5cGVE
aXNrQ2FjaGUgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOworV0tfRVhURVJO
IE5TU3RyaW5nICogY29uc3QgV0tXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNoZSBXS19BVkFJTEFC
TEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CitXS19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBX
S1dlYnNpdGVEYXRhVHlwZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlIFdLX0FWQUlMQUJMRShX
S19NQUNfVEJBLCBXS19JT1NfVEJBKTsKIAotICAgIFdLV2Vic2l0ZURhdGFUeXBlTG9jYWxTdG9y
YWdlID0gMSA8PCA0LAotICAgIFdLV2Vic2l0ZURhdGFUeXBlV2ViU1FMRGF0YWJhc2VzID0gMSA8
PCA1LAotCi0gICAgV0tXZWJzaXRlRGF0YVR5cGVBbGwgPSBOU1VJbnRlZ2VyTWF4LAotfSBXS19F
TlVNX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKK1dLX0VYVEVSTiBOU1N0cmlu
ZyAqIGNvbnN0IFdLV2Vic2l0ZURhdGFUeXBlQ29va2llcyBXS19BVkFJTEFCTEUoV0tfTUFDX1RC
QSwgV0tfSU9TX1RCQSk7CitXS19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBXS1dlYnNpdGVEYXRh
VHlwZUxvY2FsU3RvcmFnZSBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CitX
S19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBXS1dlYnNpdGVEYXRhVHlwZVdlYlNRTERhdGFiYXNl
cyBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiAKIFdLX0NMQVNTX0FWQUlM
QUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKQogQGludGVyZmFjZSBXS1dlYnNpdGVEYXRhUmVj
b3JkIDogTlNPYmplY3QKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBO
U1N0cmluZyAqZGlzcGxheU5hbWU7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkg
V0tXZWJzaXRlRGF0YVR5cGVzIGRhdGFUeXBlczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgTlNTZXQgKmRhdGFUeXBlczsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmQubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmQubW0KaW5kZXgg
ZjA2ZjJmODU2NDBhY2M5NTAyZjdlMWI1NTY2NjNmYzc0YjE0MWJjMi4uMzhmMzhhMWQ5MGZhNzc3
YzEwNGJkYTI3NDk4ZGM4NGQ0NDM3MTNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVjb3JkLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVJlY29yZC5tbQpAQCAtMjgsNiAr
MjgsMTQgQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKK05TU3RyaW5nICogY29uc3QgV0tXZWJz
aXRlRGF0YVR5cGVEaXNrQ2FjaGUgPSBAIldLV2Vic2l0ZURhdGFUeXBlRGlza0NhY2hlIjsKK05T
U3RyaW5nICogY29uc3QgV0tXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNoZSA9IEAiV0tXZWJzaXRl
RGF0YVR5cGVNZW1vcnlDYWNoZSI7CitOU1N0cmluZyAqIGNvbnN0IFdLV2Vic2l0ZURhdGFUeXBl
T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGUgPSBAIldLV2Vic2l0ZURhdGFUeXBlT2ZmbGluZVdl
YkFwcGxpY2F0aW9uQ2FjaGUiOworCitOU1N0cmluZyAqIGNvbnN0IFdLV2Vic2l0ZURhdGFUeXBl
Q29va2llcyA9IEAiV0tXZWJzaXRlRGF0YVR5cGVDb29raWVzIjsKK05TU3RyaW5nICogY29uc3Qg
V0tXZWJzaXRlRGF0YVR5cGVMb2NhbFN0b3JhZ2UgPSBAIldLV2Vic2l0ZURhdGFUeXBlTG9jYWxT
dG9yYWdlIjsKK05TU3RyaW5nICogY29uc3QgV0tXZWJzaXRlRGF0YVR5cGVXZWJTUUxEYXRhYmFz
ZXMgPSBAIldLV2Vic2l0ZURhdGFUeXBlV2ViU1FMRGF0YWJhc2VzIjsKKwogQGltcGxlbWVudGF0
aW9uIFdLV2Vic2l0ZURhdGFSZWNvcmQKIAogLSAodm9pZClkZWFsbG9jCkBAIC0zNywyMSArNDUs
MjEgQEAKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAKLXN0YXRpYyBOU1N0cmluZyAqZGF0YVR5
cGVzVG9TdHJpbmcoV0tXZWJzaXRlRGF0YVR5cGVzIGRhdGFUeXBlcykKK3N0YXRpYyBOU1N0cmlu
ZyAqZGF0YVR5cGVzVG9TdHJpbmcoTlNTZXQgKmRhdGFUeXBlcykKIHsKICAgICBhdXRvIGFycmF5
ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CiAKLSAgICBpZiAoZGF0
YVR5cGVzICYgV0tXZWJzaXRlRGF0YVR5cGVDb29raWVzKQotICAgICAgICBbYXJyYXkgYWRkT2Jq
ZWN0OkAiQ29va2llcyJdOwotICAgIGlmIChkYXRhVHlwZXMgJiBXS1dlYnNpdGVEYXRhVHlwZURp
c2tDYWNoZSkKKyAgICBpZiAoW2RhdGFUeXBlcyBjb250YWluc09iamVjdDpXS1dlYnNpdGVEYXRh
VHlwZURpc2tDYWNoZV0pCiAgICAgICAgIFthcnJheSBhZGRPYmplY3Q6QCJEaXNrIENhY2hlIl07
Ci0gICAgaWYgKGRhdGFUeXBlcyAmIFdLV2Vic2l0ZURhdGFUeXBlTWVtb3J5Q2FjaGUpCisgICAg
aWYgKFtkYXRhVHlwZXMgY29udGFpbnNPYmplY3Q6V0tXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNo
ZV0pCiAgICAgICAgIFthcnJheSBhZGRPYmplY3Q6QCJNZW1vcnkgQ2FjaGUiXTsKLSAgICBpZiAo
ZGF0YVR5cGVzICYgV0tXZWJzaXRlRGF0YVR5cGVPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZSkK
KyAgICBpZiAoW2RhdGFUeXBlcyBjb250YWluc09iamVjdDpXS1dlYnNpdGVEYXRhVHlwZU9mZmxp
bmVXZWJBcHBsaWNhdGlvbkNhY2hlXSkKICAgICAgICAgW2FycmF5IGFkZE9iamVjdDpAIk9mZmxp
bmUgV2ViIEFwcGxpY2F0aW9uIENhY2hlIl07Ci0gICAgaWYgKGRhdGFUeXBlcyAmIFdLV2Vic2l0
ZURhdGFUeXBlTG9jYWxTdG9yYWdlKQorICAgIGlmIChbZGF0YVR5cGVzIGNvbnRhaW5zT2JqZWN0
OldLV2Vic2l0ZURhdGFUeXBlQ29va2llc10pCisgICAgICAgIFthcnJheSBhZGRPYmplY3Q6QCJD
b29raWVzIl07CisgICAgaWYgKFtkYXRhVHlwZXMgY29udGFpbnNPYmplY3Q6V0tXZWJzaXRlRGF0
YVR5cGVMb2NhbFN0b3JhZ2VdKQogICAgICAgICBbYXJyYXkgYWRkT2JqZWN0OkAiTG9jYWwgU3Rv
cmFnZSJdOwotICAgIGlmIChkYXRhVHlwZXMgJiBXS1dlYnNpdGVEYXRhVHlwZVdlYlNRTERhdGFi
YXNlcykKKyAgICBpZiAoW2RhdGFUeXBlcyBjb250YWluc09iamVjdDpXS1dlYnNpdGVEYXRhVHlw
ZVdlYlNRTERhdGFiYXNlc10pCiAgICAgICAgIFthcnJheSBhZGRPYmplY3Q6QCJXZWIgU1FMIl07
CiAKICAgICByZXR1cm4gW2FycmF5IGNvbXBvbmVudHNKb2luZWRCeVN0cmluZzpAIiwgIl07CkBA
IC02Nyw5ICs3NSw5IEBAIHN0YXRpYyBOU1N0cmluZyAqZGF0YVR5cGVzVG9TdHJpbmcoV0tXZWJz
aXRlRGF0YVR5cGVzIGRhdGFUeXBlcykKICAgICByZXR1cm4gX3dlYnNpdGVEYXRhUmVjb3JkLT53
ZWJzaXRlRGF0YVJlY29yZCgpLmRpc3BsYXlOYW1lOwogfQogCi0tIChXS1dlYnNpdGVEYXRhVHlw
ZXMpZGF0YVR5cGVzCistIChOU1NldCAqKWRhdGFUeXBlcwogewotICAgIHJldHVybiBXZWJLaXQ6
OnRvV0tXZWJzaXRlRGF0YVR5cGVzKF93ZWJzaXRlRGF0YVJlY29yZC0+d2Vic2l0ZURhdGFSZWNv
cmQoKS50eXBlcyk7CisgICAgcmV0dXJuIFdlYktpdDo6dG9XS1dlYnNpdGVEYXRhVHlwZXMoX3dl
YnNpdGVEYXRhUmVjb3JkLT53ZWJzaXRlRGF0YVJlY29yZCgpLnR5cGVzKS5hdXRvcmVsZWFzZSgp
OwogfQogCiAjcHJhZ21hIG1hcmsgV0tPYmplY3QgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0
YVJlY29yZEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2Vic2l0ZURhdGFSZWNvcmRJbnRlcm5hbC5oCmluZGV4IGI1MDhjOTY3ZjdhZDA3Zjc1YzkzMTk1
OTNlMjI2YTgyZWFiNDM1ZDIuLmEzYTVlMTEzNjIyNzM2YThiYzhkYjBmNDFhYTQ1MGMzOTBiZTMx
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJz
aXRlRGF0YVJlY29yZEludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVjb3JkSW50ZXJuYWwuaApAQCAtMzgsNDYgKzM4LDQ2IEBA
IGlubGluZSBXS1dlYnNpdGVEYXRhUmVjb3JkICp3cmFwcGVyKEFQSTo6V2Vic2l0ZURhdGFSZWNv
cmQmIHdlYnNpdGVEYXRhUmVjb3JkKQogICAgIHJldHVybiAoV0tXZWJzaXRlRGF0YVJlY29yZCAq
KXdlYnNpdGVEYXRhUmVjb3JkLndyYXBwZXIoKTsKIH0KIAotc3RhdGljIGlubGluZSBXZWJLaXQ6
OldlYnNpdGVEYXRhVHlwZXMgdG9XZWJzaXRlRGF0YVR5cGVzKFdLV2Vic2l0ZURhdGFUeXBlcyB3
a1dlYnNpdGVEYXRhVHlwZXMpCitzdGF0aWMgaW5saW5lIFdlYktpdDo6V2Vic2l0ZURhdGFUeXBl
cyB0b1dlYnNpdGVEYXRhVHlwZXMoTlNTZXQgKndrV2Vic2l0ZURhdGFUeXBlcykKIHsKICAgICB1
c2luZyBXZWJzaXRlRGF0YVR5cGVzID0gV2ViS2l0OjpXZWJzaXRlRGF0YVR5cGVzOwogCiAgICAg
aW50IHdlYnNpdGVEYXRhVHlwZXMgPSAwOwogCi0gICAgaWYgKHdrV2Vic2l0ZURhdGFUeXBlcyAm
IFdLV2Vic2l0ZURhdGFUeXBlQ29va2llcykKKyAgICBpZiAoW3drV2Vic2l0ZURhdGFUeXBlcyBj
b250YWluc09iamVjdDpXS1dlYnNpdGVEYXRhVHlwZUNvb2tpZXNdKQogICAgICAgICB3ZWJzaXRl
RGF0YVR5cGVzIHw9IFdlYnNpdGVEYXRhVHlwZXM6OldlYnNpdGVEYXRhVHlwZUNvb2tpZXM7Ci0g
ICAgaWYgKHdrV2Vic2l0ZURhdGFUeXBlcyAmIFdLV2Vic2l0ZURhdGFUeXBlRGlza0NhY2hlKQor
ICAgIGlmIChbd2tXZWJzaXRlRGF0YVR5cGVzIGNvbnRhaW5zT2JqZWN0OldLV2Vic2l0ZURhdGFU
eXBlRGlza0NhY2hlXSkKICAgICAgICAgd2Vic2l0ZURhdGFUeXBlcyB8PSBXZWJzaXRlRGF0YVR5
cGVzOjpXZWJzaXRlRGF0YVR5cGVEaXNrQ2FjaGU7Ci0gICAgaWYgKHdrV2Vic2l0ZURhdGFUeXBl
cyAmIFdLV2Vic2l0ZURhdGFUeXBlTWVtb3J5Q2FjaGUpCisgICAgaWYgKFt3a1dlYnNpdGVEYXRh
VHlwZXMgY29udGFpbnNPYmplY3Q6V0tXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNoZV0pCiAgICAg
ICAgIHdlYnNpdGVEYXRhVHlwZXMgfD0gV2Vic2l0ZURhdGFUeXBlczo6V2Vic2l0ZURhdGFUeXBl
TWVtb3J5Q2FjaGU7Ci0gICAgaWYgKHdrV2Vic2l0ZURhdGFUeXBlcyAmIFdLV2Vic2l0ZURhdGFU
eXBlT2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGUpCisgICAgaWYgKFt3a1dlYnNpdGVEYXRhVHlw
ZXMgY29udGFpbnNPYmplY3Q6V0tXZWJzaXRlRGF0YVR5cGVPZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZV0pCiAgICAgICAgIHdlYnNpdGVEYXRhVHlwZXMgfD0gV2Vic2l0ZURhdGFUeXBlczo6V2Vi
c2l0ZURhdGFUeXBlT2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGU7Ci0gICAgaWYgKHdrV2Vic2l0
ZURhdGFUeXBlcyAmIFdLV2Vic2l0ZURhdGFUeXBlTG9jYWxTdG9yYWdlKQorICAgIGlmIChbd2tX
ZWJzaXRlRGF0YVR5cGVzIGNvbnRhaW5zT2JqZWN0OldLV2Vic2l0ZURhdGFUeXBlTG9jYWxTdG9y
YWdlXSkKICAgICAgICAgd2Vic2l0ZURhdGFUeXBlcyB8PSBXZWJzaXRlRGF0YVR5cGVzOjpXZWJz
aXRlRGF0YVR5cGVMb2NhbFN0b3JhZ2U7Ci0gICAgaWYgKHdrV2Vic2l0ZURhdGFUeXBlcyAmIFdL
V2Vic2l0ZURhdGFUeXBlV2ViU1FMRGF0YWJhc2VzKQorICAgIGlmIChbd2tXZWJzaXRlRGF0YVR5
cGVzIGNvbnRhaW5zT2JqZWN0OldLV2Vic2l0ZURhdGFUeXBlV2ViU1FMRGF0YWJhc2VzXSkKICAg
ICAgICAgd2Vic2l0ZURhdGFUeXBlcyB8PSBXZWJzaXRlRGF0YVR5cGVzOjpXZWJzaXRlRGF0YVR5
cGVXZWJTUUxEYXRhYmFzZXM7CiAKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2Vic2l0ZURhdGFU
eXBlcz4od2Vic2l0ZURhdGFUeXBlcyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgV0tXZWJzaXRlRGF0
YVR5cGVzIHRvV0tXZWJzaXRlRGF0YVR5cGVzKGludCB3ZWJzaXRlRGF0YVR5cGVzKQorc3RhdGlj
IGlubGluZSBSZXRhaW5QdHI8TlNTZXQ+IHRvV0tXZWJzaXRlRGF0YVR5cGVzKGludCB3ZWJzaXRl
RGF0YVR5cGVzKQogewogICAgIHVzaW5nIFdlYnNpdGVEYXRhVHlwZXMgPSBXZWJLaXQ6OldlYnNp
dGVEYXRhVHlwZXM7CiAKLSAgICBXS1dlYnNpdGVEYXRhVHlwZXMgd2tXZWJzaXRlRGF0YVR5cGVz
ID0gMDsKKyAgICBhdXRvIHdrV2Vic2l0ZURhdGFUeXBlcyA9IGFkb3B0TlMoW1tOU011dGFibGVT
ZXQgYWxsb2NdIGluaXRdKTsKIAogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzICYgV2Vic2l0ZURh
dGFUeXBlczo6V2Vic2l0ZURhdGFUeXBlQ29va2llcykKLSAgICAgICAgd2tXZWJzaXRlRGF0YVR5
cGVzIHw9IFdLV2Vic2l0ZURhdGFUeXBlQ29va2llczsKKyAgICAgICAgW3drV2Vic2l0ZURhdGFU
eXBlcyBhZGRPYmplY3Q6V0tXZWJzaXRlRGF0YVR5cGVDb29raWVzXTsKICAgICBpZiAod2Vic2l0
ZURhdGFUeXBlcyAmIFdlYnNpdGVEYXRhVHlwZXM6OldlYnNpdGVEYXRhVHlwZURpc2tDYWNoZSkK
LSAgICAgICAgd2tXZWJzaXRlRGF0YVR5cGVzIHw9IFdLV2Vic2l0ZURhdGFUeXBlRGlza0NhY2hl
OworICAgICAgICBbd2tXZWJzaXRlRGF0YVR5cGVzIGFkZE9iamVjdDpXS1dlYnNpdGVEYXRhVHlw
ZURpc2tDYWNoZV07CiAgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMgJiBXZWJzaXRlRGF0YVR5cGVz
OjpXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNoZSkKLSAgICAgICAgd2tXZWJzaXRlRGF0YVR5cGVz
IHw9IFdLV2Vic2l0ZURhdGFUeXBlTWVtb3J5Q2FjaGU7CisgICAgICAgIFt3a1dlYnNpdGVEYXRh
VHlwZXMgYWRkT2JqZWN0OldLV2Vic2l0ZURhdGFUeXBlTWVtb3J5Q2FjaGVdOwogICAgIGlmICh3
ZWJzaXRlRGF0YVR5cGVzICYgV2Vic2l0ZURhdGFUeXBlczo6V2Vic2l0ZURhdGFUeXBlT2ZmbGlu
ZVdlYkFwcGxpY2F0aW9uQ2FjaGUpCi0gICAgICAgIHdrV2Vic2l0ZURhdGFUeXBlcyB8PSBXS1dl
YnNpdGVEYXRhVHlwZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlOworICAgICAgICBbd2tXZWJz
aXRlRGF0YVR5cGVzIGFkZE9iamVjdDpXS1dlYnNpdGVEYXRhVHlwZU9mZmxpbmVXZWJBcHBsaWNh
dGlvbkNhY2hlXTsKICAgICBpZiAod2Vic2l0ZURhdGFUeXBlcyAmIFdlYnNpdGVEYXRhVHlwZXM6
OldlYnNpdGVEYXRhVHlwZUxvY2FsU3RvcmFnZSkKLSAgICAgICAgd2tXZWJzaXRlRGF0YVR5cGVz
IHw9IFdLV2Vic2l0ZURhdGFUeXBlTG9jYWxTdG9yYWdlOworICAgICAgICBbd2tXZWJzaXRlRGF0
YVR5cGVzIGFkZE9iamVjdDpXS1dlYnNpdGVEYXRhVHlwZUxvY2FsU3RvcmFnZV07CiAgICAgaWYg
KHdlYnNpdGVEYXRhVHlwZXMgJiBXZWJzaXRlRGF0YVR5cGVzOjpXZWJzaXRlRGF0YVR5cGVXZWJT
UUxEYXRhYmFzZXMpCi0gICAgICAgIHdrV2Vic2l0ZURhdGFUeXBlcyB8PSBXS1dlYnNpdGVEYXRh
VHlwZVdlYlNRTERhdGFiYXNlczsKKyAgICAgICAgW3drV2Vic2l0ZURhdGFUeXBlcyBhZGRPYmpl
Y3Q6V0tXZWJzaXRlRGF0YVR5cGVXZWJTUUxEYXRhYmFzZXNdOwogCiAgICAgcmV0dXJuIHdrV2Vi
c2l0ZURhdGFUeXBlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IDAzNDRlNmFkNTE1MTkyNWZmOGJj
NzcwYzFkM2Y4NTIzOTZiYjc3NTQuLjA5NTNjYWJmNDUwMzZlM2JlZWEwMTYxOGIwMjI0NTRlZTE1
Zjc4N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYnNpdGVEYXRhU3RvcmUuaApAQCAtNDQsOSArNDQsMTEgQEAgV0tfQ0xBU1NfQVZBSUxB
QkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpCiAKIEBwcm9wZXJ0eSAocmVhZG9ubHksIGdldHRl
cj1pc05vblBlcnNpc3RlbnQpIEJPT0wgbm9uUGVyc2lzdGVudDsKIAotLSAodm9pZClmZXRjaERh
dGFSZWNvcmRzT2ZUeXBlczooV0tXZWJzaXRlRGF0YVR5cGVzKXdlYnNpdGVEYXRhVHlwZXMgY29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkgKikpY29tcGxldGlvbkhhbmRsZXI7Ci0t
ICh2b2lkKXJlbW92ZURhdGFPZlR5cGVzOihXS1dlYnNpdGVEYXRhVHlwZXMpd2Vic2l0ZURhdGFU
eXBlcyBmb3JEYXRhUmVjb3JkczooTlNBcnJheSAqKWRhdGFSZWNvcmRzIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKSgpKWNvbXBsZXRpb25IYW5kbGVyOwotLSAodm9pZClyZW1vdmVEYXRhT2ZU
eXBlczooV0tXZWJzaXRlRGF0YVR5cGVzKXdlYnNpdGVEYXRhVHlwZXMgbW9kaWZpZWRTaW5jZToo
TlNEYXRlICopZGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoKSljb21wbGV0aW9uSGFu
ZGxlcjsKKysgKE5TU2V0ICopYWxsV2Vic2l0ZURhdGFUeXBlczsKKworLSAodm9pZClmZXRjaERh
dGFSZWNvcmRzT2ZUeXBlczooTlNTZXQgKil3ZWJzaXRlRGF0YVR5cGVzIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShOU0FycmF5ICopKWNvbXBsZXRpb25IYW5kbGVyOworLSAodm9pZClyZW1v
dmVEYXRhT2ZUeXBlczooTlNTZXQgKil3ZWJzaXRlRGF0YVR5cGVzIGZvckRhdGFSZWNvcmRzOihO
U0FycmF5ICopZGF0YVJlY29yZHMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKCkpY29tcGxl
dGlvbkhhbmRsZXI7CistICh2b2lkKXJlbW92ZURhdGFPZlR5cGVzOihOU1NldCAqKXdlYnNpdGVE
YXRhVHlwZXMgbW9kaWZpZWRTaW5jZTooTlNEYXRlICopZGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCAoXikoKSljb21wbGV0aW9uSGFuZGxlcjsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCmlu
ZGV4IGI1ZTQ5OGY1NWEwZmY0MmRjYWY2Y2M2ZjdkNzE2MGExNWFlMTZkYzQuLmM0YjUwNGJhNTFm
ODM3ZDk4NzZkMDg2ZDE3Y2Q2NTNkNDU2ZDFjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC01NSw2
ICs1NSwxMSBAQAogICAgIHJldHVybiBfd2Vic2l0ZURhdGFTdG9yZS0+aXNOb25QZXJzaXN0ZW50
KCk7CiB9CiAKKysgKE5TU2V0ICopYWxsV2Vic2l0ZURhdGFUeXBlcworeworICAgIHJldHVybiBb
TlNTZXQgc2V0V2l0aE9iamVjdHM6V0tXZWJzaXRlRGF0YVR5cGVEaXNrQ2FjaGUsIFdLV2Vic2l0
ZURhdGFUeXBlTWVtb3J5Q2FjaGUsIFdLV2Vic2l0ZURhdGFUeXBlT2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGUsIFdLV2Vic2l0ZURhdGFUeXBlQ29va2llcywgV0tXZWJzaXRlRGF0YVR5cGVMb2Nh
bFN0b3JhZ2UsIFdLV2Vic2l0ZURhdGFUeXBlV2ViU1FMRGF0YWJhc2VzLCBuaWxdOworfQorCiBz
dGF0aWMgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCB0b1N5c3RlbUNsb2Nr
VGltZShOU0RhdGUgKmRhdGUpCiB7CiAgICAgQVNTRVJUKGRhdGUpOwpAQCAtNjMsNyArNjgsNyBA
QCBzdGF0aWMgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCB0b1N5c3RlbUNs
b2NrVGltZShOU0RhdGUgKmRhdGUpCiAgICAgcmV0dXJuIHN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dChkdXJhdGlvbl9jYXN0PHN5c3RlbV9jbG9jazo6ZHVyYXRpb24+KGR1cmF0aW9uPGRvdWJsZT4o
ZGF0ZS50aW1lSW50ZXJ2YWxTaW5jZTE5NzApKSk7CiB9CiAKLS0gKHZvaWQpZmV0Y2hEYXRhUmVj
b3Jkc09mVHlwZXM6KFdLV2Vic2l0ZURhdGFUeXBlcyl3ZWJzaXRlRGF0YVR5cGVzIGNvbXBsZXRp
b25IYW5kbGVyOih2b2lkICheKShOU0FycmF5ICopKWNvbXBsZXRpb25IYW5kbGVyCistICh2b2lk
KWZldGNoRGF0YVJlY29yZHNPZlR5cGVzOihOU1NldCAqKXdlYnNpdGVEYXRhVHlwZXMgY29tcGxl
dGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXkgKikpY29tcGxldGlvbkhhbmRsZXIKIHsKICAg
ICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyQ29weSA9IEJsb2NrX2NvcHkoY29tcGxldGlvbkhhbmRs
ZXIpOwogCkBAIC04MCw3ICs4NSw3IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2Nr
Ojp0aW1lX3BvaW50IHRvU3lzdGVtQ2xvY2tUaW1lKE5TRGF0ZSAqZGF0ZSkKICAgICB9KTsKIH0K
IAotLSAodm9pZClyZW1vdmVEYXRhT2ZUeXBlczooV0tXZWJzaXRlRGF0YVR5cGVzKXdlYnNpdGVE
YXRhVHlwZXMgbW9kaWZpZWRTaW5jZTooTlNEYXRlICopZGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCAoXikoKSljb21wbGV0aW9uSGFuZGxlcgorLSAodm9pZClyZW1vdmVEYXRhT2ZUeXBlczoo
TlNTZXQgKil3ZWJzaXRlRGF0YVR5cGVzIG1vZGlmaWVkU2luY2U6KE5TRGF0ZSAqKWRhdGUgY29t
cGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKCkpY29tcGxldGlvbkhhbmRsZXIKIHsKICAgICBhdXRv
IGNvbXBsZXRpb25IYW5kbGVyQ29weSA9IEJsb2NrX2NvcHkoY29tcGxldGlvbkhhbmRsZXIpOwog
ICAgIF93ZWJzaXRlRGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVtb3ZlRGF0YShXZWJL
aXQ6OnRvV2Vic2l0ZURhdGFUeXBlcyh3ZWJzaXRlRGF0YVR5cGVzKSwgdG9TeXN0ZW1DbG9ja1Rp
bWUoZGF0ZSA/IGRhdGUgOiBbTlNEYXRlIGRpc3RhbnRQYXN0XSksIFtjb21wbGV0aW9uSGFuZGxl
ckNvcHldIHsKQEAgLTk5LDcgKzEwNCw3IEBAIHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRl
RGF0YVJlY29yZD4gdG9XZWJzaXRlRGF0YVJlY29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotLSAodm9pZClyZW1vdmVEYXRhT2ZUeXBlczooV0tXZWJzaXRl
RGF0YVR5cGVzKXdlYnNpdGVEYXRhVHlwZXMgZm9yRGF0YVJlY29yZHM6KE5TQXJyYXkgKilkYXRh
UmVjb3JkcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoKSljb21wbGV0aW9uSGFuZGxlcgor
LSAodm9pZClyZW1vdmVEYXRhT2ZUeXBlczooTlNTZXQgKil3ZWJzaXRlRGF0YVR5cGVzIGZvckRh
dGFSZWNvcmRzOihOU0FycmF5ICopZGF0YVJlY29yZHMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQg
KF4pKCkpY29tcGxldGlvbkhhbmRsZXIKIHsKICAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyQ29w
eSA9IEJsb2NrX2NvcHkoY29tcGxldGlvbkhhbmRsZXIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhUmVjb3JkLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhUmVjb3JkLmgKaW5k
ZXggZjMyZWQ4ZGIzNDg2NWIwNGQzM2ZhOGQwMDJmMWE0MWFkNTNlZTFkMS4uZjgyODcyMmYyNGRk
YWMyNjcyMjk4NmZkYTU2NmViNDk0MWFlMGYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVJlY29yZC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFSZWNvcmQuaApAQCAtMjks
NiArMjksMTAgQEAKIAogI2ltcG9ydCA8V2ViS2l0L1dLV2Vic2l0ZURhdGFSZWNvcmQuaD4KIAor
dHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIFdLV2Vic2l0ZURhdGFUeXBlcykgeworICAg
IFdLV2Vic2l0ZURhdGFUeXBlQWxsID0gTlNVSW50ZWdlck1heCwKK30gV0tfRU5VTV9BVkFJTEFC
TEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CisKIFdLX0NMQVNTX0RFUFJFQ0FURUQoV0tfTUFD
X1RCQSwgV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSwgV0tfSU9TX1RCQSwgIlBsZWFzZSB1c2UgV0tX
ZWJzaXRlRGF0YVJlY29yZCBpbnN0ZWFkIikKIEBpbnRlcmZhY2UgX1dLV2Vic2l0ZURhdGFSZWNv
cmQgOiBXS1dlYnNpdGVEYXRhUmVjb3JkCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IDgwNzc3
OThlZGFkZTJmZjliMTk3YmJlYmQwNTgwMzY3YTkwMWYzMzguLmFlMTU2MzJhYmI2MjRhYzI1Y2M5
NzE0NTM4YTJjZWU0ZjM5MDM3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0yOSwxMiArMjksMjEg
QEAKIAogI2ltcG9ydCA8V2ViS2l0L1dLV2Vic2l0ZURhdGFTdG9yZS5oPgogCit0eXBlZGVmIE5T
X09QVElPTlMoTlNVSW50ZWdlciwgV0tXZWJzaXRlRGF0YVR5cGVzKSB7CisgICAgV0tXZWJzaXRl
RGF0YVR5cGVBbGwgPSBOU1VJbnRlZ2VyTWF4LAorfSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNf
VEJBLCBXS19JT1NfVEJBKTsKKworCiBXS19DTEFTU19ERVBSRUNBVEVEKDEwXzEwLCBXS19NQUNf
VEJBLCA4XzAsIFdLX0lPU19UQkEsICJQbGVhc2UgdXNlIFdLV2Vic2l0ZURhdGFTdG9yZSBpbnN0
ZWFkIikKIEBpbnRlcmZhY2UgX1dLV2Vic2l0ZURhdGFTdG9yZSA6IFdLV2Vic2l0ZURhdGFTdG9y
ZQogCiArIChfV0tXZWJzaXRlRGF0YVN0b3JlICopZGVmYXVsdERhdGFTdG9yZTsKICsgKF9XS1dl
YnNpdGVEYXRhU3RvcmUgKilub25QZXJzaXN0ZW50RGF0YVN0b3JlOwogCistICh2b2lkKWZldGNo
RGF0YVJlY29yZHNPZlR5cGVzOihXS1dlYnNpdGVEYXRhVHlwZXMpd2Vic2l0ZURhdGFUeXBlcyBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheSAqKSljb21wbGV0aW9uSGFuZGxlcjsK
Ky0gKHZvaWQpcmVtb3ZlRGF0YU9mVHlwZXM6KFdLV2Vic2l0ZURhdGFUeXBlcyl3ZWJzaXRlRGF0
YVR5cGVzIGZvckRhdGFSZWNvcmRzOihOU0FycmF5ICopZGF0YVJlY29yZHMgY29tcGxldGlvbkhh
bmRsZXI6KHZvaWQgKF4pKCkpY29tcGxldGlvbkhhbmRsZXI7CistICh2b2lkKXJlbW92ZURhdGFP
ZlR5cGVzOihXS1dlYnNpdGVEYXRhVHlwZXMpd2Vic2l0ZURhdGFUeXBlcyBtb2RpZmllZFNpbmNl
OihOU0RhdGUgKilkYXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSgpKWNvbXBsZXRpb25I
YW5kbGVyOworCiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlLm1tCmluZGV4IDg0OTJlMTZm
YzNmYzIxNTA2NDM5MzhlYmU0MThkYzdhNWRiMDIyZGEuLjE3YzAzOGU5MDA2YTRhN2Y3Y2VkZjFk
ZjhjMzQzMDQ4ODMxOWJiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmUubW0KQEAgLTI4LDExICsyOCw0MyBA
QAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCit0
eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0ZURhdGFUeXBlcykgeworICAg
IF9XS1dlYnNpdGVEYXRhVHlwZUNvb2tpZXMgPSAxIDw8IDAsCisgICAgX1dLV2Vic2l0ZURhdGFU
eXBlRGlza0NhY2hlID0gMSA8PCAxLAorICAgIF9XS1dlYnNpdGVEYXRhVHlwZU1lbW9yeUNhY2hl
ID0gMSA8PCAyLAorICAgIF9XS1dlYnNpdGVEYXRhVHlwZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlID0gMSA8PCAzLAorCisgICAgX1dLV2Vic2l0ZURhdGFUeXBlTG9jYWxTdG9yYWdlID0gMSA8
PCA0LAorICAgIF9XS1dlYnNpdGVEYXRhVHlwZVdlYlNRTERhdGFiYXNlcyA9IDEgPDwgNSwKK307
CisKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKIAogQGltcGxlbWVudGF0aW9u
IF9XS1dlYnNpdGVEYXRhU3RvcmUKIAorc3RhdGljIFJldGFpblB0cjxOU1NldD4gdG9XS1dlYnNp
dGVEYXRhVHlwZXMoX1dLV2Vic2l0ZURhdGFUeXBlcyB3ZWJzaXRlRGF0YVR5cGVzKQoreworICAg
IGF1dG8gd2tXZWJzaXRlRGF0YVR5cGVzID0gYWRvcHROUyhbW05TTXV0YWJsZVNldCBhbGxvY10g
aW5pdF0pOworCisgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMgJiBfV0tXZWJzaXRlRGF0YVR5cGVD
b29raWVzKQorICAgICAgICBbd2tXZWJzaXRlRGF0YVR5cGVzIGFkZE9iamVjdDpXS1dlYnNpdGVE
YXRhVHlwZUNvb2tpZXNdOworICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzICYgX1dLV2Vic2l0ZURh
dGFUeXBlRGlza0NhY2hlKQorICAgICAgICBbd2tXZWJzaXRlRGF0YVR5cGVzIGFkZE9iamVjdDpX
S1dlYnNpdGVEYXRhVHlwZURpc2tDYWNoZV07CisgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMgJiBf
V0tXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNoZSkKKyAgICAgICAgW3drV2Vic2l0ZURhdGFUeXBl
cyBhZGRPYmplY3Q6V0tXZWJzaXRlRGF0YVR5cGVNZW1vcnlDYWNoZV07CisgICAgaWYgKHdlYnNp
dGVEYXRhVHlwZXMgJiBfV0tXZWJzaXRlRGF0YVR5cGVPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNo
ZSkKKyAgICAgICAgW3drV2Vic2l0ZURhdGFUeXBlcyBhZGRPYmplY3Q6V0tXZWJzaXRlRGF0YVR5
cGVPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZV07CisgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMg
JiBfV0tXZWJzaXRlRGF0YVR5cGVMb2NhbFN0b3JhZ2UpCisgICAgICAgIFt3a1dlYnNpdGVEYXRh
VHlwZXMgYWRkT2JqZWN0OldLV2Vic2l0ZURhdGFUeXBlTG9jYWxTdG9yYWdlXTsKKyAgICBpZiAo
d2Vic2l0ZURhdGFUeXBlcyAmIF9XS1dlYnNpdGVEYXRhVHlwZVdlYlNRTERhdGFiYXNlcykKKyAg
ICAgICAgW3drV2Vic2l0ZURhdGFUeXBlcyBhZGRPYmplY3Q6V0tXZWJzaXRlRGF0YVR5cGVXZWJT
UUxEYXRhYmFzZXNdOworCisgICAgcmV0dXJuIHdrV2Vic2l0ZURhdGFUeXBlczsKK30KKwogKyAo
X1dLV2Vic2l0ZURhdGFTdG9yZSAqKWRlZmF1bHREYXRhU3RvcmUKIHsKICAgICByZXR1cm4gKF9X
S1dlYnNpdGVEYXRhU3RvcmUgKilbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVd
OwpAQCAtNDMsNiArNzUsMjEgQEAKICAgICByZXR1cm4gKF9XS1dlYnNpdGVEYXRhU3RvcmUgKilb
V0tXZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNpc3RlbnREYXRhU3RvcmVdOwogfQogCistICh2b2lk
KWZldGNoRGF0YVJlY29yZHNPZlR5cGVzOihXS1dlYnNpdGVEYXRhVHlwZXMpd2Vic2l0ZURhdGFU
eXBlcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNBcnJheSAqKSljb21wbGV0aW9uSGFu
ZGxlcgoreworICAgIFtzdXBlciBmZXRjaERhdGFSZWNvcmRzT2ZUeXBlczp0b1dLV2Vic2l0ZURh
dGFUeXBlcyh3ZWJzaXRlRGF0YVR5cGVzKS5nZXQoKSBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0
aW9uSGFuZGxlcl07Cit9CisKKy0gKHZvaWQpcmVtb3ZlRGF0YU9mVHlwZXM6KFdLV2Vic2l0ZURh
dGFUeXBlcyl3ZWJzaXRlRGF0YVR5cGVzIGZvckRhdGFSZWNvcmRzOihOU0FycmF5ICopZGF0YVJl
Y29yZHMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKCkpY29tcGxldGlvbkhhbmRsZXIKK3sK
KyAgICBbc3VwZXIgcmVtb3ZlRGF0YU9mVHlwZXM6dG9XS1dlYnNpdGVEYXRhVHlwZXMod2Vic2l0
ZURhdGFUeXBlcykuZ2V0KCkgZm9yRGF0YVJlY29yZHM6ZGF0YVJlY29yZHMgY29tcGxldGlvbkhh
bmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOworfQorCistICh2b2lkKXJlbW92ZURhdGFPZlR5cGVz
OihXS1dlYnNpdGVEYXRhVHlwZXMpd2Vic2l0ZURhdGFUeXBlcyBtb2RpZmllZFNpbmNlOihOU0Rh
dGUgKilkYXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSgpKWNvbXBsZXRpb25IYW5kbGVy
Cit7CisgICAgW3N1cGVyIHJlbW92ZURhdGFPZlR5cGVzOnRvV0tXZWJzaXRlRGF0YVR5cGVzKHdl
YnNpdGVEYXRhVHlwZXMpLmdldCgpIG1vZGlmaWVkU2luY2U6ZGF0ZSBjb21wbGV0aW9uSGFuZGxl
cjpjb21wbGV0aW9uSGFuZGxlcl07Cit9CisKIEBlbmQKIAogI3ByYWdtYSBjbGFuZyBkaWFnbm9z
dGljIHBvcAo=
</data>
<flag name="review"
          id="275985"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>