Update Account tests so that they work with Swift Packages and the most recent code changes

This commit is contained in:
Maurice Parker 2020-08-04 12:43:29 -05:00
parent 2ed0844efd
commit 482c18ac93
55 changed files with 85 additions and 76296 deletions

View File

@ -37,13 +37,6 @@ let package = Package(
dependencies: ["Account"], dependencies: ["Account"],
resources: [ resources: [
.copy("JSON"), .copy("JSON"),
.copy("Feedly/feedly-1-initial"),
.copy("Feedly/feedly-2-changestatuses"),
.copy("Feedly/feedly-3-changestatusesagain"),
.copy("Feedly/feedly-4-addfeedsandfolders"),
.copy("Feedly/feedly-5-removefeedsandfolders"),
.copy("Feedly/feedly-add-new-feed"),
.copy("Feedly/Initial"),
]), ]),
] ]
) )

View File

@ -9,6 +9,7 @@
import XCTest import XCTest
import RSWeb import RSWeb
@testable import Account @testable import Account
import Secrets
class AccountCredentialsTest: XCTestCase { class AccountCredentialsTest: XCTestCase {

View File

@ -20,9 +20,9 @@ class AccountFeedbinFolderContentsSyncTest: XCTestCase {
func testDownloadSync() { func testDownloadSync() {
let testTransport = TestTransport() let testTransport = TestTransport()
testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "tags_add.json" testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "JSON/tags_add.json"
testTransport.testFiles["https://api.feedbin.com/v2/subscriptions.json"] = "subscriptions_initial.json" testTransport.testFiles["https://api.feedbin.com/v2/subscriptions.json"] = "JSON/subscriptions_initial.json"
testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "taggings_initial.json" testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "JSON/taggings_initial.json"
let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport) let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport)
// Test initial folders // Test initial folders
@ -37,7 +37,7 @@ class AccountFeedbinFolderContentsSyncTest: XCTestCase {
XCTAssertEqual(2, account.topLevelWebFeeds.count) XCTAssertEqual(2, account.topLevelWebFeeds.count)
// Test Adding a Feed to the folder // Test Adding a Feed to the folder
testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "taggings_add.json" testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "JSON/taggings_add.json"
let addExpection = self.expectation(description: "Add contents") let addExpection = self.expectation(description: "Add contents")
account.refreshAll() { _ in account.refreshAll() { _ in
@ -49,7 +49,7 @@ class AccountFeedbinFolderContentsSyncTest: XCTestCase {
XCTAssertEqual(1, account.topLevelWebFeeds.count) XCTAssertEqual(1, account.topLevelWebFeeds.count)
// Test Deleting some Feeds from the folder // Test Deleting some Feeds from the folder
testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "taggings_delete.json" testTransport.testFiles["https://api.feedbin.com/v2/taggings.json"] = "JSON/taggings_delete.json"
let deleteExpection = self.expectation(description: "Delete contents") let deleteExpection = self.expectation(description: "Delete contents")
account.refreshAll() { _ in account.refreshAll() { _ in

View File

@ -20,7 +20,7 @@ class AccountFeedbinFolderSyncTest: XCTestCase {
func testDownloadSync() { func testDownloadSync() {
let testTransport = TestTransport() let testTransport = TestTransport()
testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "tags_initial.json" testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "JSON/tags_initial.json"
let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport) let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport)
// Test initial folders // Test initial folders
@ -40,7 +40,7 @@ class AccountFeedbinFolderSyncTest: XCTestCase {
XCTAssertTrue(initialFolderNames.contains("Outdoors")) XCTAssertTrue(initialFolderNames.contains("Outdoors"))
// Test removing folders // Test removing folders
testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "tags_delete.json" testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "JSON/tags_delete.json"
let deleteExpection = self.expectation(description: "Delete tags") let deleteExpection = self.expectation(description: "Delete tags")
account.refreshAll() { _ in account.refreshAll() { _ in
@ -59,7 +59,7 @@ class AccountFeedbinFolderSyncTest: XCTestCase {
XCTAssertFalse(deleteFolderNames.contains("Tech Media")) XCTAssertFalse(deleteFolderNames.contains("Tech Media"))
// Test Adding Folders // Test Adding Folders
testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "tags_add.json" testTransport.testFiles["https://api.feedbin.com/v2/tags.json"] = "JSON/tags_add.json"
let addExpection = self.expectation(description: "Add tags") let addExpection = self.expectation(description: "Add tags")
account.refreshAll() { _ in account.refreshAll() { _ in

View File

@ -20,8 +20,8 @@ class AccountFeedbinSyncTest: XCTestCase {
func testDownloadSync() { func testDownloadSync() {
let testTransport = TestTransport() let testTransport = TestTransport()
testTransport.testFiles["tags.json"] = "tags_add.json" testTransport.testFiles["tags.json"] = "JSON/tags_add.json"
testTransport.testFiles["subscriptions.json"] = "subscriptions_initial.json" testTransport.testFiles["subscriptions.json"] = "JSON/subscriptions_initial.json"
let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport) let account = TestAccountManager.shared.createAccount(type: .feedbin, transport: testTransport)
// Test initial folders // Test initial folders
@ -44,7 +44,7 @@ class AccountFeedbinSyncTest: XCTestCase {
XCTAssertEqual("https://daringfireball.net/", daringFireball!.homePageURL) XCTAssertEqual("https://daringfireball.net/", daringFireball!.homePageURL)
// Test Adding a Feed // Test Adding a Feed
testTransport.testFiles["subscriptions.json"] = "subscriptions_add.json" testTransport.testFiles["subscriptions.json"] = "JSON/subscriptions_add.json"
let addExpection = self.expectation(description: "Add feeds") let addExpection = self.expectation(description: "Add feeds")
account.refreshAll() { result in account.refreshAll() { result in

View File

@ -1,341 +0,0 @@
//
// FeedlyAddNewFeedOperationTests.swift
// AccountTests
//
// Created by Kiel Gillard on 2/12/19.
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
//
import XCTest
@testable import Account
import RSWeb
import RSCore
class FeedlyAddNewFeedOperationTests: XCTestCase {
private var account: Account!
private let support = FeedlyTestSupport()
override func setUp() {
super.setUp()
account = support.makeTestAccount()
}
override func tearDown() {
if let account = account {
support.destroy(account)
}
super.tearDown()
}
private var transport = TestTransport()
lazy var caller: FeedlyAPICaller = {
let caller = FeedlyAPICaller(transport: transport, api: .sandbox)
caller.credentials = support.accessToken
return caller
}()
private func getFolderByLoadingInitialContent() -> Folder? {
let subdirectory = "feedly-add-new-feed"
let provider = InitialMockResponseProvider(findingMocksIn: subdirectory)
transport.mockResponseFileUrlProvider = provider
let getCollections = FeedlyGetCollectionsOperation(service: caller, log: support.log)
let mirrorCollectionsAsFolders = FeedlyMirrorCollectionsAsFoldersOperation(account: account, collectionsProvider: getCollections, log: support.log)
MainThreadOperationQueue.shared.make(mirrorCollectionsAsFolders, dependOn: getCollections)
let createFolders = FeedlyCreateFeedsForCollectionFoldersOperation(account: account, feedsAndFoldersProvider: mirrorCollectionsAsFolders, log: support.log)
MainThreadOperationQueue.shared.make(createFolders, dependOn: mirrorCollectionsAsFolders)
let completionExpectation = expectation(description: "Did Finish")
createFolders.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperations([getCollections, mirrorCollectionsAsFolders, createFolders])
waitForExpectations(timeout: 2)
support.checkFoldersAndFeeds(in: account, againstCollectionsAndFeedsInJSONNamed: "emptyCollections", subdirectory: subdirectory)
guard let folder = account.folders?.first else {
XCTFail("Unable to load test folder to add a feed into.")
return nil
}
XCTAssertEqual(folder.topLevelWebFeeds.count, 0)
return folder
}
func expectationForCompletion(of progress: DownloadProgress) -> XCTestExpectation {
return expectation(forNotification: .DownloadProgressDidChange, object: progress) { notification -> Bool in
guard let progress = notification.object as? DownloadProgress else {
return false
}
// We want to assert the progress completes.
if progress.isComplete {
return true
}
return false
}
}
let searchUrl = "https://macrumors.com"
func testCancel() {
guard let folder = getFolderByLoadingInitialContent() else {
return
}
let progress = DownloadProgress(numberOfTasks: 0)
let container = support.makeTestDatabaseContainer()
let _ = expectationForCompletion(of: progress)
let addNewFeed = try! FeedlyAddNewFeedOperation(account: account,
credentials: support.accessToken,
url: searchUrl,
feedName: nil,
searchService: caller,
addToCollectionService: caller,
syncUnreadIdsService: caller,
getStreamContentsService: caller,
database: container.database,
container: folder,
progress: progress,
log: support.log)
// If this expectation is not fulfilled, the operation is not calling `didFinish`.
let completionExpectation = expectation(description: "Did Finish")
addNewFeed.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(addNewFeed)
XCTAssert(progress.numberRemaining > 0)
addNewFeed.cancel()
waitForExpectations(timeout: 2)
XCTAssert(progress.isComplete)
}
func testAddNewFeedSuccess() throws {
guard let folder = getFolderByLoadingInitialContent() else {
return
}
let progress = DownloadProgress(numberOfTasks: 0)
let container = support.makeTestDatabaseContainer()
let _ = expectationForCompletion(of: progress)
let subdirectory = "feedly-add-new-feed"
let searchUrl = self.searchUrl
let provider = MockResponseProvider(findingMocksIn: subdirectory)
provider.searchQueryHandler = { query in
XCTAssertEqual(query, searchUrl)
}
transport.mockResponseFileUrlProvider = provider
let addNewFeed = try! FeedlyAddNewFeedOperation(account: account,
credentials: support.accessToken,
url: searchUrl,
feedName: nil,
searchService: caller,
addToCollectionService: caller,
syncUnreadIdsService: caller,
getStreamContentsService: caller,
database: container.database,
container: folder,
progress: progress,
log: support.log)
// If this expectation is not fulfilled, the operation is not calling `didFinish`.
let completionExpectation = expectation(description: "Did Finish")
addNewFeed.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(addNewFeed)
XCTAssert(progress.numberRemaining > 0)
waitForExpectations(timeout: 2)
XCTAssert(progress.isComplete)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "feedStream", subdirectory: subdirectory)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds", subdirectory: subdirectory, testCase: self)
}
class TestFeedlyAddFeedToCollectionService: FeedlyAddFeedToCollectionService {
var mockResult: Result<[FeedlyFeed], Error>?
var addFeedExpectation: XCTestExpectation?
var parameterTester: ((FeedlyFeedResourceId, String?, String) -> ())?
func addFeed(with feedId: FeedlyFeedResourceId, title: String?, toCollectionWith collectionId: String, completion: @escaping (Result<[FeedlyFeed], Error>) -> ()) {
guard let result = mockResult else {
XCTFail("Missing mock result. Test may time out because the completion will not be called.")
return
}
parameterTester?(feedId, title, collectionId)
DispatchQueue.main.async {
completion(result)
self.addFeedExpectation?.fulfill()
}
}
}
func testAddNewFeedFailure() {
guard let folder = getFolderByLoadingInitialContent() else {
return
}
let progress = DownloadProgress(numberOfTasks: 0)
let container = support.makeTestDatabaseContainer()
let _ = expectationForCompletion(of: progress)
let subdirectory = "feedly-add-new-feed"
let searchUrl = self.searchUrl
let feedName = "MacRumours with a \"u\" because I am Australian"
let provider = MockResponseProvider(findingMocksIn: subdirectory)
provider.searchQueryHandler = { query in
XCTAssertEqual(query, searchUrl)
}
transport.mockResponseFileUrlProvider = provider
let service = TestFeedlyAddFeedToCollectionService()
service.mockResult = .failure(URLError(.timedOut))
service.addFeedExpectation = expectation(description: "Add New Feed Called")
service.parameterTester = { feedResource, title, collectionId in
XCTAssertEqual(feedResource.id, "feed/http://feeds.macrumors.com/MacRumors-All")
XCTAssertEqual(title, feedName)
XCTAssertEqual(collectionId, folder.externalID)
}
let addNewFeed = try! FeedlyAddNewFeedOperation(account: account,
credentials: support.accessToken,
url: searchUrl,
feedName: feedName,
searchService: caller,
addToCollectionService: service,
syncUnreadIdsService: caller,
getStreamContentsService: caller,
database: container.database,
container: folder,
progress: progress,
log: support.log)
// If this expectation is not fulfilled, the operation is not calling `didFinish`.
let completionExpectation = expectation(description: "Did Finish")
addNewFeed.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(addNewFeed)
XCTAssert(progress.numberRemaining > 0)
waitForExpectations(timeout: 2)
XCTAssert(progress.isComplete)
XCTAssertEqual(folder.topLevelWebFeeds.count, 0)
}
}
private class InitialMockResponseProvider: TestTransportMockResponseProviding {
let subdirectory: String
init(findingMocksIn subdirectory: String) {
self.subdirectory = subdirectory
}
func mockResponseFileUrl(for components: URLComponents) -> URL? {
let bundle = Bundle(for: type(of: self))
// When we get a request for the initial collections content, use these results.
if components.path.contains("/v3/collections") {
return bundle.url(forResource: "emptyCollections", withExtension: "json", subdirectory: subdirectory)
}
return nil
}
}
private class MockResponseProvider: TestTransportMockResponseProviding {
let subdirectory: String
init(findingMocksIn subdirectory: String) {
self.subdirectory = subdirectory
}
var searchQueryHandler: ((String) -> ())?
func mockResponseFileUrl(for components: URLComponents) -> URL? {
let bundle = Bundle(for: type(of: self))
let queryItems = components.queryItems ?? []
let query = queryItems.first(where: { $0.name.contains("query") })?.value
// When we get the search request, use these results.
if components.path.contains("search/feeds") {
if let query = query {
searchQueryHandler?(query)
} else {
XCTFail("`query` missing from URL query items in search request: \(components)")
}
return bundle.url(forResource: "searchResults", withExtension: "json", subdirectory: subdirectory)
}
// When we get a request to add a feed, use these results.
if components.path.contains("/v3/collections") && components.path.contains("/feeds") {
return bundle.url(forResource: "putFeed", withExtension: "json", subdirectory: subdirectory)
}
// When we get a request for the initial collections content, use these results.
if components.path.contains("/v3/collections") {
return bundle.url(forResource: "collections", withExtension: "json", subdirectory: subdirectory)
}
let continuation = queryItems.first(where: { $0.name.contains("continuation") })?.value
// When we get a request for unread article ids, use these results.
if components.path.contains("streams/ids") {
// if there is a continuation, return the page for it
if let continuation = continuation, let data = continuation.data(using: .utf8) {
let base64 = data.base64EncodedString() // at least base64 can be used as a path component.
return bundle.url(forResource: "unreadIds@\(base64)", withExtension: "json", subdirectory: subdirectory)
} else {
// return first page
return bundle.url(forResource: "unreadIds", withExtension: "json", subdirectory: subdirectory)
}
}
// When we get a request for the contents of the feed stream, use these results.
if components.path.contains("streams/contents") {
// if there is a continuation, return the page for it
if let continuation = continuation, let data = continuation.data(using: .utf8) {
let base64 = data.base64EncodedString() // at least base64 can be used as a path component.
return bundle.url(forResource: "feedStream@\(base64)", withExtension: "json", subdirectory: subdirectory)
} else {
// return first page
return bundle.url(forResource: "feedStream", withExtension: "json", subdirectory: subdirectory)
}
}
return nil
}
}

View File

@ -61,7 +61,7 @@ class FeedlyCreateFeedsForCollectionFoldersOperationTests: XCTestCase {
XCTAssertTrue(account.flattenedWebFeeds().isEmpty, "Expected empty account.") XCTAssertTrue(account.flattenedWebFeeds().isEmpty, "Expected empty account.")
MainThreadOperationQueue.shared.addOperation(createFeeds) MainThreadOperationQueue.shared.add(createFeeds)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -132,7 +132,7 @@ class FeedlyCreateFeedsForCollectionFoldersOperationTests: XCTestCase {
XCTAssertTrue(account.flattenedWebFeeds().isEmpty, "Expected empty account.") XCTAssertTrue(account.flattenedWebFeeds().isEmpty, "Expected empty account.")
MainThreadOperationQueue.shared.addOperation(createFeeds) MainThreadOperationQueue.shared.add(createFeeds)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
} }
@ -154,7 +154,7 @@ class FeedlyCreateFeedsForCollectionFoldersOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(removeFeeds) MainThreadOperationQueue.shared.add(removeFeeds)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)

View File

@ -16,7 +16,7 @@ class FeedlyGetCollectionsOperationTests: XCTestCase {
func testGetCollections() { func testGetCollections() {
let support = FeedlyTestSupport() let support = FeedlyTestSupport()
let (transport, caller) = support.makeMockNetworkStack() let (transport, caller) = support.makeMockNetworkStack()
let jsonName = "feedly_collections_initial" let jsonName = "JSON/feedly_collections_initial"
transport.testFiles["/v3/collections"] = "\(jsonName).json" transport.testFiles["/v3/collections"] = "\(jsonName).json"
let getCollections = FeedlyGetCollectionsOperation(service: caller, log: support.log) let getCollections = FeedlyGetCollectionsOperation(service: caller, log: support.log)

View File

@ -40,7 +40,7 @@ class FeedlyGetStreamContentsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(getStreamContents) MainThreadOperationQueue.shared.add(getStreamContents)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -73,7 +73,7 @@ class FeedlyGetStreamContentsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(getStreamContents) MainThreadOperationQueue.shared.add(getStreamContents)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -94,7 +94,7 @@ class FeedlyGetStreamContentsOperationTests: XCTestCase {
func testGetStreamContentsFromJSON() { func testGetStreamContentsFromJSON() {
let support = FeedlyTestSupport() let support = FeedlyTestSupport()
let (transport, caller) = support.makeMockNetworkStack() let (transport, caller) = support.makeMockNetworkStack()
let jsonName = "feedly_macintosh_initial" let jsonName = "JSON/feedly_macintosh_initial"
transport.testFiles["/v3/streams/contents"] = "\(jsonName).json" transport.testFiles["/v3/streams/contents"] = "\(jsonName).json"
let resource = FeedlyCategoryResourceId(id: "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/5ca4d61d-e55d-4999-a8d1-c3b9d8789815") let resource = FeedlyCategoryResourceId(id: "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/5ca4d61d-e55d-4999-a8d1-c3b9d8789815")
@ -105,7 +105,7 @@ class FeedlyGetStreamContentsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(getStreamContents) MainThreadOperationQueue.shared.add(getStreamContents)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)

View File

@ -40,7 +40,7 @@ class FeedlyGetStreamIdsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(getStreamIds) MainThreadOperationQueue.shared.add(getStreamIds)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -73,7 +73,7 @@ class FeedlyGetStreamIdsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(getStreamIds) MainThreadOperationQueue.shared.add(getStreamIds)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -89,7 +89,7 @@ class FeedlyGetStreamIdsOperationTests: XCTestCase {
func testGetStreamIdsFromJSON() { func testGetStreamIdsFromJSON() {
let support = FeedlyTestSupport() let support = FeedlyTestSupport()
let (transport, caller) = support.makeMockNetworkStack() let (transport, caller) = support.makeMockNetworkStack()
let jsonName = "feedly_unreads_1000" let jsonName = "JSON/feedly_unreads_1000"
transport.testFiles["/v3/streams/ids"] = "\(jsonName).json" transport.testFiles["/v3/streams/ids"] = "\(jsonName).json"
let resource = FeedlyCategoryResourceId(id: "user/1234/category/5678") let resource = FeedlyCategoryResourceId(id: "user/1234/category/5678")
@ -100,7 +100,7 @@ class FeedlyGetStreamIdsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(getStreamIds) MainThreadOperationQueue.shared.add(getStreamIds)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)

View File

@ -9,6 +9,7 @@
import XCTest import XCTest
@testable import Account @testable import Account
import RSCore import RSCore
import Secrets
class FeedlyLogoutOperationTests: XCTestCase { class FeedlyLogoutOperationTests: XCTestCase {
@ -73,7 +74,7 @@ class FeedlyLogoutOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(logout) MainThreadOperationQueue.shared.add(logout)
MainThreadOperationQueue.shared.cancelOperations([logout]) MainThreadOperationQueue.shared.cancelOperations([logout])
@ -105,7 +106,7 @@ class FeedlyLogoutOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(logout) MainThreadOperationQueue.shared.add(logout)
waitForExpectations(timeout: 1) waitForExpectations(timeout: 1)
@ -151,7 +152,7 @@ class FeedlyLogoutOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(logout) MainThreadOperationQueue.shared.add(logout)
waitForExpectations(timeout: 1) waitForExpectations(timeout: 1)
@ -197,7 +198,7 @@ class FeedlyLogoutOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(logout) MainThreadOperationQueue.shared.add(logout)
waitForExpectations(timeout: 1) waitForExpectations(timeout: 1)

View File

@ -42,10 +42,7 @@ class FeedlyMirrorCollectionsAsFoldersOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
XCTAssertTrue(mirrorOperation.collectionsAndFolders.isEmpty) MainThreadOperationQueue.shared.add(mirrorOperation)
XCTAssertTrue(mirrorOperation.feedsAndFolders.isEmpty)
MainThreadOperationQueue.shared.addOperation(mirrorOperation)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -61,7 +58,7 @@ class FeedlyMirrorCollectionsAsFoldersOperationTests: XCTestCase {
XCTAssertTrue(missingNames.isEmpty, "Collections with these labels have no corresponding folder.") XCTAssertTrue(missingNames.isEmpty, "Collections with these labels have no corresponding folder.")
XCTAssertTrue(missingIds.isEmpty, "Collections with these ids have no corresponding folder.") XCTAssertTrue(missingIds.isEmpty, "Collections with these ids have no corresponding folder.")
XCTAssertEqual(mirrorOperation.collectionsAndFolders.count, provider.collections.count, "Mismatch between collections and folders.") // XCTAssertEqual(mirrorOperation.collectionsAndFolders.count, provider.collections.count, "Mismatch between collections and folders.")
} }
func testRemovesFolders() { func testRemovesFolders() {
@ -74,7 +71,7 @@ class FeedlyMirrorCollectionsAsFoldersOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(addFolders) MainThreadOperationQueue.shared.add(addFolders)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
} }
@ -88,7 +85,7 @@ class FeedlyMirrorCollectionsAsFoldersOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(removeFolders) MainThreadOperationQueue.shared.add(removeFolders)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -105,7 +102,6 @@ class FeedlyMirrorCollectionsAsFoldersOperationTests: XCTestCase {
XCTAssertTrue(remainingNames.isEmpty, "Folders with these names remain with no corresponding collection.") XCTAssertTrue(remainingNames.isEmpty, "Folders with these names remain with no corresponding collection.")
XCTAssertTrue(remainingIds.isEmpty, "Folders with these ids remain with no corresponding collection.") XCTAssertTrue(remainingIds.isEmpty, "Folders with these ids remain with no corresponding collection.")
XCTAssertTrue(removeFolders.collectionsAndFolders.isEmpty)
XCTAssertTrue(removeFolders.feedsAndFolders.isEmpty) XCTAssertTrue(removeFolders.feedsAndFolders.isEmpty)
} }
@ -136,7 +132,7 @@ class FeedlyMirrorCollectionsAsFoldersOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(mirrorOperation) MainThreadOperationQueue.shared.add(mirrorOperation)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -197,7 +193,7 @@ class FeedlyMirrorCollectionsAsFoldersOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(removeFolders) MainThreadOperationQueue.shared.add(removeFolders)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)

View File

@ -47,7 +47,7 @@ class FeedlyOrganiseParsedItemsByFeedOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(organise) MainThreadOperationQueue.shared.add(organise)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -68,7 +68,7 @@ class FeedlyOrganiseParsedItemsByFeedOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(organise) MainThreadOperationQueue.shared.add(organise)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -89,7 +89,7 @@ class FeedlyOrganiseParsedItemsByFeedOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(organise) MainThreadOperationQueue.shared.add(organise)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)

View File

@ -10,6 +10,7 @@ import XCTest
@testable import Account @testable import Account
import RSWeb import RSWeb
import RSCore import RSCore
import Secrets
class FeedlyRefreshAccessTokenOperationTests: XCTestCase { class FeedlyRefreshAccessTokenOperationTests: XCTestCase {
@ -61,7 +62,7 @@ class FeedlyRefreshAccessTokenOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(refresh) MainThreadOperationQueue.shared.add(refresh)
MainThreadOperationQueue.shared.cancelOperations([refresh]) MainThreadOperationQueue.shared.cancelOperations([refresh])
@ -100,7 +101,7 @@ class FeedlyRefreshAccessTokenOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(refresh) MainThreadOperationQueue.shared.add(refresh)
waitForExpectations(timeout: 1) waitForExpectations(timeout: 1)
@ -147,7 +148,7 @@ class FeedlyRefreshAccessTokenOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(refresh) MainThreadOperationQueue.shared.add(refresh)
waitForExpectations(timeout: 1) waitForExpectations(timeout: 1)
@ -201,7 +202,7 @@ class FeedlyRefreshAccessTokenOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(refresh) MainThreadOperationQueue.shared.add(refresh)
waitForExpectations(timeout: 1) waitForExpectations(timeout: 1)

View File

@ -41,7 +41,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
} }
@ -72,7 +72,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -115,7 +115,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -158,7 +158,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -201,7 +201,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -244,7 +244,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -287,7 +287,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -330,7 +330,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -373,7 +373,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -392,7 +392,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
func testSendAllSuccess() { func testSendAllSuccess() {
let articleIds = Set((0..<100).map { "feed/0/article/\($0)" }) let articleIds = Set((0..<100).map { "feed/0/article/\($0)" })
let keys = [ArticleStatus.Key.read, .starred] let keys = [SyncStatus.Key.read, .starred]
let flags = [true, false] let flags = [true, false]
let statuses = articleIds.map { articleId -> SyncStatus in let statuses = articleIds.map { articleId -> SyncStatus in
let key = keys.randomElement()! let key = keys.randomElement()!
@ -433,7 +433,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -452,7 +452,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
func testSendAllFailure() { func testSendAllFailure() {
let articleIds = Set((0..<100).map { "feed/0/article/\($0)" }) let articleIds = Set((0..<100).map { "feed/0/article/\($0)" })
let keys = [ArticleStatus.Key.read, .starred] let keys = [SyncStatus.Key.read, .starred]
let flags = [true, false] let flags = [true, false]
let statuses = articleIds.map { articleId -> SyncStatus in let statuses = articleIds.map { articleId -> SyncStatus in
let key = keys.randomElement()! let key = keys.randomElement()!
@ -494,7 +494,7 @@ class FeedlySendArticleStatusesOperationTests: XCTestCase {
didFinishExpectation.fulfill() didFinishExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(send) MainThreadOperationQueue.shared.add(send)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)

View File

@ -1,309 +0,0 @@
//
// FeedlySyncAllOperationTests.swift
// AccountTests
//
// Created by Kiel Gillard on 30/10/19.
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
//
import XCTest
@testable import Account
import RSWeb
import RSCore
class FeedlySyncAllOperationTests: XCTestCase {
private var account: Account!
private let support = FeedlyTestSupport()
override func setUp() {
super.setUp()
account = support.makeTestAccount()
}
override func tearDown() {
if let account = account {
support.destroy(account)
}
super.tearDown()
}
func expectationForCompletion(of progress: DownloadProgress) -> XCTestExpectation {
return expectation(forNotification: .DownloadProgressDidChange, object: progress) { notification -> Bool in
guard let progress = notification.object as? DownloadProgress else {
return false
}
// We want to assert the progress completes.
if progress.isComplete {
return true
}
return false
}
}
func testCancel() {
let markArticlesService = TestMarkArticlesService()
markArticlesService.didMarkExpectation = expectation(description: "Set Article Statuses")
markArticlesService.didMarkExpectation?.isInverted = true
let getStreamIdsService = TestGetStreamIdsService()
getStreamIdsService.getStreamIdsExpectation = expectation(description: "Get Unread Article Identifiers")
getStreamIdsService.getStreamIdsExpectation?.isInverted = true
let getCollectionsService = TestGetCollectionsService()
getCollectionsService.getCollectionsExpectation = expectation(description: "Get User's Collections")
getCollectionsService.getCollectionsExpectation?.isInverted = true
let getGlobalStreamContents = TestGetStreamContentsService()
getGlobalStreamContents.getStreamContentsExpectation = expectation(description: "Get Contents of global.all")
getGlobalStreamContents.getStreamContentsExpectation?.isInverted = true
let getStarredIds = TestGetStreamIdsService()
getStarredIds.getStreamIdsExpectation = expectation(description: "Get Ids of global.saved")
getStarredIds.getStreamIdsExpectation?.isInverted = true
let getEntriesService = TestGetEntriesService()
getEntriesService.getEntriesExpectation = expectation(description: "Get Entries")
getEntriesService.getEntriesExpectation?.isInverted = true
let progress = DownloadProgress(numberOfTasks: 0)
let _ = expectationForCompletion(of: progress)
let container = support.makeTestDatabaseContainer()
let syncAll = FeedlySyncAllOperation(account: account,
credentials: support.accessToken,
lastSuccessfulFetchStartDate: nil,
markArticlesService: markArticlesService,
getUnreadService: getStreamIdsService,
getCollectionsService: getCollectionsService,
getStreamContentsService: getGlobalStreamContents,
getStarredService: getStarredIds,
getStreamIdsService: getStreamIdsService,
getEntriesService: getEntriesService,
database: container.database,
downloadProgress: progress,
log: support.log)
// If this expectation is not fulfilled, the operation is not calling `didFinish`.
let completionExpectation = expectation(description: "Did Finish")
syncAll.completionBlock = { _ in
completionExpectation.fulfill()
}
let syncCompletionExpectation = expectation(description: "Did Finish Sync")
syncCompletionExpectation.isInverted = true
syncAll.syncCompletionHandler = { result in
switch result {
case .success:
XCTFail("Sync operation was cancelled, not successful.")
case .failure:
XCTFail("Sync operation should cancel silently.")
break
}
syncCompletionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(syncAll)
XCTAssertTrue(progress.numberOfTasks > 1)
syncAll.cancel()
waitForExpectations(timeout: 2)
XCTAssertNil(syncAll.syncCompletionHandler, "Expected completion handler to be destroyed after completion.")
}
private var transport = TestTransport()
lazy var caller: FeedlyAPICaller = {
let caller = FeedlyAPICaller(transport: transport, api: .sandbox)
caller.credentials = support.accessToken
return caller
}()
func testSyncing() throws {
performInitialSync()
try verifyInitialSync()
performChangeStatuses()
try verifyChangeStatuses()
performChangeStatusesAgain()
try verifyChangeStatusesAgain()
performAddFeedsAndFolders()
try verifyAddFeedsAndFolders()
}
// MARK: 1 - Initial Sync
private func loadMockData(inSubdirectoryNamed subdirectory: String) {
let provider = FeedlyMockResponseProvider(findingMocksIn: subdirectory)
transport.mockResponseFileUrlProvider = provider
let progress = DownloadProgress(numberOfTasks: 0)
let _ = expectationForCompletion(of: progress)
// lastSuccessfulFetchStartDate does not matter for the test, content will always be the same.
// It is tested in `FeedlyGetStreamContentsOperationTests`.
let syncAll = FeedlySyncAllOperation(account: account,
credentials: support.accessToken,
caller: caller,
database: databaseContainer.database,
lastSuccessfulFetchStartDate: nil,
downloadProgress: progress,
log: support.log)
// If this expectation is not fulfilled, the operation is not calling `didFinish`.
let completionExpectation = expectation(description: "Did Finish")
syncAll.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(syncAll)
XCTAssertTrue(progress.numberOfTasks > 1)
waitForExpectations(timeout: 5)
XCTAssertTrue(progress.numberOfTasks == 0)
}
func performInitialSync() {
loadMockData(inSubdirectoryNamed: "feedly-1-initial")
}
func verifyInitialSync() throws {
let subdirectory = "feedly-1-initial"
support.checkFoldersAndFeeds(in: account, againstCollectionsAndFeedsInJSONNamed: "collections", subdirectory: subdirectory)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "global.all", subdirectory: subdirectory)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "global.all@MTZkOTdkZWQ1NzM6NTE2OjUzYjgyNmEy", subdirectory: subdirectory)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds", subdirectory: subdirectory, testCase: self)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds@MTZkOTRhOTNhZTQ6MzExOjUzYjgyNmEy", subdirectory: subdirectory, testCase: self)
support.checkStarredStatuses(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory, testCase: self)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory)
}
// MARK: 2 - Change Statuses
func performChangeStatuses() {
loadMockData(inSubdirectoryNamed: "feedly-2-changestatuses")
}
func verifyChangeStatuses() throws {
let subdirectory = "feedly-2-changestatuses"
support.checkFoldersAndFeeds(in: account, againstCollectionsAndFeedsInJSONNamed: "collections", subdirectory: subdirectory)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "global.all", subdirectory: subdirectory)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds", subdirectory: subdirectory, testCase: self)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds@MTZkOTJkNjIwM2Q6MTEzYjpkNDUwNjA3MQ==", subdirectory: subdirectory, testCase: self)
support.checkStarredStatuses(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory, testCase: self)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory)
}
// MARK: 3 - Change Statuses Again
func performChangeStatusesAgain() {
loadMockData(inSubdirectoryNamed: "feedly-3-changestatusesagain")
}
func verifyChangeStatusesAgain() throws {
let subdirectory = "feedly-3-changestatusesagain"
support.checkFoldersAndFeeds(in: account, againstCollectionsAndFeedsInJSONNamed: "collections", subdirectory: subdirectory)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "global.all", subdirectory: subdirectory)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds", subdirectory: subdirectory, testCase: self)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds@MTZkOGRlMjVmM2M6M2YyOmQ0NTA2MDcx", subdirectory: subdirectory, testCase: self)
support.checkStarredStatuses(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory, testCase: self)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory)
}
// MARK: 4 - Add Feeds and Folders
func performAddFeedsAndFolders() {
loadMockData(inSubdirectoryNamed: "feedly-4-addfeedsandfolders")
}
func verifyAddFeedsAndFolders() throws {
let subdirectory = "feedly-4-addfeedsandfolders"
support.checkFoldersAndFeeds(in: account, againstCollectionsAndFeedsInJSONNamed: "collections", subdirectory: subdirectory)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "global.all", subdirectory: subdirectory)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds", subdirectory: subdirectory, testCase: self)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds@MTZkOTE3YTRlMzQ6YWZjOmQ0NTA2MDcx", subdirectory: subdirectory, testCase: self)
support.checkStarredStatuses(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory, testCase: self)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory)
}
// MARK: 5 - Remove Feeds and Folders
func performRemoveFeedsAndFolders() {
loadMockData(inSubdirectoryNamed: "feedly-5-removefeedsandfolders")
}
func verifyRemoveFeedsAndFolders() throws {
let subdirectory = "feedly-5-removefeedsandfolders"
support.checkFoldersAndFeeds(in: account, againstCollectionsAndFeedsInJSONNamed: "collections", subdirectory: subdirectory)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "global.all", subdirectory: subdirectory)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds", subdirectory: subdirectory, testCase: self)
support.checkUnreadStatuses(in: account, againstIdsInStreamInJSONNamed: "unreadIds@MTZkOGRlMjVmM2M6M2YxOmQ0NTA2MDcx", subdirectory: subdirectory, testCase: self)
support.checkStarredStatuses(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory, testCase: self)
try support.checkArticles(in: account, againstItemsInStreamInJSONNamed: "starred", subdirectory: subdirectory)
}
// MARK: Downloading Test Data
var lastSuccessfulFetchStartDate: Date?
lazy var databaseContainer: FeedlyTestSupport.TestDatabaseContainer = {
return support.makeTestDatabaseContainer()
}()
func downloadTestData() {
let caller = FeedlyAPICaller(transport: URLSession.webserviceTransport(), api: .sandbox)
let credentials = Credentials(type: .oauthAccessToken, username: "<#USERNAME#>", secret: "<#SECRET#>")
caller.credentials = credentials
let progress = DownloadProgress(numberOfTasks: 0)
let _ = expectationForCompletion(of: progress)
let syncAll = FeedlySyncAllOperation(account: account, credentials: credentials, caller: caller, database: databaseContainer.database, lastSuccessfulFetchStartDate: lastSuccessfulFetchStartDate, downloadProgress: progress, log: support.log)
// If this expectation is not fulfilled, the operation is not calling `didFinish`.
let completionExpectation = expectation(description: "Did Finish")
syncAll.completionBlock = { _ in
completionExpectation.fulfill()
}
lastSuccessfulFetchStartDate = Date()
MainThreadOperationQueue.shared.addOperation(syncAll)
XCTAssertTrue(progress.numberOfTasks > 1)
waitForExpectations(timeout: 60)
XCTAssertTrue(progress.numberOfTasks == 0)
}
// Prefix with "test" to manually run this particular function, e.g.: func test_getTestData()
func getTestData() {
// Add a breakpoint on the `print` statements and start a proxy server on your Mac.
// 1. In Feedly sandbox, perform the actions implied by the string in the print statement.
// 2. In the proxy server app, such as Charles, clear requests and responses and filter by "sandbox".
// 3. In Xcode, hit continue in the Debugger so the test requests the data.
// 4. Save the responses captured by the proxy.
print("Prepare for initial sync.")
downloadTestData()
assert(lastSuccessfulFetchStartDate != nil)
print("Read/unread, star and unstar some articles.")
downloadTestData()
print("Read/unread, star and unstar some articles again.")
downloadTestData()
print("Add Feeds and Folders.")
downloadTestData()
print("Rename and Remove Feeds and Folders.")
downloadTestData()
}
}

View File

@ -52,7 +52,7 @@ class FeedlySyncStreamContentsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(syncStreamContents) MainThreadOperationQueue.shared.add(syncStreamContents)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
@ -86,7 +86,7 @@ class FeedlySyncStreamContentsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(syncStreamContents) MainThreadOperationQueue.shared.add(syncStreamContents)
waitForExpectations(timeout: 2) waitForExpectations(timeout: 2)
} }
@ -127,7 +127,7 @@ class FeedlySyncStreamContentsOperationTests: XCTestCase {
completionExpectation.fulfill() completionExpectation.fulfill()
} }
MainThreadOperationQueue.shared.addOperation(syncStreamContents) MainThreadOperationQueue.shared.add(syncStreamContents)
waitForExpectations(timeout: 30) waitForExpectations(timeout: 30)

View File

@ -0,0 +1,20 @@
//
// FeedlyTestSecrets.swift
//
//
// Created by Maurice Parker on 8/4/20.
//
import Foundation
import Secrets
struct FeedlyTestSecrets: SecretsProvider {
var feedWranglerKey = ""
var mercuryClientId = ""
var mercuryClientSecret = ""
var feedlyClientId = ""
var feedlyClientSecret = ""
var twitterConsumerKey = ""
var twitterConsumerSecret = ""
var redditConsumerKey = ""
}

View File

@ -19,6 +19,10 @@ class FeedlyTestSupport {
var refreshToken = Credentials(type: .oauthRefreshToken, username: "Test", secret: "t3st-refresh-tok3n") var refreshToken = Credentials(type: .oauthRefreshToken, username: "Test", secret: "t3st-refresh-tok3n")
var transport = TestTransport() var transport = TestTransport()
init() {
SecretsManager.provider = FeedlyTestSecrets()
}
func makeMockNetworkStack() -> (TestTransport, FeedlyAPICaller) { func makeMockNetworkStack() -> (TestTransport, FeedlyAPICaller) {
let caller = FeedlyAPICaller(transport: transport, api: .sandbox) let caller = FeedlyAPICaller(transport: transport, api: .sandbox)
caller.credentials = accessToken caller.credentials = accessToken
@ -90,8 +94,7 @@ class FeedlyTestSupport {
} }
func testJSON(named: String, subdirectory: String? = nil) -> Any { func testJSON(named: String, subdirectory: String? = nil) -> Any {
let bundle = Bundle(for: TestTransport.self) let url = Bundle.module.url(forResource: named, withExtension: "json", subdirectory: subdirectory)!
let url = bundle.url(forResource: named, withExtension: "json", subdirectory: subdirectory)!
let data = try! Data(contentsOf: url) let data = try! Data(contentsOf: url)
let json = try! JSONSerialization.jsonObject(with: data) let json = try! JSONSerialization.jsonObject(with: data)
return json return json

View File

@ -1,141 +0,0 @@
//
// FeedlyUpdateAccountFeedsWithItemsOperationTests.swift
// AccountTests
//
// Created by Kiel Gillard on 24/10/19.
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
//
import XCTest
@testable import Account
import RSParser
import RSCore
class FeedlyUpdateAccountFeedsWithItemsOperationTests: XCTestCase {
private var account: Account!
private let support = FeedlyTestSupport()
override func setUp() {
super.setUp()
account = support.makeTestAccount()
}
override func tearDown() {
if let account = account {
support.destroy(account)
}
super.tearDown()
}
struct TestItemsByFeedProvider: FeedlyParsedItemsByFeedProviding {
var parsedItemsByFeedProviderName: String
var parsedItemsKeyedByFeedId: [String: Set<ParsedItem>]
}
func testUpdateAccountWithEmptyItems() throws {
let testItems = support.makeParsedItemTestDataFor(numberOfFeeds: 0, numberOfItemsInFeeds: 0)
let resource = FeedlyCategoryResourceId(id: "user/12345/category/6789")
let provider = TestItemsByFeedProvider(parsedItemsByFeedProviderName: resource.id, parsedItemsKeyedByFeedId: testItems)
let update = FeedlyUpdateAccountFeedsWithItemsOperation(account: account, organisedItemsProvider: provider, log: support.log)
let completionExpectation = expectation(description: "Did Finish")
update.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(update)
waitForExpectations(timeout: 2)
let entries = testItems.flatMap { $0.value }
let articleIds = Set(entries.compactMap { $0.syncServiceID })
XCTAssertEqual(articleIds.count, entries.count, "Not every item has a value for \(\ParsedItem.syncServiceID).")
let accountArticles = try account.fetchArticles(.articleIDs(articleIds))
XCTAssertTrue(accountArticles.isEmpty)
}
func testUpdateAccountWithOneItem() throws {
let testItems = support.makeParsedItemTestDataFor(numberOfFeeds: 1, numberOfItemsInFeeds: 1)
let resource = FeedlyCategoryResourceId(id: "user/12345/category/6789")
let provider = TestItemsByFeedProvider(parsedItemsByFeedProviderName: resource.id, parsedItemsKeyedByFeedId: testItems)
let update = FeedlyUpdateAccountFeedsWithItemsOperation(account: account, organisedItemsProvider: provider, log: support.log)
let completionExpectation = expectation(description: "Did Finish")
update.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(update)
waitForExpectations(timeout: 2)
let entries = testItems.flatMap { $0.value }
let articleIds = Set(entries.compactMap { $0.syncServiceID })
XCTAssertEqual(articleIds.count, entries.count, "Not every item has a value for \(\ParsedItem.syncServiceID).")
let accountArticles = try account.fetchArticles(.articleIDs(articleIds))
XCTAssertTrue(accountArticles.count == entries.count)
let accountArticleIds = Set(accountArticles.map { $0.articleID })
let missingIds = articleIds.subtracting(accountArticleIds)
XCTAssertTrue(missingIds.isEmpty)
}
func testUpdateAccountWithManyItems() throws {
let testItems = support.makeParsedItemTestDataFor(numberOfFeeds: 100, numberOfItemsInFeeds: 100)
let resource = FeedlyCategoryResourceId(id: "user/12345/category/6789")
let provider = TestItemsByFeedProvider(parsedItemsByFeedProviderName: resource.id, parsedItemsKeyedByFeedId: testItems)
let update = FeedlyUpdateAccountFeedsWithItemsOperation(account: account, organisedItemsProvider: provider, log: support.log)
let completionExpectation = expectation(description: "Did Finish")
update.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(update)
waitForExpectations(timeout: 10) // 10,000 articles takes ~ three seconds for me.
let entries = testItems.flatMap { $0.value }
let articleIds = Set(entries.compactMap { $0.syncServiceID })
XCTAssertEqual(articleIds.count, entries.count, "Not every item has a value for \(\ParsedItem.syncServiceID).")
let accountArticles = try account.fetchArticles(.articleIDs(articleIds))
XCTAssertTrue(accountArticles.count == entries.count)
let accountArticleIds = Set(accountArticles.map { $0.articleID })
let missingIds = articleIds.subtracting(accountArticleIds)
XCTAssertTrue(missingIds.isEmpty)
}
func testCancelUpdateAccount() throws {
let testItems = support.makeParsedItemTestDataFor(numberOfFeeds: 1, numberOfItemsInFeeds: 1)
let resource = FeedlyCategoryResourceId(id: "user/12345/category/6789")
let provider = TestItemsByFeedProvider(parsedItemsByFeedProviderName: resource.id, parsedItemsKeyedByFeedId: testItems)
let update = FeedlyUpdateAccountFeedsWithItemsOperation(account: account, organisedItemsProvider: provider, log: support.log)
let completionExpectation = expectation(description: "Did Finish")
update.completionBlock = { _ in
completionExpectation.fulfill()
}
MainThreadOperationQueue.shared.addOperation(update)
MainThreadOperationQueue.shared.cancelOperations([update])
waitForExpectations(timeout: 2)
let entries = testItems.flatMap { $0.value }
let articleIds = Set(entries.compactMap { $0.syncServiceID })
XCTAssertEqual(articleIds.count, entries.count, "Not every item has a value for \(\ParsedItem.syncServiceID).")
let accountArticles = try account.fetchArticles(.articleIDs(articleIds))
XCTAssertTrue(accountArticles.isEmpty)
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,296 +0,0 @@
{
"ids": [
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d947baaaa:15c6:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d9444b6ae:155b:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d942c0878:2de:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d93f9d9be:2ab:53b826a2",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d93d6ce8f:147d:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d93d6ce8f:147c:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d93c1a015:251:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d93b34eba:241:53b826a2",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d93b31822:142f:d4506071",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d93b31822:142e:d4506071",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d93b31822:142d:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d939fda8c:13f2:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d93950469:21b:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d93950469:21a:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d938aedbe:216:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d93852581:211:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9380dda0:209:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9376eefc:202:53b826a2",
"kv2DIas8GblflohzMAcClzUErTYUYammDtqm4auH/og=_16d936e2abe:1359:d4506071",
"kv2DIas8GblflohzMAcClzUErTYUYammDtqm4auH/og=_16d936e2abe:1358:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d936d06f3:1ef:53b826a2",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d9368e67a:133d:d4506071",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d93445712:12e2:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d933ea3c0:c4:53b826a2",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d9331f22f:1299:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d9331f22f:1298:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d931c60da:8b:53b826a2",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d93167a9c:7c:53b826a2",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d930e3ae3:122b:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d92fafd47:119c:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d92fafd47:119b:d4506071",
"ja4A8niNlyAfffczL726vcmEyvPHXJ4+zSYKI4xWdUg=_16d92efb228:118b:d4506071",
"ja4A8niNlyAfffczL726vcmEyvPHXJ4+zSYKI4xWdUg=_16d92efb228:118a:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92e40b08:11:53b826a2",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d92d74711:113f:d4506071",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d92d74711:113e:d4506071",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d92d74711:113d:d4506071",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d92d6203d:113b:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92cb9b83:d47:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92cb9b83:d46:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d92c4095a:10fb:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d92c4095a:10fa:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92c19339:d3b:fc4690a0",
"wEPPtpyxm18xeuKJtd0RXOmRfdiYTcxSNO1zsjNlPdg=_16d92c10fc0:10f0:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92ad8234:d27:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92a356f6:d1f:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92936251:d0c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92936251:d0b:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d928d1550:103e:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d928d1550:103d:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d927afac9:ce5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d927afac9:ce4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d926b25dc:cd9:fc4690a0",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d9267e977:fc9:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d925d00c6:ccf:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d925d00c6:cce:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d925620e1:f90:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d924895c3:cb8:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:cac:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:cab:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:caa:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:ca9:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d922ebbce:c9e:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d922ebbce:c9d:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d921f2cdb:eef:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d921f2cdb:eee:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d920c42e7:c86:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91f7f422:c70:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d91e838fb:e54:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91d9837f:c5c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91d3a580:c56:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91c5604c:c49:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91c5604c:c48:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91c5604c:c47:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d91c0ea34:dcf:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d91b143b9:d96:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d919d0e1b:c27:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9198dae9:c21:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3f:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3e:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3d:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3c:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3b:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3a:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b39:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b38:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b37:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b36:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b35:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9188f606:c15:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9188f606:c14:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9188f606:c13:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d917a4e34:afe:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d917a4e34:afd:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d917a4e34:afc:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9174a7bc:c02:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d90f19878:b55:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8f76c4f0:884:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8edefa36:703:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ec5b3f5:6f1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ec0c455:6dc:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8eafe951:655:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e7a5c11:5b8:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e47ea63:4f3:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8e42013b:555:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8e42013b:554:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a2:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e29a65f:44f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8e19672d:4b9:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e157c76:3ca:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8df74270:3a3:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f3:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f2:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f1:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f0:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3ef:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:359:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:358:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35c:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35b:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35a:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dcf0acd:353:fc4690a0",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d8dcbdbb5:347:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8db0dc98:33a:fc4690a0",
"ja4A8niNlyAfffczL726vcmEyvPHXJ4+zSYKI4xWdUg=_16d8dab6a11:2d6:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:335:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:334:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:298:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:297:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:296:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d928ffb:326:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d888cfb:31b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d7654f4:30d:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:309:fc4690a0",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d74755c:222:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21e:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21d:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e5:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e4:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d603c89:2f6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e5:fc4690a0",
"AY80t/Vl4TMkqqPjtnpcUzVjYAqDn3a9sFmvt0zCpmI=_16d8d3d9585:154:d4506071",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d3d59be:153:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d3:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d2:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11e:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11d:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfeb0cc:291:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfe9cb4:28d:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:4a:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:49:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cf5d0ea:284:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cdcb80b:270:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cd33bb7:26a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cc927f0:260:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:760:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:75f:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cbe6239:258:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cb47ebe:252:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ca03279:23f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8c98318d:6ee:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c9638e1:23a:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b7:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b6:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c6de21e:221:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c59cf46:213:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:448:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:447:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c45920d:206:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1ff:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1fe:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c10839d:1e1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8bf29449:1ce:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ba1ae86:1b1:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8a2de26c:4a:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8a041299:26:8e83c13e",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:2:5e4732b4",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:1:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89d099d9:5:c963e369",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51566:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51565:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89942421:5148f:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8988fd3e:51455:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89797893:1f1:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d896af822:1ac:db1c1742",
"4rURtf64IHW6ygZs9tzPieSmabigMiZqHVuUPwvicWg=_16d895c218f:51370:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89520343:5132b:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d894cd2ff:108:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89471ca5:105:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d893313be:f1:db1c1742",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89254704:5121b:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d8924f769:5121a:18991ffa",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8924f6cc:51219:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d8:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d7:db1c1742",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d891b096a:511c9:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89066ab8:c5:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88f67b14:b8:db1c1742",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d88ed77ca:510a4:18991ffa",
"wEPPtpyxm18xeuKJtd0RXOmRfdiYTcxSNO1zsjNlPdg=_16d88e0db64:5104a:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff8:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88d1c100:a3:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88ce0d5a:a0:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88c41716:9a:db1c1742",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d88b5f1f6:50f66:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4d:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88ad1618:50f0c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88a5d80e:7b:db1c1742",
"Ai/HDbZBn/DqS4YSFb8RbnuS8su16El+mi83Mpt/WqQ=_16d88a4dca2:50e96:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d889bd061:72:db1c1742",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d888b305c:50dda:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da6:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da5:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5b:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5a:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88737305:15:db1c1742",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d886c439f:50ca1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88695b6f:f:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d885899d3:2a4e:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d88540f01:50bf6:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d8846e4fe:50bc1:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d884666a1:50bba:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d8844085c:50b99:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8841112b:2a39:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d883f2213:50b6e:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d881ce4bb:509fb:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29f0:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ef:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ee:90d684ff",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d880e78f1:50990:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8804b013:29e2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d7:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d6:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d1:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080b:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080a:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:50809:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cd:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cc:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a2:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87be329a:29aa:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a4:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87aa0b8d:299b:90d684ff",
"qxI9mPUQaH2N8pL2LRpLlzIW5hw1iiQKLdJmLkGau/I=_16d87a8b438:50635:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d879fec1f:2992:90d684ff",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d879fb6f0:50612:18991ffa",
"mstho8+q3WlqKF/sQV4c1Sm0g7GZMkqDkTxYnXthJHo=_16d879f90ef:5060a:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ee:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ed:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c8:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2982:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2981:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d876d90e1:2970:90d684ff",
"Ai/HDbZBn/DqS4YSFb8RbnuS8su16El+mi83Mpt/WqQ=_16d875a7313:503b8:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2956:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2955:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293c:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293b:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293a:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2d:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d870280bb:2920:90d684ff",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd4:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd3:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd2:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86f894e7:2914:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86be7055:28f9:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d86bdfb5a:4fc5c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e4:90d684ff",
"r0GuC4sgAzEOyudB9cuXyJaa1HYa9lXs9s0Sf3Zd858=_16d86867c9b:4fb46:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d867b7bb5:28d3:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0d:18991ffa"
]
}

View File

@ -1,5 +0,0 @@
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/global.all",
"updated": 1572574658046,
"items": []
}

File diff suppressed because one or more lines are too long

View File

@ -1,258 +0,0 @@
{
"ids": [
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92cb9b83:d47:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92cb9b83:d46:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d92c4095a:10fb:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d92c4095a:10fa:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92c19339:d3b:fc4690a0",
"wEPPtpyxm18xeuKJtd0RXOmRfdiYTcxSNO1zsjNlPdg=_16d92c10fc0:10f0:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92ad8234:d27:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92a356f6:d1f:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92936251:d0c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d92936251:d0b:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d928d1550:103e:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d928d1550:103d:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d927afac9:ce5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d927afac9:ce4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d926b25dc:cd9:fc4690a0",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d9267e977:fc9:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d925d00c6:ccf:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d925d00c6:cce:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d925620e1:f90:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d924895c3:cb8:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:cac:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:cab:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:caa:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d923e9078:ca9:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d922ebbce:c9e:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d922ebbce:c9d:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d921f2cdb:eef:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d921f2cdb:eee:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d920c42e7:c86:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91f7f422:c70:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d91e838fb:e54:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91d9837f:c5c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91d3a580:c56:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91c5604c:c49:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91c5604c:c48:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d91c5604c:c47:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d91c0ea34:dcf:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d91b143b9:d96:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d919d0e1b:c27:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9198dae9:c21:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3f:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3e:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3d:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3c:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3b:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b3a:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b39:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b38:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b37:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b36:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d9189e253:b35:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9188f606:c15:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9188f606:c14:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9188f606:c13:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d917a4e34:afe:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d917a4e34:afd:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d917a4e34:afc:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9174a7bc:c02:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d90f19878:b55:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8f76c4f0:884:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8edefa36:703:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ec5b3f5:6f1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ec0c455:6dc:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8eafe951:655:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e7a5c11:5b8:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e47ea63:4f3:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8e42013b:555:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8e42013b:554:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a2:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e29a65f:44f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8e19672d:4b9:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e157c76:3ca:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8df74270:3a3:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f3:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f2:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f1:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f0:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3ef:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:359:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:358:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35c:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35b:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35a:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dcf0acd:353:fc4690a0",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d8dcbdbb5:347:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8db0dc98:33a:fc4690a0",
"ja4A8niNlyAfffczL726vcmEyvPHXJ4+zSYKI4xWdUg=_16d8dab6a11:2d6:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:335:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:334:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:298:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:297:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:296:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d928ffb:326:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d888cfb:31b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d7654f4:30d:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:309:fc4690a0",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d74755c:222:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21e:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21d:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e5:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e4:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d603c89:2f6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e5:fc4690a0",
"AY80t/Vl4TMkqqPjtnpcUzVjYAqDn3a9sFmvt0zCpmI=_16d8d3d9585:154:d4506071",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d3d59be:153:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d3:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d2:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11e:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11d:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfeb0cc:291:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfe9cb4:28d:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:4a:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:49:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cf5d0ea:284:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cdcb80b:270:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cd33bb7:26a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cc927f0:260:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:760:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:75f:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cbe6239:258:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cb47ebe:252:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ca03279:23f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8c98318d:6ee:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c9638e1:23a:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b7:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b6:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c6de21e:221:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c59cf46:213:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:448:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:447:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c45920d:206:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1ff:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1fe:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c10839d:1e1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8bf29449:1ce:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ba1ae86:1b1:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8a2de26c:4a:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8a041299:26:8e83c13e",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:2:5e4732b4",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:1:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89d099d9:5:c963e369",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51566:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51565:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89942421:5148f:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8988fd3e:51455:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89797893:1f1:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d896af822:1ac:db1c1742",
"4rURtf64IHW6ygZs9tzPieSmabigMiZqHVuUPwvicWg=_16d895c218f:51370:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89520343:5132b:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d894cd2ff:108:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89471ca5:105:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d893313be:f1:db1c1742",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89254704:5121b:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d8924f769:5121a:18991ffa",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8924f6cc:51219:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d8:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d7:db1c1742",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d891b096a:511c9:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89066ab8:c5:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88f67b14:b8:db1c1742",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d88ed77ca:510a4:18991ffa",
"wEPPtpyxm18xeuKJtd0RXOmRfdiYTcxSNO1zsjNlPdg=_16d88e0db64:5104a:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff8:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88d1c100:a3:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88ce0d5a:a0:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88c41716:9a:db1c1742",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d88b5f1f6:50f66:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4d:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88ad1618:50f0c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88a5d80e:7b:db1c1742",
"Ai/HDbZBn/DqS4YSFb8RbnuS8su16El+mi83Mpt/WqQ=_16d88a4dca2:50e96:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d889bd061:72:db1c1742",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d888b305c:50dda:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da6:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da5:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5b:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5a:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88737305:15:db1c1742",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d886c439f:50ca1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88695b6f:f:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d885899d3:2a4e:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d88540f01:50bf6:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d8846e4fe:50bc1:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d884666a1:50bba:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d8844085c:50b99:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8841112b:2a39:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d883f2213:50b6e:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d881ce4bb:509fb:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29f0:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ef:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ee:90d684ff",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d880e78f1:50990:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8804b013:29e2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d7:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d6:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d1:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080b:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080a:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:50809:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cd:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cc:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a2:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87be329a:29aa:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a4:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87aa0b8d:299b:90d684ff",
"qxI9mPUQaH2N8pL2LRpLlzIW5hw1iiQKLdJmLkGau/I=_16d87a8b438:50635:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d879fec1f:2992:90d684ff",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d879fb6f0:50612:18991ffa",
"mstho8+q3WlqKF/sQV4c1Sm0g7GZMkqDkTxYnXthJHo=_16d879f90ef:5060a:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ee:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ed:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c8:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2982:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2981:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d876d90e1:2970:90d684ff",
"Ai/HDbZBn/DqS4YSFb8RbnuS8su16El+mi83Mpt/WqQ=_16d875a7313:503b8:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2956:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2955:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293c:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293b:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293a:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2d:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d870280bb:2920:90d684ff",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd4:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd3:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd2:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86f894e7:2914:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86be7055:28f9:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d86bdfb5a:4fc5c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e4:90d684ff",
"r0GuC4sgAzEOyudB9cuXyJaa1HYa9lXs9s0Sf3Zd858=_16d86867c9b:4fb46:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d867b7bb5:28d3:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0d:18991ffa"
]
}

View File

@ -1,5 +0,0 @@
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/global.all",
"updated": 1572574658046,
"items": []
}

File diff suppressed because one or more lines are too long

View File

@ -1,178 +0,0 @@
{
"ids": [
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f1:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f0:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3ef:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:359:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:358:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35c:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35b:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35a:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dcf0acd:353:fc4690a0",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d8dcbdbb5:347:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8db0dc98:33a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:335:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:334:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:298:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:297:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:296:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d928ffb:326:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d888cfb:31b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d7654f4:30d:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:309:fc4690a0",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d74755c:222:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21e:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21d:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e5:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e4:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d603c89:2f6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e5:fc4690a0",
"AY80t/Vl4TMkqqPjtnpcUzVjYAqDn3a9sFmvt0zCpmI=_16d8d3d9585:154:d4506071",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d3d59be:153:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d3:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d2:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11e:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11d:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfeb0cc:291:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfe9cb4:28d:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:4a:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:49:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cf5d0ea:284:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cdcb80b:270:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cd33bb7:26a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cc927f0:260:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:760:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:75f:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cbe6239:258:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cb47ebe:252:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ca03279:23f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8c98318d:6ee:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c9638e1:23a:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b7:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b6:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c6de21e:221:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c59cf46:213:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:448:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:447:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c45920d:206:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1ff:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1fe:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c10839d:1e1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8bf29449:1ce:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ba1ae86:1b1:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8a2de26c:4a:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8a041299:26:8e83c13e",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:2:5e4732b4",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:1:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89d099d9:5:c963e369",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51566:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51565:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89942421:5148f:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8988fd3e:51455:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89797893:1f1:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d896af822:1ac:db1c1742",
"4rURtf64IHW6ygZs9tzPieSmabigMiZqHVuUPwvicWg=_16d895c218f:51370:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89520343:5132b:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d894cd2ff:108:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89471ca5:105:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d893313be:f1:db1c1742",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89254704:5121b:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d8924f769:5121a:18991ffa",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8924f6cc:51219:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d8:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d7:db1c1742",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d891b096a:511c9:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89066ab8:c5:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88f67b14:b8:db1c1742",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d88ed77ca:510a4:18991ffa",
"wEPPtpyxm18xeuKJtd0RXOmRfdiYTcxSNO1zsjNlPdg=_16d88e0db64:5104a:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff8:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88d1c100:a3:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88ce0d5a:a0:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88c41716:9a:db1c1742",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d88b5f1f6:50f66:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4d:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88ad1618:50f0c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88a5d80e:7b:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d889bd061:72:db1c1742",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d888b305c:50dda:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da6:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da5:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5b:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5a:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88737305:15:db1c1742",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d886c439f:50ca1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88695b6f:f:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d885899d3:2a4e:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d88540f01:50bf6:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d8846e4fe:50bc1:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d884666a1:50bba:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d8844085c:50b99:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8841112b:2a39:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d883f2213:50b6e:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d881ce4bb:509fb:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29f0:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ef:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ee:90d684ff",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d880e78f1:50990:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8804b013:29e2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d7:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d6:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d1:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080b:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080a:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:50809:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cd:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cc:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a2:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87be329a:29aa:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a4:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87aa0b8d:299b:90d684ff",
"qxI9mPUQaH2N8pL2LRpLlzIW5hw1iiQKLdJmLkGau/I=_16d87a8b438:50635:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d879fec1f:2992:90d684ff",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d879fb6f0:50612:18991ffa",
"mstho8+q3WlqKF/sQV4c1Sm0g7GZMkqDkTxYnXthJHo=_16d879f90ef:5060a:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ee:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ed:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c8:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2982:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2981:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d876d90e1:2970:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2956:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2955:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293c:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293b:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293a:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2d:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d870280bb:2920:90d684ff",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd4:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd3:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd2:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86f894e7:2914:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86be7055:28f9:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d86bdfb5a:4fc5c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e4:90d684ff",
"r0GuC4sgAzEOyudB9cuXyJaa1HYa9lXs9s0Sf3Zd858=_16d86867c9b:4fb46:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d867b7bb5:28d3:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0d:18991ffa"
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,198 +0,0 @@
{
"ids": [
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d9174a7bc:c02:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d90f19878:b55:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8f76c4f0:884:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8edefa36:703:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ec5b3f5:6f1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ec0c455:6dc:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8eafe951:655:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e7a5c11:5b8:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e47ea63:4f3:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8e42013b:555:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8e42013b:554:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e33b2d9:4a2:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e29a65f:44f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8e19672d:4b9:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8e157c76:3ca:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8df74270:3a3:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f3:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f2:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f1:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f0:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3ef:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:359:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:358:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35c:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35b:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35a:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dcf0acd:353:fc4690a0",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d8dcbdbb5:347:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8db0dc98:33a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:335:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:334:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:298:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:297:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:296:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d928ffb:326:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d888cfb:31b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d7654f4:30d:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:309:fc4690a0",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d74755c:222:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21e:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21d:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e5:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e4:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d603c89:2f6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e5:fc4690a0",
"AY80t/Vl4TMkqqPjtnpcUzVjYAqDn3a9sFmvt0zCpmI=_16d8d3d9585:154:d4506071",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d3d59be:153:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d3:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d2:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11e:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11d:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfeb0cc:291:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfe9cb4:28d:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:4a:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:49:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cf5d0ea:284:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cdcb80b:270:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cd33bb7:26a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cc927f0:260:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:760:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:75f:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cbe6239:258:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cb47ebe:252:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ca03279:23f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8c98318d:6ee:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c9638e1:23a:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b7:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b6:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c6de21e:221:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c59cf46:213:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:448:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:447:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c45920d:206:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1ff:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1fe:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c10839d:1e1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8bf29449:1ce:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ba1ae86:1b1:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8a2de26c:4a:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8a041299:26:8e83c13e",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:2:5e4732b4",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:1:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89d099d9:5:c963e369",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51566:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51565:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89942421:5148f:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8988fd3e:51455:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89797893:1f1:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d896af822:1ac:db1c1742",
"4rURtf64IHW6ygZs9tzPieSmabigMiZqHVuUPwvicWg=_16d895c218f:51370:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89520343:5132b:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d894cd2ff:108:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89471ca5:105:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d893313be:f1:db1c1742",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89254704:5121b:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d8924f769:5121a:18991ffa",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8924f6cc:51219:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d8:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d7:db1c1742",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d891b096a:511c9:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89066ab8:c5:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88f67b14:b8:db1c1742",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d88ed77ca:510a4:18991ffa",
"wEPPtpyxm18xeuKJtd0RXOmRfdiYTcxSNO1zsjNlPdg=_16d88e0db64:5104a:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff8:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88d1c100:a3:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88ce0d5a:a0:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88c41716:9a:db1c1742",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d88b5f1f6:50f66:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4d:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88ad1618:50f0c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88a5d80e:7b:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d889bd061:72:db1c1742",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d888b305c:50dda:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da6:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da5:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5b:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5a:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88737305:15:db1c1742",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d886c439f:50ca1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88695b6f:f:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d885899d3:2a4e:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d88540f01:50bf6:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d8846e4fe:50bc1:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d884666a1:50bba:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d8844085c:50b99:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8841112b:2a39:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d883f2213:50b6e:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d881ce4bb:509fb:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29f0:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ef:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ee:90d684ff",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d880e78f1:50990:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8804b013:29e2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d7:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d6:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d1:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080b:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080a:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:50809:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cd:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cc:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a2:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87be329a:29aa:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a4:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87aa0b8d:299b:90d684ff",
"qxI9mPUQaH2N8pL2LRpLlzIW5hw1iiQKLdJmLkGau/I=_16d87a8b438:50635:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d879fec1f:2992:90d684ff",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d879fb6f0:50612:18991ffa",
"mstho8+q3WlqKF/sQV4c1Sm0g7GZMkqDkTxYnXthJHo=_16d879f90ef:5060a:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ee:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ed:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c8:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2982:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2981:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d876d90e1:2970:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2956:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2955:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293c:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293b:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293a:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2d:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d870280bb:2920:90d684ff",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd4:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd3:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd2:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86f894e7:2914:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86be7055:28f9:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d86bdfb5a:4fc5c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e4:90d684ff",
"r0GuC4sgAzEOyudB9cuXyJaa1HYa9lXs9s0Sf3Zd858=_16d86867c9b:4fb46:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d867b7bb5:28d3:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0d:18991ffa"
]
}

View File

@ -1,5 +0,0 @@
{
"id": "user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/global.all",
"updated": 1572574658046,
"items": []
}

File diff suppressed because one or more lines are too long

View File

@ -1,177 +0,0 @@
{
"ids": [
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3f0:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8de25f3c:3ef:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:359:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dd92b46:358:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35c:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35b:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8dd41847:35a:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dcf0acd:353:fc4690a0",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d8dcbdbb5:347:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8dc4fe3f:34a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8db0dc98:33a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:335:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8da6e95b:334:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:298:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:297:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d9d23f4:296:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d928ffb:326:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d888cfb:31b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d7654f4:30d:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30c:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30b:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:30a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d764432:309:fc4690a0",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d74755c:222:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21e:d4506071",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8d744f3f:21d:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e5:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d662f72:1e4:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d603c89:2f6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d4c2bf2:2e5:fc4690a0",
"AY80t/Vl4TMkqqPjtnpcUzVjYAqDn3a9sFmvt0zCpmI=_16d8d3d9585:154:d4506071",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8d3d59be:153:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d3:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d380a62:2d2:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11e:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8d2f3a93:11d:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a6:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a5:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8d19c4b0:2a4:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfeb0cc:291:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cfe9cb4:28d:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:4a:d4506071",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cf8458f:49:d4506071",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cf5d0ea:284:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cdcb80b:270:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cd33bb7:26a:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cc927f0:260:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:760:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8cc153e9:75f:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cbe6239:258:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8cb47ebe:252:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ca03279:23f:fc4690a0",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d8c98318d:6ee:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c9638e1:23a:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b7:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c8a5f44:6b6:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c6de21e:221:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c59cf46:213:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:448:5e4732b4",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8c536ab3:447:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c45920d:206:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1ff:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c3b82d3:1fe:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8c10839d:1e1:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8bf29449:1ce:fc4690a0",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8ba1ae86:1b1:fc4690a0",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8a2de26c:4a:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8a041299:26:8e83c13e",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:2:5e4732b4",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d89eeb096:1:5e4732b4",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89d099d9:5:c963e369",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51566:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89bff80b:51565:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89942421:5148f:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d8988fd3e:51455:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89797893:1f1:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d896af822:1ac:db1c1742",
"4rURtf64IHW6ygZs9tzPieSmabigMiZqHVuUPwvicWg=_16d895c218f:51370:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d89520343:5132b:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d894cd2ff:108:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89471ca5:105:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d893313be:f1:db1c1742",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d89254704:5121b:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d8924f769:5121a:18991ffa",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d8924f6cc:51219:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d8:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d891f3096:d7:db1c1742",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d891b096a:511c9:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d89066ab8:c5:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88f67b14:b8:db1c1742",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d88ed77ca:510a4:18991ffa",
"wEPPtpyxm18xeuKJtd0RXOmRfdiYTcxSNO1zsjNlPdg=_16d88e0db64:5104a:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff8:18991ffa",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d88da4abd:50ff7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88d1c100:a3:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88ce0d5a:a0:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88c41716:9a:db1c1742",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d88b5f1f6:50f66:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4d:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d88b25c45:50f4c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88ad1618:50f0c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88a5d80e:7b:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d889bd061:72:db1c1742",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d888b305c:50dda:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da6:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d887b3ce7:50da5:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5c:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5b:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d88761c68:50d5a:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88737305:15:db1c1742",
"ZTHt7g74IlVC5A2IgEvcn/aop5teo99gzFaGU2TCGxs=_16d886c439f:50ca1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d88695b6f:f:db1c1742",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d885899d3:2a4e:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d88540f01:50bf6:18991ffa",
"+jHfsXnBCVfCstSIW1WDumAyigT4rnsUPnI5WFxgnAU=_16d8846e4fe:50bc1:18991ffa",
"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d884666a1:50bba:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d8844085c:50b99:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8841112b:2a39:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d883f2213:50b6e:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d881ce4bb:509fb:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29f0:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ef:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d880ef0b1:29ee:90d684ff",
"E51hsZSss+6XSdMAYelFIdkn3CDBqFF2zAtZLRbxUrQ=_16d880e78f1:50990:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d8804b013:29e2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d7:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f42846:29d6:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d2:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87f08676:29d1:90d684ff",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080b:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:5080a:18991ffa",
"A4VVV8iwf2HD21qpAa7ABDI8MY8lm8dIbsVbE6sVKNA=_16d87e5a8de:50809:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cd:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d87d5a0da:507cc:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a2:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d87d11796:507a1:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87be329a:29aa:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87b7bc0b:29a4:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87aa0b8d:299b:90d684ff",
"qxI9mPUQaH2N8pL2LRpLlzIW5hw1iiQKLdJmLkGau/I=_16d87a8b438:50635:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d879fec1f:2992:90d684ff",
"RFlzskW4NhJjlZfijOSI8IXqM9+zz6V9qnDVl1gxaJs=_16d879fb6f0:50612:18991ffa",
"mstho8+q3WlqKF/sQV4c1Sm0g7GZMkqDkTxYnXthJHo=_16d879f90ef:5060a:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ee:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d879e7b4c:505ed:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c8:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d879a0784:505c7:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2982:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d87856d15:2981:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d876d90e1:2970:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2956:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d874f7ba1:2955:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293c:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293b:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d873148ae:293a:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d872c01bd:4ff2d:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d870280bb:2920:90d684ff",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd4:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd3:18991ffa",
"1JeSDrJ7WnuWJBtfP8UBdStvgnDdH8wtt082mlVgo4k=_16d86f8e582:4fdd2:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86f894e7:2914:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d86be7055:28f9:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d86bdfb5a:4fc5c:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e5:90d684ff",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d869ef75d:28e4:90d684ff",
"r0GuC4sgAzEOyudB9cuXyJaa1HYa9lXs9s0Sf3Zd858=_16d86867c9b:4fb46:18991ffa",
"AxO6mug+YPRclcA3EJcsykvvS1qcjXH62IXONGWCBII=_16d867b7bb5:28d3:90d684ff",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0e:18991ffa",
"BmoAzSEWHFzR01wyxBZAhNEo11Vy8oDR1qKDe+tKVEQ=_16d865004b0:4fa0d:18991ffa"
]
}

View File

@ -1 +0,0 @@
[{"customizable":true,"feeds":[{"feedId":"feed/http://feeds.macrumors.com/MacRumors-All","id":"feed/http://feeds.macrumors.com/MacRumors-All","title":"MacRumors: Mac News and Rumors - All Stories","updated":1575325551366,"velocity":54.4,"subscribers":3,"website":"https://www.macrumors.com","language":"en","description":"Apple, iPhone, iPad, Mac News and Rumors"}],"label":"Mac","created":1575325095480,"enterprise":false,"numFeeds":1,"id":"user/c665fbfb-36e1-485a-918b-90d91f2ebd01/category/da60a29f-94ba-4856-b64f-2830d9859ee8"}]

View File

@ -1 +0,0 @@
[{"customizable":true,"feeds":[],"label":"Mac","created":1575325095480,"enterprise":false,"numFeeds":0,"id":"user/c665fbfb-36e1-485a-918b-90d91f2ebd01/category/da60a29f-94ba-4856-b64f-2830d9859ee8"}]

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
[{"feedId":"feed/http://feeds.macrumors.com/MacRumors-All","id":"feed/http://feeds.macrumors.com/MacRumors-All","title":"MacRumors: Mac News and Rumors - All Stories","updated":1575318341631,"velocity":54.4,"subscribers":2,"website":"https://www.macrumors.com","language":"en","description":"Apple, iPhone, iPad, Mac News and Rumors"}]

View File

@ -1 +0,0 @@
{"results":[{"feedId":"feed/http://feeds.macrumors.com/MacRumors-All","score":1.1779602,"lastUpdated":1535409540000,"coverage":0.0,"averageReadTime":0.0,"coverageScore":0.0,"tagCounts":{"ios":1},"totalTagCount":1,"scheme":"u:b:o","id":"feed/http://feeds.macrumors.com/MacRumors-All","title":"MacRumors: Mac News and Rumors - All Stories","updated":1535409540000,"velocity":54.4,"subscribers":3,"website":"https://www.macrumors.com","language":"en","description":"Apple, iPhone, iPad, Mac News and Rumors","deliciousTags":["ios"]}],"queryType":"url","related":["ios"],"scheme":"u:b:o"}

View File

@ -1,15 +0,0 @@
{
"ids": [
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec8b84b06:105f8:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec84a47ff:10035:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec81358b5:fd6a:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec7dc2863:f9eb:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec7a41b17:f62e:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec76d1e3f:ee16:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec76d1e3f:ee15:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec735cb51:eb40:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec6fecd41:e87d:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec6fecd41:e87c:40944486",
"i5dK0N4LYkCdW27N2hxMjfOjdU7G+cHFwqWTCuim9HU=_16ec6c7d2b2:e5c8:40944486"
]
}

View File

@ -53,7 +53,7 @@ final class TestTransport: Transport {
testFileURL = providerUrl testFileURL = providerUrl
} else if let testKeyAndFileName = testFiles.first(where: { urlString.contains($0.key) }) { } else if let testKeyAndFileName = testFiles.first(where: { urlString.contains($0.key) }) {
testFileURL = Bundle(for: TestTransport.self).resourceURL!.appendingPathComponent(testKeyAndFileName.value) testFileURL = Bundle.module.resourceURL!.appendingPathComponent(testKeyAndFileName.value)
} else { } else {
// XCTFail("Missing mock response for: \(urlString)") // XCTFail("Missing mock response for: \(urlString)")