     var debugDescription: String {
         get { return "Administration = \(administration)\nFeeds = \(feeds)\nPages = \(pages)\nStyle = \(style)\nMedia = \(media)\n" }
     }
+
+	func apropos(identifier: String, ofFeed feed: FeedCategory) -> Bool {
+		return feeds[feed]?.firstMatchInString(identifier, options: [.Anchored], range: NSRange(location: 0, length: identifier.utf16.count)) != nil
+	}
     
     //MARK - Internal Dynamo Representation
     

        var feeder = FeedMask(minimumCapacity: 3)
        if let feeds = data.feeds as? [String] {
            for filter in feeds {
                if let category = FeedCategory(rawValue: filter[filter.startIndex..<filter.startIndex.advancedBy(1)]) {
                    feeder[category] = filter[filter.startIndex.advancedBy(2)..<filter.endIndex]
                }
            }
        }

//  Copyright © 2016 Sandcastle Application Development. All rights reserved.
//

import Foundation
import AWSDynamoDB

final class Advertisement: CustomDebugStringConvertible
{
	static var ads = [String:[Advertisement]]()

	static func apropos(identifier: String, ofFeed feed: FeedCategory, inAdministration administration: String) -> [Advertisement]? {
		return ads[administration]?.filter { $0.apropos(identifier, ofFeed: feed) }
	}
    
	enum Style: Int {
		case Page, Overlay
