{
  "name": "SpotX-SDK",
  "version": "4.7.2",
  "summary": "SpotX Mobile SDK",
  "authors": "SpotXchange, Inc.",
  "homepage": "https://www.spotx.tv",
  "source": {
    "http": "https://bintray.com/artifact/download/spotxmobile/pods/spotx-sdk-ios-4.7.2.zip"
  },
  "preserve_paths": [
    "SpotX.framework"
  ],
  "platforms": {
    "ios": "9.0"
  },
  "requires_arc": true,
  "module_name": "SpotX",
  "header_dir": "SpotX",
  "public_header_files": [
    "SpotX.framework/Headers/*.h"
  ],
  "source_files": [
    "SpotX.framework/Headers/*.h"
  ],
  "frameworks": [
    "AdSupport",
    "AVKit",
    "CoreFoundation",
    "CoreLocation",
    "CoreTelephony",
    "SafariServices",
    "SystemConfiguration",
    "UIKit",
    "WebKit"
  ],
  "vendored_frameworks": "SpotX.framework",
  "license": {
    "type": "Commercial",
    "text": "THE SOFTWARE - Terms and conditions\n.\tPreamble: This Agreement, signed on Mar 26, 2015 [hereinafter: Effective Date] governs the relationship between Anyone, a Business Entity, (hereinafter: Licensee) and LICENSOR, a LICENSOR AFFILIATION whose principal place of business is (Hereinafter: Licensor). This Agreement sets the terms, rights, restrictions and obligations on using [{software}] (hereinafter: The Software) created and owned by Licensor, as detailed herein\n.\tLicense Grant: Licensor hereby grants Licensee a Personal, Non-assignable & non-transferable, Commercial, Royalty free, Without the rights to create derivative works, Non-exclusive license, all with accordance with the terms set forth and other legal restrictions set forth in 3rd party software used while running Software.\n.\tLimited: Licensee may use Software for the purpose of:\n.\tRunning Software on Licensee’s Website[s] and Server[s];\n.\tAllowing 3rd Parties to run Software on Licensee’s Website[s] and Server[s];\n.\tPublishing Software’s output to Licensee and 3rd Parties;\n.\tDistribute verbatim copies of Software’s output (including compiled binaries);\n.\tModify Software to suit Licensee’s needs and specifications.\n.\tBinary Restricted: Licensee may sublicense Software as a part of a larger work containing more than Software, distributed solely in Object or Binary form under a personal, non-sublicensable, limited license. Such redistribution shall be limited to unlimited codebases.\n.\tNon Assignable & Non-Transferable: Licensee may not assign or transfer his rights and duties under this license.\n.\tCommercial, Royalty Free: Licensee may use Software for any purpose, including paid-services, without any royalties\n.\tTerm & Termination: The Term of this license shall be until terminated. Licensor may terminate this Agreement, including Licensee’s license in the case where Licensee :\n.\tbecame insolvent or otherwise entered into any liquidation process; or\n.\texported The Software to any jurisdiction where licensor may not enforce his rights under this agreements in; or\n.\tLicensee was in breach of any of this license's terms and conditions and such breach was not cured, immediately upon notification; or\n.\tLicensee in breach of any of the terms of clause 2 to this license; or\n.\tLicensee otherwise entered into any arrangement which caused Licensor to be unable to enforce his rights under this License.\n.\tPayment: In consideration of the License granted under clause 2, Licensee shall pay Licensor a FEE, via Credit-Card, PayPal or any other mean which Licensor may deem adequate. Failure to perform payment shall construe as material breach of this Agreement.\n.\tUpgrades, Updates and Fixes: Licensor may provide Licensee, from time to time, with Upgrades, Updates or Fixes, as detailed herein and according to his sole discretion. Licensee hereby warrants to keep The Software up-to-date and install all relevant updates and fixes, and may, at his sole discretion, purchase upgrades, according to the rates set by Licensor. Licensor shall provide any update or Fix free of charge; however, nothing in this Agreement shall require Licensor to provide Updates or Fixes.\n.\tUpgrades: for the purpose of this license, an Upgrade shall be a material amendment in The Software, which contains new features and or major performance improvements and shall be marked as a new version number. For example, should Licensee purchase The Software under version 1.X.X, an upgrade shall commence under number 2.0.0.\n.\tUpdates: for the purpose of this license, an update shall be a minor amendment in The Software, which may contain new features or minor improvements and shall be marked as a new sub-version number. For example, should Licensee purchase The Software under version 1.1.X, an upgrade shall commence under number 1.2.0.\n.\tFix: for the purpose of this license, a fix shall be a minor amendment in The Software, intended to remove bugs or alter minor features which impair the The Software's functionality. A fix shall be marked as a new sub-sub-version number. For example, should Licensee purchase Software under version 1.1.1, an upgrade shall commence under number 1.1.2.\n.\tSupport: Software is provided under an AS-IS basis and without any support, updates or maintenance. Nothing in this Agreement shall require Licensor to provide Licensee with support or fixes to any bug, failure, mis-performance or other defect in The Software.\n.\tBug Notification: Licensee may provide Licensor of details regarding any bug, defect or failure in The Software promptly and with no delay from such event; Licensee shall comply with Licensor's request for information regarding bugs, defects or failures and furnish him with information, screenshots and try to reproduce such bugs, defects or failures.\n.\tFeature Request: Licensee may request additional features in Software, provided, however, that (i) Licensee shall waive any claim or right in such feature should feature be developed by Licensor; (ii) Licensee shall be prohibited from developing the feature, or disclose such feature request, or feature, to any 3rd party directly competing with Licensor or any 3rd party which may be, following the development of such feature, in direct competition with Licensor; (iii) Licensee warrants that feature does not infringe any 3rd party patent, trademark, trade-secret or any other intellectual property right; and (iv) Licensee developed, envisioned or created the feature solely by himself.\n.\tLiability:  To the extent permitted under Law, The Software is provided under an AS-IS basis. Licensor shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred by Licensee as a result of Software’s actions, failure, bugs and/or any other interaction between The Software  and Licensee’s end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.  Moreover, Licensor shall never be liable for any defect in source code written by Licensee when relying on The Software or using The Software’s source code.\n.\tWarranty:  \n.\tIntellectual Property: Licensor hereby warrants that The Software does not violate or infringe any 3rd party claims in regards to intellectual property, patents and/or trademarks and that to the best of its knowledge no legal action has been taken against it for any infringement or violation of any 3rd party intellectual property rights.\n.\tNo-Warranty: The Software is provided without any warranty; Licensor hereby disclaims any warranty that The Software shall be error free, without defects or code which may cause damage to Licensee’s computers or to Licensee, and that Software shall be functional. Licensee shall be solely liable to any damage, defect or loss incurred as a result of operating software and undertake the risks contained in running The Software on License’s Server[s] and Website[s].\n.\tPrior Inspection: Licensee hereby states that he inspected The Software thoroughly and found it satisfactory and adequate to his needs, that it does not interfere with his regular operation and that it does meet the standards and scope of his computer systems and architecture. Licensee found that The Software interacts with his development, website and server environment and that it does not infringe any of End User License Agreement of any software Licensee may use in performing his services. Licensee hereby waives any claims regarding The Software's incompatibility, performance, results and features, and warrants that he inspected the The Software.\n.\tNo Refunds: Licensee warrants that he inspected The Software according to clause 7(c) and that it is adequate to his needs. Accordingly, as The Software is intangible goods, Licensee shall not be, ever, entitled to any refund, rebate, compensation or restitution for any reason whatsoever, even if The Software contains material flaws.\n.\tIndemnification: Licensee hereby warrants to hold Licensor harmless and indemnify Licensor for any lawsuit brought against it in regards to Licensee’s use of The Software in means that violate, breach or otherwise circumvent this license, Licensor's intellectual property rights or Licensor's title in The Software. Licensor shall promptly notify Licensee in case of such legal action and request Licensee’s consent prior to any settlement in relation to such lawsuit or claim.\n.\tGoverning Law, Jurisdiction: Licensee hereby agrees not to initiate class-action lawsuits against Licensor in relation to this license and to compensate Licensor for any legal fees, cost or attorney fees should any claim brought by Licensee against Licensor be denied, in part or in full."
  }
}
