From 49a21e7e617e473e444750b909a0ef53d081a53e Mon Sep 17 00:00:00 2001 From: jkapuscik2 Date: Mon, 10 Jul 2023 22:44:51 +0200 Subject: [PATCH 1/6] Updated to PHP 8.2 --- .gitignore | 1 - README.md | 50 +- .../ChainOfResponsibility/ApiMiddleware.php | 22 - .../ChainOfResponsibility/Middleware.php | 22 - .../ChainOfResponsibility/MiddlewareError.php | 6 - behavioral/ChainOfResponsibility/Request.php | 34 - behavioral/ChainOfResponsibility/Response.php | 25 - behavioral/ChainOfResponsibility/index.php | 8 - behavioral/Command/Command.php | 8 - behavioral/Command/CreateListing.php | 46 - behavioral/Command/DeleteListing.php | 20 - behavioral/Iterator/CompanyEmployeeTeam.php | 44 - behavioral/Iterator/Employee.php | 14 - behavioral/Iterator/EmployeeTeamIterator.php | 47 - behavioral/Iterator/demo.php | 32 - behavioral/NullObject/Cache.php | 12 - behavioral/NullObject/DummyCache.php | 19 - behavioral/Observer/Communicator.php | 34 - behavioral/Observer/Employee.php | 24 - behavioral/Observer/HumanResources.php | 28 - behavioral/Observer/demo.php | 22 - behavioral/Specification/AgeSpecification.php | 19 - behavioral/Specification/Candidate.php | 40 - behavioral/Specification/Education.php | 24 - behavioral/Specification/NotSpecification.php | 18 - behavioral/Specification/Specification.php | 8 - behavioral/Specification/WorkExperience.php | 26 - .../WorkExperienceSpecification.php | 24 - behavioral/State/Angry.php | 20 - behavioral/State/Happy.php | 19 - behavioral/State/Mood.php | 12 - behavioral/State/Person.php | 34 - behavioral/Strategy/Context.php | 28 - behavioral/Strategy/JSONFormatter.php | 10 - behavioral/Strategy/OutputFormatter.php | 9 - behavioral/Strategy/StringFormatter.php | 12 - behavioral/TemplateMethod/ActionMovie.php | 24 - behavioral/TemplateMethod/ComedyMovie.php | 22 - behavioral/TemplateMethod/Movie.php | 33 - behavioral/Visitor/SickLeave.php | 25 - behavioral/Visitor/University.php | 30 - behavioral/Visitor/Visitable.php | 8 - behavioral/Visitor/Visitor.php | 11 - composer.json | 18 +- composer.lock | 4397 +++++++++++++++++ creational/AbstractFactory/DeviceFactory.php | 11 - creational/AbstractFactory/DisplayFactory.php | 14 - creational/AbstractFactory/IndoorDisplay.php | 15 - creational/AbstractFactory/IndoorIot.php | 16 - creational/AbstractFactory/IndoorProduct.php | 12 - creational/AbstractFactory/IotFactory.php | 15 - creational/AbstractFactory/OutdoorDisplay.php | 16 - creational/AbstractFactory/OutdoorIot.php | 16 - creational/AbstractFactory/OutdoorProduct.php | 12 - creational/Builder/DeviceBuilder.php | 18 - creational/Builder/Director.php | 17 - creational/Builder/InteractiveMirror.php | 13 - .../Builder/InteractiveMirrorBuilder.php | 33 - creational/FactoryMethod/AudioBox.php | 11 - creational/FactoryMethod/Box.php | 15 - creational/FactoryMethod/BoxFactory.php | 27 - creational/FactoryMethod/Factory.php | 8 - creational/FactoryMethod/FileItem.php | 27 - creational/FactoryMethod/ImgBox.php | 11 - creational/FactoryMethod/VideoBox.php | 11 - creational/FactoryMethod/demo.php | 13 - creational/Prototype/Computer.php | 22 - creational/Prototype/Device.php | 13 - creational/Prototype/DevicesGroup.php | 23 - creational/Prototype/demo.php | 25 - creational/Singleton/singleton.php | 37 - .../ChainOfResponsibility/ApiMiddleware.php | 23 + .../Behavioral}/ChainOfResponsibility/App.php | 23 +- .../ChainOfResponsibility/GetMiddleware.php | 15 +- .../ChainOfResponsibility/Middleware.php | 23 + .../ChainOfResponsibility/MiddlewareError.php | 7 + .../ChainOfResponsibility/Request.php | 35 + .../ChainOfResponsibility/Response.php | 25 + .../ChainOfResponsibility/index.php | 8 + .../ChainOfResponsibility/server.sh | 0 .../Behavioral}/Command/Client.php | 16 +- src/Behavioral/Command/Command.php | 8 + src/Behavioral/Command/CreateListing.php | 44 + src/Behavioral/Command/DeleteListing.php | 15 + .../Behavioral}/Command/ListingRepository.php | 10 +- .../Behavioral}/Command/demo.php | 6 +- src/Behavioral/Iterator/Employee.php | 22 + src/Behavioral/Iterator/Team.php | 64 + src/Behavioral/Iterator/TeamIterator.php | 56 + src/Behavioral/Iterator/demo.php | 24 + .../Behavioral}/NullObject/ArrayCache.php | 10 +- src/Behavioral/NullObject/Cache.php | 12 + src/Behavioral/NullObject/DummyCache.php | 20 + src/Behavioral/Observer/Communicator.php | 42 + src/Behavioral/Observer/Employee.php | 28 + src/Behavioral/Observer/HumanResources.php | 32 + src/Behavioral/Observer/demo.php | 21 + .../Specification/AndSpecification.php | 8 +- src/Behavioral/Specification/Candidate.php | 31 + .../Specification/ConvictedSpecification.php | 7 +- src/Behavioral/Specification/Education.php | 18 + .../Specification/MaxAgeSpecification.php | 16 + .../Specification/NotSpecification.php | 15 + .../Specification/OrSpecification.php | 8 +- .../RecentGraduateSpecification.php | 4 +- .../Specification/Specification.php | 8 + .../Specification/StudentSpecification.php | 10 +- .../Specification/WorkExperience.php | 19 + .../WorkExperienceSpecification.php | 21 + .../Behavioral}/Specification/demo.php | 19 +- src/Behavioral/State/Angry.php | 23 + src/Behavioral/State/Happy.php | 22 + src/Behavioral/State/Mood.php | 12 + .../Behavioral}/State/Neutral.php | 17 +- src/Behavioral/State/Person.php | 40 + {behavioral => src/Behavioral}/State/demo.php | 4 +- src/Behavioral/Strategy/Context.php | 23 + src/Behavioral/Strategy/JSONFormatter.php | 11 + src/Behavioral/Strategy/OutputFormatter.php | 8 + src/Behavioral/Strategy/StringFormatter.php | 13 + .../Behavioral}/Strategy/XMLFormatter.php | 14 +- .../Behavioral}/Strategy/demo.php | 12 +- src/Behavioral/TemplateMethod/ActionMovie.php | 27 + src/Behavioral/TemplateMethod/ComedyMovie.php | 25 + src/Behavioral/TemplateMethod/Movie.php | 36 + .../Behavioral}/TemplateMethod/demo.php | 6 +- src/Behavioral/Visitor/SickLeave.php | 20 + .../Behavioral}/Visitor/SickLeaveReport.php | 15 +- .../Behavioral}/Visitor/Student.php | 12 +- src/Behavioral/Visitor/University.php | 25 + src/Behavioral/Visitor/Visitable.php | 8 + src/Behavioral/Visitor/Visitor.php | 10 + .../Behavioral}/Visitor/demo.php | 15 +- .../AbstractFactory/DeviceFactory.php | 10 + .../AbstractFactory/DisplayFactory.php | 16 + .../AbstractFactory/IndoorDisplay.php | 16 + src/Creational/AbstractFactory/IndoorIot.php | 16 + .../AbstractFactory/IndoorProduct.php | 10 + src/Creational/AbstractFactory/IotFactory.php | 16 + .../AbstractFactory/OutdoorDisplay.php | 16 + src/Creational/AbstractFactory/OutdoorIot.php | 16 + .../AbstractFactory/OutdoorProduct.php | 10 + .../Creational}/AbstractFactory/demo.php | 6 +- src/Creational/Builder/Device.php | 12 + src/Creational/Builder/DeviceBuilder.php | 14 + src/Creational/Builder/Director.php | 14 + src/Creational/Builder/InteractiveMirror.php | 25 + .../Builder/InteractiveMirrorBuilder.php | 41 + .../Creational}/Builder/demo.php | 7 +- src/Creational/FactoryMethod/AudioBox.php | 11 + src/Creational/FactoryMethod/Box.php | 15 + src/Creational/FactoryMethod/BoxFactory.php | 18 + src/Creational/FactoryMethod/Factory.php | 8 + src/Creational/FactoryMethod/FileItem.php | 26 + src/Creational/FactoryMethod/ImgBox.php | 11 + src/Creational/FactoryMethod/VideoBox.php | 11 + src/Creational/FactoryMethod/demo.php | 13 + src/Creational/Prototype/Computer.php | 25 + src/Creational/Prototype/Device.php | 12 + src/Creational/Prototype/DeviceGroup.php | 22 + src/Creational/Prototype/demo.php | 23 + src/Creational/Singleton/ActiveUser.php | 37 + .../Structural}/Adapter/.env.example | 4 - .../Structural}/Adapter/AWSFileStorage.php | 45 +- src/Structural/Adapter/Client.php | 35 + src/Structural/Adapter/File.php | 20 + src/Structural/Adapter/FileAdapter.php | 12 + src/Structural/Adapter/LocalFileStorage.php | 32 + .../Structural}/Adapter/assets/logo.png | Bin .../Structural}/Adapter/index.php | 11 +- .../Structural}/Adapter/server.sh | 0 .../Structural}/Adapter/storage/.gitkeep | 0 src/Structural/Bridge/Blurred.php | 24 + src/Structural/Bridge/Content.php | 15 + src/Structural/Bridge/Display.php | 13 + .../Structural}/Bridge/Image.php | 15 +- .../Structural}/Bridge/Standard.php | 13 +- .../Structural}/Bridge/Video.php | 15 +- .../Structural}/Bridge/demo.php | 4 +- src/Structural/Composite/Budgeted.php | 8 + .../Composite/BudgetedComposite.php | 14 + .../Structural}/Composite/Department.php | 24 +- src/Structural/Composite/Employee.php | 15 + .../Structural}/Composite/demo.php | 5 +- src/Structural/Decorator/Product.php | 10 + src/Structural/Decorator/ProductDecorator.php | 18 + src/Structural/Decorator/Shirt.php | 22 + src/Structural/Decorator/SummerSale.php | 19 + src/Structural/Decorator/TV.php | 22 + src/Structural/Decorator/WinterSale.php | 19 + .../Structural}/Decorator/demo.php | 6 +- .../DependencyInjection/Storage.php | 8 + .../Structural}/DependencyInjection/User.php | 19 +- .../DependencyInjection/UserStorage.php | 14 +- .../DependencyInjection/UserTest.php | 27 +- .../Structural}/Facade/Image.php | 20 +- src/Structural/Facade/demo.php | 8 + .../FluentInterface/QueryBuilder.php | 7 +- .../Structural}/FluentInterface/demo.php | 5 +- src/Structural/Flyweight/Device.php | 21 + .../Structural}/Flyweight/DeviceStorage.php | 30 +- src/Structural/Flyweight/DeviceType.php | 20 + .../Flyweight/DeviceTypeFactory.php | 31 +- .../Structural/Flyweight/Generator.php | 41 +- .../Structural}/Flyweight/demo.php | 19 +- .../Structural}/Proxy/AuthFile.php | 28 +- src/Structural/Proxy/File.php | 12 + src/Structural/Proxy/FileProvider.php | 21 + {structural => src/Structural}/Proxy/User.php | 14 +- {structural => src/Structural}/Proxy/demo.php | 4 +- structural/Adapter/AzureFileStorage.php | 36 - structural/Adapter/Client.php | 38 - structural/Adapter/File.php | 23 - structural/Adapter/FileAdapter.php | 13 - structural/Adapter/LocalFileStorage.php | 27 - structural/Bridge/Blurred.php | 30 - structural/Bridge/Content.php | 18 - structural/Bridge/Display.php | 16 - structural/Composite/Budgeted.php | 7 - structural/Composite/BudgetedComposite.php | 14 - structural/Composite/Employee.php | 18 - structural/Decorator/Product.php | 10 - structural/Decorator/ProductDecorator.php | 17 - structural/Decorator/Shirt.php | 24 - structural/Decorator/SummerSale.php | 17 - structural/Decorator/TV.php | 24 - structural/Decorator/WinterSale.php | 17 - structural/DependencyInjection/Storage.php | 8 - structural/Facade/demo.php | 8 - structural/Flyweight/Device.php | 26 - structural/Flyweight/DeviceType.php | 27 - structural/Proxy/File.php | 11 - structural/Proxy/FileProvider.php | 18 - 233 files changed, 6559 insertions(+), 2165 deletions(-) delete mode 100644 behavioral/ChainOfResponsibility/ApiMiddleware.php delete mode 100644 behavioral/ChainOfResponsibility/Middleware.php delete mode 100644 behavioral/ChainOfResponsibility/MiddlewareError.php delete mode 100644 behavioral/ChainOfResponsibility/Request.php delete mode 100644 behavioral/ChainOfResponsibility/Response.php delete mode 100644 behavioral/ChainOfResponsibility/index.php delete mode 100644 behavioral/Command/Command.php delete mode 100644 behavioral/Command/CreateListing.php delete mode 100644 behavioral/Command/DeleteListing.php delete mode 100644 behavioral/Iterator/CompanyEmployeeTeam.php delete mode 100644 behavioral/Iterator/Employee.php delete mode 100644 behavioral/Iterator/EmployeeTeamIterator.php delete mode 100644 behavioral/Iterator/demo.php delete mode 100644 behavioral/NullObject/Cache.php delete mode 100644 behavioral/NullObject/DummyCache.php delete mode 100644 behavioral/Observer/Communicator.php delete mode 100644 behavioral/Observer/Employee.php delete mode 100644 behavioral/Observer/HumanResources.php delete mode 100644 behavioral/Observer/demo.php delete mode 100644 behavioral/Specification/AgeSpecification.php delete mode 100644 behavioral/Specification/Candidate.php delete mode 100644 behavioral/Specification/Education.php delete mode 100644 behavioral/Specification/NotSpecification.php delete mode 100644 behavioral/Specification/Specification.php delete mode 100644 behavioral/Specification/WorkExperience.php delete mode 100644 behavioral/Specification/WorkExperienceSpecification.php delete mode 100644 behavioral/State/Angry.php delete mode 100644 behavioral/State/Happy.php delete mode 100644 behavioral/State/Mood.php delete mode 100644 behavioral/State/Person.php delete mode 100644 behavioral/Strategy/Context.php delete mode 100644 behavioral/Strategy/JSONFormatter.php delete mode 100644 behavioral/Strategy/OutputFormatter.php delete mode 100644 behavioral/Strategy/StringFormatter.php delete mode 100644 behavioral/TemplateMethod/ActionMovie.php delete mode 100644 behavioral/TemplateMethod/ComedyMovie.php delete mode 100644 behavioral/TemplateMethod/Movie.php delete mode 100644 behavioral/Visitor/SickLeave.php delete mode 100644 behavioral/Visitor/University.php delete mode 100644 behavioral/Visitor/Visitable.php delete mode 100644 behavioral/Visitor/Visitor.php create mode 100644 composer.lock delete mode 100644 creational/AbstractFactory/DeviceFactory.php delete mode 100644 creational/AbstractFactory/DisplayFactory.php delete mode 100644 creational/AbstractFactory/IndoorDisplay.php delete mode 100644 creational/AbstractFactory/IndoorIot.php delete mode 100644 creational/AbstractFactory/IndoorProduct.php delete mode 100644 creational/AbstractFactory/IotFactory.php delete mode 100644 creational/AbstractFactory/OutdoorDisplay.php delete mode 100644 creational/AbstractFactory/OutdoorIot.php delete mode 100644 creational/AbstractFactory/OutdoorProduct.php delete mode 100644 creational/Builder/DeviceBuilder.php delete mode 100644 creational/Builder/Director.php delete mode 100644 creational/Builder/InteractiveMirror.php delete mode 100644 creational/Builder/InteractiveMirrorBuilder.php delete mode 100644 creational/FactoryMethod/AudioBox.php delete mode 100644 creational/FactoryMethod/Box.php delete mode 100644 creational/FactoryMethod/BoxFactory.php delete mode 100644 creational/FactoryMethod/Factory.php delete mode 100644 creational/FactoryMethod/FileItem.php delete mode 100644 creational/FactoryMethod/ImgBox.php delete mode 100644 creational/FactoryMethod/VideoBox.php delete mode 100644 creational/FactoryMethod/demo.php delete mode 100644 creational/Prototype/Computer.php delete mode 100644 creational/Prototype/Device.php delete mode 100644 creational/Prototype/DevicesGroup.php delete mode 100644 creational/Prototype/demo.php delete mode 100644 creational/Singleton/singleton.php create mode 100644 src/Behavioral/ChainOfResponsibility/ApiMiddleware.php rename {behavioral => src/Behavioral}/ChainOfResponsibility/App.php (55%) rename {behavioral => src/Behavioral}/ChainOfResponsibility/GetMiddleware.php (55%) create mode 100644 src/Behavioral/ChainOfResponsibility/Middleware.php create mode 100644 src/Behavioral/ChainOfResponsibility/MiddlewareError.php create mode 100644 src/Behavioral/ChainOfResponsibility/Request.php create mode 100644 src/Behavioral/ChainOfResponsibility/Response.php create mode 100644 src/Behavioral/ChainOfResponsibility/index.php rename {behavioral => src/Behavioral}/ChainOfResponsibility/server.sh (100%) rename {behavioral => src/Behavioral}/Command/Client.php (56%) create mode 100644 src/Behavioral/Command/Command.php create mode 100644 src/Behavioral/Command/CreateListing.php create mode 100644 src/Behavioral/Command/DeleteListing.php rename {behavioral => src/Behavioral}/Command/ListingRepository.php (69%) rename {behavioral => src/Behavioral}/Command/demo.php (56%) create mode 100644 src/Behavioral/Iterator/Employee.php create mode 100644 src/Behavioral/Iterator/Team.php create mode 100644 src/Behavioral/Iterator/TeamIterator.php create mode 100644 src/Behavioral/Iterator/demo.php rename {behavioral => src/Behavioral}/NullObject/ArrayCache.php (64%) create mode 100644 src/Behavioral/NullObject/Cache.php create mode 100644 src/Behavioral/NullObject/DummyCache.php create mode 100644 src/Behavioral/Observer/Communicator.php create mode 100644 src/Behavioral/Observer/Employee.php create mode 100644 src/Behavioral/Observer/HumanResources.php create mode 100644 src/Behavioral/Observer/demo.php rename {behavioral => src/Behavioral}/Specification/AndSpecification.php (80%) create mode 100644 src/Behavioral/Specification/Candidate.php rename {behavioral => src/Behavioral}/Specification/ConvictedSpecification.php (55%) create mode 100644 src/Behavioral/Specification/Education.php create mode 100644 src/Behavioral/Specification/MaxAgeSpecification.php create mode 100644 src/Behavioral/Specification/NotSpecification.php rename {behavioral => src/Behavioral}/Specification/OrSpecification.php (82%) rename {behavioral => src/Behavioral}/Specification/RecentGraduateSpecification.php (93%) create mode 100644 src/Behavioral/Specification/Specification.php rename {behavioral => src/Behavioral}/Specification/StudentSpecification.php (58%) create mode 100644 src/Behavioral/Specification/WorkExperience.php create mode 100644 src/Behavioral/Specification/WorkExperienceSpecification.php rename {behavioral => src/Behavioral}/Specification/demo.php (77%) create mode 100644 src/Behavioral/State/Angry.php create mode 100644 src/Behavioral/State/Happy.php create mode 100644 src/Behavioral/State/Mood.php rename {behavioral => src/Behavioral}/State/Neutral.php (50%) create mode 100644 src/Behavioral/State/Person.php rename {behavioral => src/Behavioral}/State/demo.php (65%) create mode 100644 src/Behavioral/Strategy/Context.php create mode 100644 src/Behavioral/Strategy/JSONFormatter.php create mode 100644 src/Behavioral/Strategy/OutputFormatter.php create mode 100644 src/Behavioral/Strategy/StringFormatter.php rename {behavioral => src/Behavioral}/Strategy/XMLFormatter.php (59%) rename {behavioral => src/Behavioral}/Strategy/demo.php (56%) create mode 100644 src/Behavioral/TemplateMethod/ActionMovie.php create mode 100644 src/Behavioral/TemplateMethod/ComedyMovie.php create mode 100644 src/Behavioral/TemplateMethod/Movie.php rename {behavioral => src/Behavioral}/TemplateMethod/demo.php (51%) create mode 100644 src/Behavioral/Visitor/SickLeave.php rename {behavioral => src/Behavioral}/Visitor/SickLeaveReport.php (57%) rename {behavioral => src/Behavioral}/Visitor/Student.php (77%) create mode 100644 src/Behavioral/Visitor/University.php create mode 100644 src/Behavioral/Visitor/Visitable.php create mode 100644 src/Behavioral/Visitor/Visitor.php rename {behavioral => src/Behavioral}/Visitor/demo.php (62%) create mode 100644 src/Creational/AbstractFactory/DeviceFactory.php create mode 100644 src/Creational/AbstractFactory/DisplayFactory.php create mode 100644 src/Creational/AbstractFactory/IndoorDisplay.php create mode 100644 src/Creational/AbstractFactory/IndoorIot.php create mode 100644 src/Creational/AbstractFactory/IndoorProduct.php create mode 100644 src/Creational/AbstractFactory/IotFactory.php create mode 100644 src/Creational/AbstractFactory/OutdoorDisplay.php create mode 100644 src/Creational/AbstractFactory/OutdoorIot.php create mode 100644 src/Creational/AbstractFactory/OutdoorProduct.php rename {creational => src/Creational}/AbstractFactory/demo.php (78%) create mode 100644 src/Creational/Builder/Device.php create mode 100644 src/Creational/Builder/DeviceBuilder.php create mode 100644 src/Creational/Builder/Director.php create mode 100644 src/Creational/Builder/InteractiveMirror.php create mode 100644 src/Creational/Builder/InteractiveMirrorBuilder.php rename {creational => src/Creational}/Builder/demo.php (56%) create mode 100644 src/Creational/FactoryMethod/AudioBox.php create mode 100644 src/Creational/FactoryMethod/Box.php create mode 100644 src/Creational/FactoryMethod/BoxFactory.php create mode 100644 src/Creational/FactoryMethod/Factory.php create mode 100644 src/Creational/FactoryMethod/FileItem.php create mode 100644 src/Creational/FactoryMethod/ImgBox.php create mode 100644 src/Creational/FactoryMethod/VideoBox.php create mode 100644 src/Creational/FactoryMethod/demo.php create mode 100644 src/Creational/Prototype/Computer.php create mode 100644 src/Creational/Prototype/Device.php create mode 100644 src/Creational/Prototype/DeviceGroup.php create mode 100644 src/Creational/Prototype/demo.php create mode 100644 src/Creational/Singleton/ActiveUser.php rename {structural => src/Structural}/Adapter/.env.example (53%) rename {structural => src/Structural}/Adapter/AWSFileStorage.php (53%) create mode 100644 src/Structural/Adapter/Client.php create mode 100644 src/Structural/Adapter/File.php create mode 100644 src/Structural/Adapter/FileAdapter.php create mode 100644 src/Structural/Adapter/LocalFileStorage.php rename {structural => src/Structural}/Adapter/assets/logo.png (100%) rename {structural => src/Structural}/Adapter/index.php (94%) rename {structural => src/Structural}/Adapter/server.sh (100%) rename {structural => src/Structural}/Adapter/storage/.gitkeep (100%) create mode 100644 src/Structural/Bridge/Blurred.php create mode 100644 src/Structural/Bridge/Content.php create mode 100644 src/Structural/Bridge/Display.php rename {structural => src/Structural}/Bridge/Image.php (56%) rename {structural => src/Structural}/Bridge/Standard.php (59%) rename {structural => src/Structural}/Bridge/Video.php (60%) rename {structural => src/Structural}/Bridge/demo.php (82%) create mode 100644 src/Structural/Composite/Budgeted.php create mode 100644 src/Structural/Composite/BudgetedComposite.php rename {structural => src/Structural}/Composite/Department.php (50%) create mode 100644 src/Structural/Composite/Employee.php rename {structural => src/Structural}/Composite/demo.php (87%) create mode 100644 src/Structural/Decorator/Product.php create mode 100644 src/Structural/Decorator/ProductDecorator.php create mode 100644 src/Structural/Decorator/Shirt.php create mode 100644 src/Structural/Decorator/SummerSale.php create mode 100644 src/Structural/Decorator/TV.php create mode 100644 src/Structural/Decorator/WinterSale.php rename {structural => src/Structural}/Decorator/demo.php (77%) create mode 100644 src/Structural/DependencyInjection/Storage.php rename {structural => src/Structural}/DependencyInjection/User.php (57%) rename {structural => src/Structural}/DependencyInjection/UserStorage.php (51%) rename {structural => src/Structural}/DependencyInjection/UserTest.php (69%) rename {structural => src/Structural}/Facade/Image.php (63%) create mode 100644 src/Structural/Facade/demo.php rename {structural => src/Structural}/FluentInterface/QueryBuilder.php (92%) rename {structural => src/Structural}/FluentInterface/demo.php (67%) create mode 100644 src/Structural/Flyweight/Device.php rename {structural => src/Structural}/Flyweight/DeviceStorage.php (62%) create mode 100644 src/Structural/Flyweight/DeviceType.php rename {structural => src/Structural}/Flyweight/DeviceTypeFactory.php (59%) rename structural/Flyweight/create_csv.php => src/Structural/Flyweight/Generator.php (56%) rename {structural => src/Structural}/Flyweight/demo.php (57%) rename {structural => src/Structural}/Proxy/AuthFile.php (61%) create mode 100644 src/Structural/Proxy/File.php create mode 100644 src/Structural/Proxy/FileProvider.php rename {structural => src/Structural}/Proxy/User.php (58%) rename {structural => src/Structural}/Proxy/demo.php (86%) delete mode 100644 structural/Adapter/AzureFileStorage.php delete mode 100644 structural/Adapter/Client.php delete mode 100644 structural/Adapter/File.php delete mode 100644 structural/Adapter/FileAdapter.php delete mode 100644 structural/Adapter/LocalFileStorage.php delete mode 100644 structural/Bridge/Blurred.php delete mode 100644 structural/Bridge/Content.php delete mode 100644 structural/Bridge/Display.php delete mode 100644 structural/Composite/Budgeted.php delete mode 100644 structural/Composite/BudgetedComposite.php delete mode 100644 structural/Composite/Employee.php delete mode 100644 structural/Decorator/Product.php delete mode 100644 structural/Decorator/ProductDecorator.php delete mode 100644 structural/Decorator/Shirt.php delete mode 100644 structural/Decorator/SummerSale.php delete mode 100644 structural/Decorator/TV.php delete mode 100644 structural/Decorator/WinterSale.php delete mode 100644 structural/DependencyInjection/Storage.php delete mode 100644 structural/Facade/demo.php delete mode 100644 structural/Flyweight/Device.php delete mode 100644 structural/Flyweight/DeviceType.php delete mode 100644 structural/Proxy/File.php delete mode 100644 structural/Proxy/FileProvider.php diff --git a/.gitignore b/.gitignore index 9ea668e..4a5caae 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -structural/Adapter/Config.php vendor .idea .env \ No newline at end of file diff --git a/README.md b/README.md index 88ebcf5..c3c46cd 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This project is set of simple examples of usage of different design patterns in a real world scenarios. Each one have a short description and guideline: - [Factory Method](https://medium.com/@j.kapuscik2/getting-started-with-design-patterns-in-php-4d451ccdfb71) -- [Creational Patterns](https://medium.com/@j.kapuscik2/creational-design-patterns-in-php-db365d3245ce) +- [src/Creational Patterns](https://medium.com/@j.kapuscik2/src/Creational-design-patterns-in-php-db365d3245ce) - [Observer](https://medium.com/@j.kapuscik2/observer-pattern-in-php-2ba240f89fb2) - [Iterator](https://medium.com/@j.kapuscik2/iterator-pattern-in-php-b7624f6bdbcf) - [State & Strategy](https://medium.com/@j.kapuscik2/state-strategy-design-patterns-by-example-f57ebd7b6211) @@ -25,31 +25,31 @@ This project is set of simple examples of usage of different design patterns in ### Following patterns have so far been described: #### Creational: -1. [Factory Method](/creational/FactoryMethod) -2. [Abstract Factory](/creational/AbstractFactory) -3. [Singleton](/creational/Singleton) -4. [Builder](/creational/Builder) -5. [Prototype](/creational/Prototype) +1. [Factory Method](/src/Creational/FactoryMethod) +2. [Abstract Factory](/src/Creational/AbstractFactory) +3. [Singleton](/src/Creational/Singleton) +4. [Builder](/src/Creational/Builder) +5. [Prototype](/src/Creational/Prototype) #### Behavioral: -1. [Iterator](/behavioral/Iterator) -2. [Observer](/behavioral/Observer) -3. [State](/behavioral/State) -4. [Strategy](/behavioral/Strategy) -5. [Template Method](/behavioral/TemplateMethod) -6. [Chain of Responsibility](/behavioral/ChainOfResponsibility) -7. [Visitor](/behavioral/Visitor) -8. [Command](/behavioral/Command) -9. [Null Object](/behavioral/NullObject) -10. [Specification](/behavioral/Specification) +1. [Iterator](src/Behavioral/Iterator) +2. [Observer](src/Behavioral/Observer) +3. [State](src/Behavioral/State) +4. [Strategy](src/Behavioral/Strategy) +5. [Template Method](src/Behavioral/TemplateMethod) +6. [Chain of Responsibility](src/Behavioral/ChainOfResponsibility) +7. [Visitor](src/Behavioral/Visitor) +8. [Command](src/Behavioral/Command) +9. [Null Object](src/Behavioral/NullObject) +10. [Specification](src/Behavioral/Specification) #### Structural: -1. [Adapter](/structural/Adapter) -2. [Decorator](/structural/Decorator) -3. [Proxy](/structural/Proxy) -4. [Dependency Injection](/structural/DependencyInjection) -5. [Facade](/structural/Facade) -6. [Composite](/structural/Composite) -7. [Bridge](/structural/Bridge) -8. [Flyweight](/structural/Flyweight) -9. [Fluent Interface](/structural/FluentInterface) +1. [Adapter](src/Structural/Adapter) +2. [Decorator](src/Structural/Decorator) +3. [Proxy](src/Structural/Proxy) +4. [Dependency Injection](src/Structural/DependencyInjection) +5. [Facade](src/Structural/Facade) +6. [Composite](src/Structural/Composite) +7. [Bridge](src/Structural/Bridge) +8. [Flyweight](src/Structural/Flyweight) +9. [Fluent Interface](src/Structural/FluentInterface) diff --git a/behavioral/ChainOfResponsibility/ApiMiddleware.php b/behavioral/ChainOfResponsibility/ApiMiddleware.php deleted file mode 100644 index 2127023..0000000 --- a/behavioral/ChainOfResponsibility/ApiMiddleware.php +++ /dev/null @@ -1,22 +0,0 @@ -hasParam($this->apiKeyName) - && in_array($request->getParam($this->apiKeyName), $this->apiKeys)) { - - return parent::process($request); - } else { - throw new MiddlewareError("Api key validation error"); - } - } -} \ No newline at end of file diff --git a/behavioral/ChainOfResponsibility/Middleware.php b/behavioral/ChainOfResponsibility/Middleware.php deleted file mode 100644 index d46c70f..0000000 --- a/behavioral/ChainOfResponsibility/Middleware.php +++ /dev/null @@ -1,22 +0,0 @@ -next = $middleware; - - return $middleware; - } - - public function process (Request $request) { - if ($this->next) { - return $this->next->process($request); - } else { - return true; - } - } -} \ No newline at end of file diff --git a/behavioral/ChainOfResponsibility/MiddlewareError.php b/behavioral/ChainOfResponsibility/MiddlewareError.php deleted file mode 100644 index 5d9e514..0000000 --- a/behavioral/ChainOfResponsibility/MiddlewareError.php +++ /dev/null @@ -1,6 +0,0 @@ -params = $params; - $this->server = $server; - } - - public function getParam ($name) { - return $this->params[$name]; - } - - public function getParams () { - return $this->params; - } - - public function hasParam (string $name) { - return array_key_exists($name, $this->params); - } - - public function getServerParam (string $name) { - return $this->server[$name]; - } - - public function hasServerParam (string $name) { - return array_key_exists($name, $this->server); - } -} \ No newline at end of file diff --git a/behavioral/ChainOfResponsibility/Response.php b/behavioral/ChainOfResponsibility/Response.php deleted file mode 100644 index 6722e47..0000000 --- a/behavioral/ChainOfResponsibility/Response.php +++ /dev/null @@ -1,25 +0,0 @@ -request = $request; - } - - public function handle () { - http_response_code(self::CODE_OK); - header(self::CONTENT_TYPE_JSON); - - echo json_encode([ - "statusCode" => self::CODE_OK, - "message" => "Request proceeded correctly", - "params" => $this->request->getParams() - ]); - } -} \ No newline at end of file diff --git a/behavioral/ChainOfResponsibility/index.php b/behavioral/ChainOfResponsibility/index.php deleted file mode 100644 index ff96b12..0000000 --- a/behavioral/ChainOfResponsibility/index.php +++ /dev/null @@ -1,8 +0,0 @@ -run(); \ No newline at end of file diff --git a/behavioral/Command/Command.php b/behavioral/Command/Command.php deleted file mode 100644 index 5d8bf8a..0000000 --- a/behavioral/Command/Command.php +++ /dev/null @@ -1,8 +0,0 @@ -repository = $repository; - $this->title = $title; - $this->content = $content; - $this->author = $author; - } - - private function validate(): void - { - if (strlen($this->title) < self::MIN_TITLE_LENGTH) { - throw new LengthException(sprintf("Title is too short. Must be at least %d characters", - self::MIN_TITLE_LENGTH)); - } - if (strlen($this->content) < self::MIN_CONTENT_LENGTH) { - throw new LengthException(sprintf("Content is too short. Must be at least %d characters", - self::MIN_CONTENT_LENGTH)); - } - if (strlen($this->author) < self::MIN_AUTHOR_LENGTH) { - throw new LengthException(sprintf("Author name is too short. Must be at least %d characters", - self::MIN_AUTHOR_LENGTH)); - } - } - - public function handle(): void - { - $this->validate(); - $this->repository->create($this->title, $this->content, $this->author); - } -} \ No newline at end of file diff --git a/behavioral/Command/DeleteListing.php b/behavioral/Command/DeleteListing.php deleted file mode 100644 index 2d3a94f..0000000 --- a/behavioral/Command/DeleteListing.php +++ /dev/null @@ -1,20 +0,0 @@ -repository = $repository; - $this->listingUid = $listingUid; - } - - public function handle(): void - { - $this->repository->delete($this->listingUid); - } -} \ No newline at end of file diff --git a/behavioral/Iterator/CompanyEmployeeTeam.php b/behavioral/Iterator/CompanyEmployeeTeam.php deleted file mode 100644 index 9d1c316..0000000 --- a/behavioral/Iterator/CompanyEmployeeTeam.php +++ /dev/null @@ -1,44 +0,0 @@ -subordinates = new SplObjectStorage(); - $this->person = $person; - } - - public function addSubordinate (CompanyEmployeeTeam $subordinate): void { - $this->subordinates->attach($subordinate); - } - - public function removeSubordinate (CompanyEmployeeTeam $subordinate): void { - $this->subordinates->detach($subordinate); - } - - public function getSubordinates (): SplObjectStorage { - return $this->subordinates; - } - - public function getIterator (): EmployeeTeamIterator { - return new EmployeeTeamIterator($this); - } - - public function count (): int { - return count(new EmployeeTeamIterator($this)); - } - - public function getName (): string { - return $this->person->name; - } - - public function getPosition (): string { - return $this->person->position; - } -} \ No newline at end of file diff --git a/behavioral/Iterator/Employee.php b/behavioral/Iterator/Employee.php deleted file mode 100644 index 758688d..0000000 --- a/behavioral/Iterator/Employee.php +++ /dev/null @@ -1,14 +0,0 @@ -name = $name; - $this->position = $position; - } -} \ No newline at end of file diff --git a/behavioral/Iterator/EmployeeTeamIterator.php b/behavioral/Iterator/EmployeeTeamIterator.php deleted file mode 100644 index 70e0584..0000000 --- a/behavioral/Iterator/EmployeeTeamIterator.php +++ /dev/null @@ -1,47 +0,0 @@ -addTeam($employee); - $this->position = 0; - } - - protected function addTeam (CompanyEmployeeTeam $employee): void { - foreach ($employee->getSubordinates() as $member) { - array_push($this->teamMembers, $member); - $this->addTeam($member); - } - } - - public function current (): CompanyEmployeeTeam { - return $this->teamMembers[$this->position]; - } - - public function next (): void { - ++$this->position; - } - - public function key (): int { - return $this->position; - } - - public function valid (): bool { - return isset($this->teamMembers[$this->position]); - } - - public function rewind (): void { - $this->position = 0; - } - - public function count (): int { - return count($this->teamMembers); - } -} \ No newline at end of file diff --git a/behavioral/Iterator/demo.php b/behavioral/Iterator/demo.php deleted file mode 100644 index f249348..0000000 --- a/behavioral/Iterator/demo.php +++ /dev/null @@ -1,32 +0,0 @@ -addSubordinate($tom); -$john->addSubordinate($johny); -$ceo->addSubordinate($john); - -showTeam($ceo); - -$jan = new CompanyEmployeeTeam(new Employee("Jan", 'Developer')); -$ceo->addSubordinate($jan); - -showTeam($ceo); - -$ceo->removeSubordinate($jan); - -showTeam($ceo); - -function showTeam ($users) { - foreach ($users as $user) { - echo $user->getPosition() . ": " . $user->getName() . PHP_EOL; - } - echo "Number of subordinates of " . $users->getName() . ": " . count($users) . PHP_EOL; -} \ No newline at end of file diff --git a/behavioral/NullObject/Cache.php b/behavioral/NullObject/Cache.php deleted file mode 100644 index 221028b..0000000 --- a/behavioral/NullObject/Cache.php +++ /dev/null @@ -1,12 +0,0 @@ -employees = new SplObjectStorage(); - } - - public function attach (SplObserver $employee): void { - $this->employees->attach($employee); - } - - public function detach (SplObserver $employee): void { - $this->employees->detach($employee); - } - - public function inform (string $message): void { - $this->message = $message; - $this->notify(); - } - - public function notify (): void { - foreach ($this->employees as $employee) { - $employee->update($this); - } - } -} diff --git a/behavioral/Observer/Employee.php b/behavioral/Observer/Employee.php deleted file mode 100644 index c7822ca..0000000 --- a/behavioral/Observer/Employee.php +++ /dev/null @@ -1,24 +0,0 @@ -name = $name; - $this->email = $email; - } - - public function update (SplSubject $communicator): void { - $this->sendEmail($communicator->message); - } - - protected function sendEmail (string $message) { - echo "Sending email to: " . $this->email . " - Hello " . $this->name . ", " . $message . PHP_EOL; - } -} diff --git a/behavioral/Observer/HumanResources.php b/behavioral/Observer/HumanResources.php deleted file mode 100644 index faa7f53..0000000 --- a/behavioral/Observer/HumanResources.php +++ /dev/null @@ -1,28 +0,0 @@ -communicator = new Communicator(); - - foreach ($employees as $employee) { - $this->communicator->attach($employee); - } - } - - public function inform (string $message): void { - $this->communicator->inform($message); - } - - public function layOf (Employee $employee) { - $this->communicator->detach($employee); - } - - public function employ (Employee $employee) { - $this->communicator->attach($employee); - } -} diff --git a/behavioral/Observer/demo.php b/behavioral/Observer/demo.php deleted file mode 100644 index c37f927..0000000 --- a/behavioral/Observer/demo.php +++ /dev/null @@ -1,22 +0,0 @@ -inform("Important news everyone"); - -$software = new Employee("Ben", "software"); -$hr->employ($software); - -$hr->inform("New employee: " . $software->name); - -$hr->layOf($software); -$hr->inform("New employee laid off: " . $software->name); diff --git a/behavioral/Specification/AgeSpecification.php b/behavioral/Specification/AgeSpecification.php deleted file mode 100644 index edcf9db..0000000 --- a/behavioral/Specification/AgeSpecification.php +++ /dev/null @@ -1,19 +0,0 @@ -maxAge = $maxAge; - } - - public function isSatisfiedBy(Candidate $candidate) : bool - { - return $candidate->getAge() <= $this->maxAge; - } - -} \ No newline at end of file diff --git a/behavioral/Specification/Candidate.php b/behavioral/Specification/Candidate.php deleted file mode 100644 index 4a64797..0000000 --- a/behavioral/Specification/Candidate.php +++ /dev/null @@ -1,40 +0,0 @@ -age = $age; - $this->workExperience = $workExperience; - $this->education = $education; - $this->isConvicted = $isConvicted; - } - - public function getAge(): int - { - return $this->age; - } - - public function getWorkExperience(): array - { - return $this->workExperience; - } - - public function getEducation() - { - return $this->education; - } - - public function isConvicted(): bool - { - return $this->isConvicted; - } - -} \ No newline at end of file diff --git a/behavioral/Specification/Education.php b/behavioral/Specification/Education.php deleted file mode 100644 index f5bcd9e..0000000 --- a/behavioral/Specification/Education.php +++ /dev/null @@ -1,24 +0,0 @@ -university = $university; - $this->start = $start; - $this->end = $end; - } - - public function getEndDate() : DateTime { - return $this->end; - } - -} \ No newline at end of file diff --git a/behavioral/Specification/NotSpecification.php b/behavioral/Specification/NotSpecification.php deleted file mode 100644 index 677a55f..0000000 --- a/behavioral/Specification/NotSpecification.php +++ /dev/null @@ -1,18 +0,0 @@ -specification = $specification; - } - - public function isSatisfiedBy(Candidate $candidate): bool - { - return !$this->specification->isSatisfiedBy($candidate); - } -} \ No newline at end of file diff --git a/behavioral/Specification/Specification.php b/behavioral/Specification/Specification.php deleted file mode 100644 index b1a4044..0000000 --- a/behavioral/Specification/Specification.php +++ /dev/null @@ -1,8 +0,0 @@ -companyName = $companyName; - $this->start = $start; - $this->end = $end; - } - - public function getWorkedMonths() : int { - $workedInterval = $this->start->diff($this->end); - var_dump("months", $workedInterval->m); - return ($workedInterval->y * 12) + $workedInterval->m; - } - -} \ No newline at end of file diff --git a/behavioral/Specification/WorkExperienceSpecification.php b/behavioral/Specification/WorkExperienceSpecification.php deleted file mode 100644 index a35a6bb..0000000 --- a/behavioral/Specification/WorkExperienceSpecification.php +++ /dev/null @@ -1,24 +0,0 @@ -minYearsOfExperience = $minYearsOfExperience; - } - - public function isSatisfiedBy(Candidate $candidate) : bool - { - $totalMonthsOfExperience = 0; - - foreach ($candidate->getWorkExperience() as $experience) { - $totalMonthsOfExperience += $experience->getWorkedMonths(); - } - - return $totalMonthsOfExperience / 12 >= $this->minYearsOfExperience; - } -} \ No newline at end of file diff --git a/behavioral/State/Angry.php b/behavioral/State/Angry.php deleted file mode 100644 index 142be90..0000000 --- a/behavioral/State/Angry.php +++ /dev/null @@ -1,20 +0,0 @@ -say("You too..."); - } - - public function hug (Person $context) { - $context->say("Hm..."); - $context->setState(new Neutral()); - } - - public function getName (Person $context, string $name) { - $context->say("{$name}. What's your problem?"); - } - -} \ No newline at end of file diff --git a/behavioral/State/Happy.php b/behavioral/State/Happy.php deleted file mode 100644 index 2294fb1..0000000 --- a/behavioral/State/Happy.php +++ /dev/null @@ -1,19 +0,0 @@ -say("Oh! That wasn't nice"); - $context->setState(new Neutral()); - } - - public function hug (Person $context) { - $context->say("Oh! That was nice, thanks"); - } - - public function getName (Person $context, string $name) { - $context->say("Oh! Hello dear friend. My name is {$name}"); - } -} \ No newline at end of file diff --git a/behavioral/State/Mood.php b/behavioral/State/Mood.php deleted file mode 100644 index 3520bc7..0000000 --- a/behavioral/State/Mood.php +++ /dev/null @@ -1,12 +0,0 @@ -setState($mood); - $this->name = $name; - } - - public function setState (Mood $mood) { - $this->currentMood = $mood; - } - - public function insult () { - $this->currentMood->insult($this); - } - - public function getName () { - $this->currentMood->getName($this, $this->name); - } - - public function hug () { - $this->currentMood->hug($this); - } - - public function say (string $msg) { - echo($msg . PHP_EOL); - } -} \ No newline at end of file diff --git a/behavioral/Strategy/Context.php b/behavioral/Strategy/Context.php deleted file mode 100644 index 439bcf3..0000000 --- a/behavioral/Strategy/Context.php +++ /dev/null @@ -1,28 +0,0 @@ -formatter = new JSONFormatter(); - break; - case "xml": - $this->formatter = new XMLFormatter(); - break; - case "string": - $this->formatter = new StringFormatter(); - break; - default: - throw new \InvalidArgumentException("{$outputType} is not supported"); - } - } - - public function formatData (array $data): string { - return $this->formatter->format($data); - } -} \ No newline at end of file diff --git a/behavioral/Strategy/JSONFormatter.php b/behavioral/Strategy/JSONFormatter.php deleted file mode 100644 index c7fe85d..0000000 --- a/behavioral/Strategy/JSONFormatter.php +++ /dev/null @@ -1,10 +0,0 @@ -budget = 100000; - } - - protected function castActors () { - foreach (array_rand(self::AVAILABLE_ACTORS, self::NUM_ROLES) as $actor) { - $this->cast[] = self::AVAILABLE_ACTORS[$actor]; - } - } - - protected function castDirector () { - $this->director = self::AVAILABLE_DIRECTORS[array_rand(self::AVAILABLE_DIRECTORS)]; - } -} \ No newline at end of file diff --git a/behavioral/TemplateMethod/ComedyMovie.php b/behavioral/TemplateMethod/ComedyMovie.php deleted file mode 100644 index 96a6414..0000000 --- a/behavioral/TemplateMethod/ComedyMovie.php +++ /dev/null @@ -1,22 +0,0 @@ -budget = 500000; - } - - protected function castActors () { - $this->cast[] = 'Adam Sandler'; - $this->cast[] = self::AVAILABLE_ACTORS[array_rand(self::AVAILABLE_ACTORS)]; - } - - protected function castDirector () { - $this->director = self::AVAILABLE_DIRECTORS[array_rand(self::AVAILABLE_DIRECTORS)]; - } -} \ No newline at end of file diff --git a/behavioral/TemplateMethod/Movie.php b/behavioral/TemplateMethod/Movie.php deleted file mode 100644 index 9238c4e..0000000 --- a/behavioral/TemplateMethod/Movie.php +++ /dev/null @@ -1,33 +0,0 @@ -name = $name; - } - - public final function publish () { - $this->raiseMoney(); - $this->castActors(); - $this->castDirector(); - $this->promote(); - } - - abstract protected function raiseMoney (); - - abstract protected function castActors (); - - abstract protected function castDirector (); - - protected function promote () { - $actors = implode(", ", $this->cast); - echo "New movie '{$this->name}' directed by {$this->director}. Starring {$actors} and budget of \${$this->budget}!" . PHP_EOL; - } -} \ No newline at end of file diff --git a/behavioral/Visitor/SickLeave.php b/behavioral/Visitor/SickLeave.php deleted file mode 100644 index 9650a4d..0000000 --- a/behavioral/Visitor/SickLeave.php +++ /dev/null @@ -1,25 +0,0 @@ -start = $start; - $this->end = $end; - } - - public function getStart(): \DateTime - { - return $this->start; - } - - public function getEnd(): \DateTime - { - return $this->end; - } -} \ No newline at end of file diff --git a/behavioral/Visitor/University.php b/behavioral/Visitor/University.php deleted file mode 100644 index bd89718..0000000 --- a/behavioral/Visitor/University.php +++ /dev/null @@ -1,30 +0,0 @@ -name = $name; - $this->students = $students; - } - - public function getName(): string - { - return $this->name; - } - - public function getStudents(): array - { - return $this->students; - } - - public function accept(Visitor $visitor): array - { - return $visitor->visitUniversity($this); - } -} \ No newline at end of file diff --git a/behavioral/Visitor/Visitable.php b/behavioral/Visitor/Visitable.php deleted file mode 100644 index 4a0e6ac..0000000 --- a/behavioral/Visitor/Visitable.php +++ /dev/null @@ -1,8 +0,0 @@ -=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35||^5.6.3||^9.5", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality." + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "AWS SDK Common Runtime Team", + "email": "aws-sdk-common-runtime@amazon.com" + } + ], + "description": "AWS Common Runtime for PHP", + "homepage": "https://github.com/awslabs/aws-crt-php", + "keywords": [ + "amazon", + "aws", + "crt", + "sdk" + ], + "support": { + "issues": "https://github.com/awslabs/aws-crt-php/issues", + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.1" + }, + "time": "2023-03-24T20:22:19+00:00" + }, + { + "name": "aws/aws-sdk-php", + "version": "3.275.5", + "source": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-php.git", + "reference": "d46961b82e857f77059c0c78160719ecb26f6cc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d46961b82e857f77059c0c78160719ecb26f6cc6", + "reference": "d46961b82e857f77059c0c78160719ecb26f6cc6", + "shasum": "" + }, + "require": { + "aws/aws-crt-php": "^1.0.4", + "ext-json": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", + "guzzlehttp/promises": "^1.4.0", + "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "mtdowling/jmespath.php": "^2.6", + "php": ">=5.5", + "psr/http-message": "^1.0" + }, + "require-dev": { + "andrewsville/php-token-reflection": "^1.4", + "aws/aws-php-sns-message-validator": "~1.0", + "behat/behat": "~3.0", + "composer/composer": "^1.10.22", + "dms/phpunit-arraysubset-asserts": "^0.4.0", + "doctrine/cache": "~1.4", + "ext-dom": "*", + "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", + "nette/neon": "^2.3", + "paragonie/random_compat": ">= 2", + "phpunit/phpunit": "^4.8.35 || ^5.6.3 || ^9.5", + "psr/cache": "^1.0", + "psr/simple-cache": "^1.0", + "sebastian/comparator": "^1.2.3 || ^4.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", + "doctrine/cache": "To use the DoctrineCacheAdapter", + "ext-curl": "To send requests using cURL", + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Aws\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Amazon Web Services", + "homepage": "http://aws.amazon.com" + } + ], + "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", + "homepage": "http://aws.amazon.com/sdkforphp", + "keywords": [ + "amazon", + "aws", + "cloud", + "dynamodb", + "ec2", + "glacier", + "s3", + "sdk" + ], + "support": { + "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", + "issues": "https://github.com/aws/aws-sdk-php/issues", + "source": "https://github.com/aws/aws-sdk-php/tree/3.275.5" + }, + "time": "2023-07-07T18:20:11+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.7.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5", + "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0", + "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.1", + "ext-curl": "*", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.29 || ^9.5.23", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.7.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2023-05-21T14:04:53+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "1.5.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e", + "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4 || ^5.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.5.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2023-05-21T12:31:43+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "b635f279edd83fc275f822a1188157ffea568ff6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6", + "reference": "b635f279edd83fc275f822a1188157ffea568ff6", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.29 || ^9.5.23" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.5.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2023-04-17T16:11:26+00:00" + }, + { + "name": "mtdowling/jmespath.php", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/jmespath/jmespath.php.git", + "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb", + "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0 || ^8.0", + "symfony/polyfill-mbstring": "^1.17" + }, + "require-dev": { + "composer/xdebug-handler": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^7.5.15" + }, + "bin": [ + "bin/jp.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "files": [ + "src/JmesPath.php" + ], + "psr-4": { + "JmesPath\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Declaratively specify how to extract elements from a JSON document", + "keywords": [ + "json", + "jsonpath" + ], + "support": { + "issues": "https://github.com/jmespath/jmespath.php/issues", + "source": "https://github.com/jmespath/jmespath.php/tree/2.6.1" + }, + "time": "2021-06-14T00:11:39+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.16.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "19526a33fb561ef417e822e85f08a00db4059c17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", + "reference": "19526a33fb561ef417e822e85f08a00db4059c17", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" + }, + "time": "2023-06-25T14:52:30+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "10.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/db1497ec8dd382e82c962f7abbe0320e4882ee4e", + "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.15", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.1" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-05-22T09:04:27+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "4.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "5647d65443818959172645e7ed999217360654b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/5647d65443818959172645e7ed999217360654b6", + "reference": "5647d65443818959172645e7ed999217360654b6", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-05-07T09:13:23+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:56:09+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/9f3d3709577a527025f55bcf0f7ab8052c8bb37d", + "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:56:46+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:57:52+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "10.2.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35c8cac1734ede2ae354a6644f7088356ff5b08e", + "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.0", + "sebastian/global-state": "^6.0", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.2-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.3" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2023-06-30T06:17:38+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/1.0.2" + }, + "time": "2023-04-10T20:12:12+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "e616d01114759c4c489f93b099585439f795fe35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + }, + "time": "2023-04-10T20:10:41+00:00" + }, + { + "name": "psr/http-message", + "version": "1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/1.1" + }, + "time": "2023-04-04T09:50:52+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:58:15+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:58:43+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:59:15+00:00" + }, + { + "name": "sebastian/comparator", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c", + "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:07:16+00:00" + }, + { + "name": "sebastian/complexity", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/e67d240970c9dc7ea7b2123a6d520e334dd61dc6", + "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.10", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:59:47+00:00" + }, + { + "name": "sebastian/diff", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-05-01T07:48:21+00:00" + }, + { + "name": "sebastian/environment", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-04-11T05:39:26+00:00" + }, + { + "name": "sebastian/exporter", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", + "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:06:49+00:00" + }, + { + "name": "sebastian/global-state", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "aab257c712de87b90194febd52e4d184551c2d44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44", + "reference": "aab257c712de87b90194febd52e4d184551c2d44", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:07:38+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/17c4d940ecafb3d15d2cf916f4108f664e28b130", + "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.10", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:08:02+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:08:32+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:06:18+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:05:40+00:00" + }, + { + "name": "sebastian/type", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:10:45+00:00" + }, + { + "name": "sebastian/version", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-07T11:34:05+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/dotenv", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/dotenv.git", + "reference": "ceadb434fe2a6763a03d2d110441745834f3dd1e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/ceadb434fe2a6763a03d2d110441745834f3dd1e", + "reference": "ceadb434fe2a6763a03d2d110441745834f3dd1e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "conflict": { + "symfony/console": "<5.4", + "symfony/process": "<5.4" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Dotenv\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Registers environment variables from a .env file", + "homepage": "https://symfony.com", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "source": "https://github.com/symfony/dotenv/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-04-21T14:41:17+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + } + ], + "packages-dev": [ + { + "name": "composer/pcre", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.3", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.1.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-11-17T09:50:14+00:00" + }, + { + "name": "composer/semver", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.3.2" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-04-01T19:23:25+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "ced299686f41dce890debac69273b47ffe98a40c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-02-25T21:32:43+00:00" + }, + { + "name": "doctrine/annotations", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2 || ^3", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^5.4 || ^6", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/2.0.1" + }, + "time": "2023-02-02T22:02:53+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "84a527db05647743d50373e0ec53a152f2cde568" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", + "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-12-15T16:57:16+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v3.21.1", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", + "reference": "229b55b3eae4729a8e2a321441ba40fcb3720b86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/229b55b3eae4729a8e2a321441ba40fcb3720b86", + "reference": "229b55b3eae4729a8e2a321441ba40fcb3720b86", + "shasum": "" + }, + "require": { + "composer/semver": "^3.3", + "composer/xdebug-handler": "^3.0.3", + "doctrine/annotations": "^2", + "doctrine/lexer": "^2 || ^3", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^8.0.1", + "sebastian/diff": "^4.0 || ^5.0", + "symfony/console": "^5.4 || ^6.0", + "symfony/event-dispatcher": "^5.4 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0", + "symfony/finder": "^5.4 || ^6.0", + "symfony/options-resolver": "^5.4 || ^6.0", + "symfony/polyfill-mbstring": "^1.27", + "symfony/polyfill-php80": "^1.27", + "symfony/polyfill-php81": "^1.27", + "symfony/process": "^5.4 || ^6.0", + "symfony/stopwatch": "^5.4 || ^6.0" + }, + "require-dev": { + "justinrainbow/json-schema": "^5.2", + "keradus/cli-executor": "^2.0", + "mikey179/vfsstream": "^1.6.11", + "php-coveralls/php-coveralls": "^2.5.3", + "php-cs-fixer/accessible-object": "^1.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", + "phpspec/prophecy": "^1.16", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "phpunitgoodpractices/polyfill": "^1.6", + "phpunitgoodpractices/traits": "^1.9.2", + "symfony/phpunit-bridge": "^6.2.3", + "symfony/yaml": "^5.4 || ^6.0" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "keywords": [ + "Static code analysis", + "fixer", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.21.1" + }, + "funding": [ + { + "url": "https://github.com/keradus", + "type": "github" + } + ], + "time": "2023-07-05T21:50:25+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "symfony/console", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", + "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-29T12:49:39+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", + "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-04-21T14:41:17+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v6.3.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", + "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.3.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-06-01T08:30:39+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2", + "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-04-02T01:25:41+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd", + "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-12T14:21:09+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/process", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628", + "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-19T08:06:44+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4", + "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/service-contracts": "^2.5|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-16T10:14:28+00:00" + }, + { + "name": "symfony/string", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f", + "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-21T21:06:29+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^8.2" + }, + "platform-dev": [], + "plugin-api-version": "2.1.0" +} diff --git a/creational/AbstractFactory/DeviceFactory.php b/creational/AbstractFactory/DeviceFactory.php deleted file mode 100644 index 6d3e6d2..0000000 --- a/creational/AbstractFactory/DeviceFactory.php +++ /dev/null @@ -1,11 +0,0 @@ -createDevice(); - $builder->setHardware(); - $builder->setSoftware(); - $builder->setupSLA(); - - return $builder->getDevice(); - } -} \ No newline at end of file diff --git a/creational/Builder/InteractiveMirror.php b/creational/Builder/InteractiveMirror.php deleted file mode 100644 index 2caddb6..0000000 --- a/creational/Builder/InteractiveMirror.php +++ /dev/null @@ -1,13 +0,0 @@ -device->hardware[] = $component; - } - } - - public function setSoftware () { - $this->device->software = 'Mirror software'; - } - - public function setupSLA () { - $this->device->sla = 'Mirror SLA V2'; - } - - public function createDevice () { - $this->device = new InteractiveMirror(); - } - - public function getDevice () { - return $this->device; - } -} \ No newline at end of file diff --git a/creational/FactoryMethod/AudioBox.php b/creational/FactoryMethod/AudioBox.php deleted file mode 100644 index eb4cfb3..0000000 --- a/creational/FactoryMethod/AudioBox.php +++ /dev/null @@ -1,11 +0,0 @@ -file->getFilePath()}' />"; - } -} diff --git a/creational/FactoryMethod/Box.php b/creational/FactoryMethod/Box.php deleted file mode 100644 index abfbb0b..0000000 --- a/creational/FactoryMethod/Box.php +++ /dev/null @@ -1,15 +0,0 @@ -file = $file; - } - - abstract function getHtml (): string; -} \ No newline at end of file diff --git a/creational/FactoryMethod/BoxFactory.php b/creational/FactoryMethod/BoxFactory.php deleted file mode 100644 index 70b743b..0000000 --- a/creational/FactoryMethod/BoxFactory.php +++ /dev/null @@ -1,27 +0,0 @@ -getType()) { - case FileItem::TYPE_IMG: - return new ImgBox($item); - break; - case FileItem::TYPE_VIDEO: - return new VideoBox($item); - break; - case FileItem::TYPE_AUDIO: - return new AudioBox($item); - break; - default: - throw new InvalidArgumentException("Wrong file type provided: {$item->getType()}"); - break; - } - } -} \ No newline at end of file diff --git a/creational/FactoryMethod/Factory.php b/creational/FactoryMethod/Factory.php deleted file mode 100644 index 22554e6..0000000 --- a/creational/FactoryMethod/Factory.php +++ /dev/null @@ -1,8 +0,0 @@ -type = $type; - $this->filePath = $filePath; - } - - public function getType (): string { - return $this->type; - } - - public function getFilePath (): string { - return $this->filePath; - } -} \ No newline at end of file diff --git a/creational/FactoryMethod/ImgBox.php b/creational/FactoryMethod/ImgBox.php deleted file mode 100644 index a844c62..0000000 --- a/creational/FactoryMethod/ImgBox.php +++ /dev/null @@ -1,11 +0,0 @@ -file->getFilePath()}' />"; - } -} diff --git a/creational/FactoryMethod/VideoBox.php b/creational/FactoryMethod/VideoBox.php deleted file mode 100644 index a81c0b5..0000000 --- a/creational/FactoryMethod/VideoBox.php +++ /dev/null @@ -1,11 +0,0 @@ -file->getFilePath()}' />"; - } -} diff --git a/creational/FactoryMethod/demo.php b/creational/FactoryMethod/demo.php deleted file mode 100644 index b1dba4e..0000000 --- a/creational/FactoryMethod/demo.php +++ /dev/null @@ -1,13 +0,0 @@ -getHtml()); -var_dump(BoxFactory::createBox($video)->getHtml()); -var_dump(BoxFactory::createBox($audio)->getHtml()); diff --git a/creational/Prototype/Computer.php b/creational/Prototype/Computer.php deleted file mode 100644 index 6364911..0000000 --- a/creational/Prototype/Computer.php +++ /dev/null @@ -1,22 +0,0 @@ -group = $group; - } - - public function setUid (string $uid): void { - $this->uid = $uid; - } - - public function save (): void { - echo "Saving device with UID {$this->uid} to group {$this->group->getName()}" . PHP_EOL; - } -} \ No newline at end of file diff --git a/creational/Prototype/Device.php b/creational/Prototype/Device.php deleted file mode 100644 index f497e54..0000000 --- a/creational/Prototype/Device.php +++ /dev/null @@ -1,13 +0,0 @@ -name = $name; - $this->location = $location; - } - - public function getName (): string { - return $this->name; - } - - public function getLocation (): string { - $this->location; - } -} \ No newline at end of file diff --git a/creational/Prototype/demo.php b/creational/Prototype/demo.php deleted file mode 100644 index ef359f5..0000000 --- a/creational/Prototype/demo.php +++ /dev/null @@ -1,25 +0,0 @@ -setUid($uid); - $device->save(); -} \ No newline at end of file diff --git a/creational/Singleton/singleton.php b/creational/Singleton/singleton.php deleted file mode 100644 index 92594b1..0000000 --- a/creational/Singleton/singleton.php +++ /dev/null @@ -1,37 +0,0 @@ -email = "active@user.com"; - } - - private function __clone () { - } - - public function setName (string $email): void { - $this->email = $email; - } - - public function changeEmail (): string { - return $this->email; - } - - - private static function get (): ActiveUser { - return new ActiveUser(); - } - - public static function getInstance (): ActiveUser { - if (!self::$instance) { - self::$instance = self::get(); - } - return self::$instance; - } -} diff --git a/src/Behavioral/ChainOfResponsibility/ApiMiddleware.php b/src/Behavioral/ChainOfResponsibility/ApiMiddleware.php new file mode 100644 index 0000000..ec60d2e --- /dev/null +++ b/src/Behavioral/ChainOfResponsibility/ApiMiddleware.php @@ -0,0 +1,23 @@ +hasParam(self::API_KEY_NAME) + && in_array($request->getParam(self::API_KEY_NAME), self::API_KEYS)) { + + return parent::process($request); + } else { + throw new MiddlewareError("Api key validation error"); + } + } +} diff --git a/behavioral/ChainOfResponsibility/App.php b/src/Behavioral/ChainOfResponsibility/App.php similarity index 55% rename from behavioral/ChainOfResponsibility/App.php rename to src/Behavioral/ChainOfResponsibility/App.php index 9069ab9..b36f854 100644 --- a/behavioral/ChainOfResponsibility/App.php +++ b/src/Behavioral/ChainOfResponsibility/App.php @@ -1,25 +1,30 @@ request = new Request($_GET, $_SERVER); $this->setMiddleware(); } - private function setMiddleware () { + private function setMiddleware(): void + { $this->middleware = new GetMiddleware(); $this->middleware->setNext(new ApiMiddleware()); } - public function run () { + public function run(): string + { if ($this->middleware->process($this->request)) { return (new Response($this->request))->handle(); } + + return ""; } -} \ No newline at end of file +} diff --git a/behavioral/ChainOfResponsibility/GetMiddleware.php b/src/Behavioral/ChainOfResponsibility/GetMiddleware.php similarity index 55% rename from behavioral/ChainOfResponsibility/GetMiddleware.php rename to src/Behavioral/ChainOfResponsibility/GetMiddleware.php index bc2efdd..80c74f5 100644 --- a/behavioral/ChainOfResponsibility/GetMiddleware.php +++ b/src/Behavioral/ChainOfResponsibility/GetMiddleware.php @@ -1,13 +1,14 @@ hasServerParam($this->methodKey) && $request->getServerParam($this->methodKey) === $this->allowedMethod) { @@ -16,4 +17,4 @@ public function process (Request $request) { throw new MiddlewareError("Only GET requests allowed"); } } -} \ No newline at end of file +} diff --git a/src/Behavioral/ChainOfResponsibility/Middleware.php b/src/Behavioral/ChainOfResponsibility/Middleware.php new file mode 100644 index 0000000..f65b372 --- /dev/null +++ b/src/Behavioral/ChainOfResponsibility/Middleware.php @@ -0,0 +1,23 @@ +next = $middleware; + + return $middleware; + } + + public function process(Request $request): bool + { + if (isset($this->next)) { + return $this->next->process($request); + } + return true; + } +} diff --git a/src/Behavioral/ChainOfResponsibility/MiddlewareError.php b/src/Behavioral/ChainOfResponsibility/MiddlewareError.php new file mode 100644 index 0000000..59a8fc4 --- /dev/null +++ b/src/Behavioral/ChainOfResponsibility/MiddlewareError.php @@ -0,0 +1,7 @@ +params[$name]; + } + + public function getParams(): array + { + return $this->params; + } + + public function hasParam(string $name): bool + { + return array_key_exists($name, $this->params); + } + + public function getServerParam(string $name) + { + return $this->server[$name]; + } + + public function hasServerParam(string $name): bool + { + return array_key_exists($name, $this->server); + } +} diff --git a/src/Behavioral/ChainOfResponsibility/Response.php b/src/Behavioral/ChainOfResponsibility/Response.php new file mode 100644 index 0000000..5a2c46e --- /dev/null +++ b/src/Behavioral/ChainOfResponsibility/Response.php @@ -0,0 +1,25 @@ + self::CODE_OK, + "message" => "Request proceeded correctly", + "params" => $this->request->getParams() + ]); + } +} diff --git a/src/Behavioral/ChainOfResponsibility/index.php b/src/Behavioral/ChainOfResponsibility/index.php new file mode 100644 index 0000000..0ac0c29 --- /dev/null +++ b/src/Behavioral/ChainOfResponsibility/index.php @@ -0,0 +1,8 @@ +run(); diff --git a/behavioral/ChainOfResponsibility/server.sh b/src/Behavioral/ChainOfResponsibility/server.sh similarity index 100% rename from behavioral/ChainOfResponsibility/server.sh rename to src/Behavioral/ChainOfResponsibility/server.sh diff --git a/behavioral/Command/Client.php b/src/Behavioral/Command/Client.php similarity index 56% rename from behavioral/Command/Client.php rename to src/Behavioral/Command/Client.php index ff1de46..65ae5ca 100644 --- a/behavioral/Command/Client.php +++ b/src/Behavioral/Command/Client.php @@ -1,14 +1,11 @@ listingRepository = $repository; } public function createListing(string $title, string $content, string $author): void @@ -17,10 +14,9 @@ public function createListing(string $title, string $content, string $author): v $command->handle(); } - public function deleteListing(string $listingUid) : void + public function deleteListing(string $listingUuid): void { - $command = new DeleteListing($this->listingRepository, $listingUid); + $command = new DeleteListing($this->listingRepository, $listingUuid); $command->handle(); } - -} \ No newline at end of file +} diff --git a/src/Behavioral/Command/Command.php b/src/Behavioral/Command/Command.php new file mode 100644 index 0000000..28f2d37 --- /dev/null +++ b/src/Behavioral/Command/Command.php @@ -0,0 +1,8 @@ +title) < self::MIN_TITLE_LENGTH) { + throw new LengthException(sprintf( + "Title is too short. Must be at least %d characters", + self::MIN_TITLE_LENGTH + )); + } + if (mb_strlen($this->content) < self::MIN_CONTENT_LENGTH) { + throw new LengthException(sprintf( + "Content is too short. Must be at least %d characters", + self::MIN_CONTENT_LENGTH + )); + } + if (mb_strlen($this->author) < self::MIN_AUTHOR_LENGTH) { + throw new LengthException(sprintf( + "Author name is too short. Must be at least %d characters", + self::MIN_AUTHOR_LENGTH + )); + } + } + + public function handle(): void + { + $this->validate(); + $this->repository->create($this->title, $this->content, $this->author); + } +} diff --git a/src/Behavioral/Command/DeleteListing.php b/src/Behavioral/Command/DeleteListing.php new file mode 100644 index 0000000..e24e6c3 --- /dev/null +++ b/src/Behavioral/Command/DeleteListing.php @@ -0,0 +1,15 @@ +repository->delete($this->listingUid); + } +} diff --git a/behavioral/Command/ListingRepository.php b/src/Behavioral/Command/ListingRepository.php similarity index 69% rename from behavioral/Command/ListingRepository.php rename to src/Behavioral/Command/ListingRepository.php index 05be259..63b5570 100644 --- a/behavioral/Command/ListingRepository.php +++ b/src/Behavioral/Command/ListingRepository.php @@ -1,6 +1,6 @@ createListing( @@ -10,4 +10,4 @@ "This is a content of a listing", "Company" ); -$client->deleteListing("Unique id"); \ No newline at end of file +$client->deleteListing("Unique id"); diff --git a/src/Behavioral/Iterator/Employee.php b/src/Behavioral/Iterator/Employee.php new file mode 100644 index 0000000..a60c126 --- /dev/null +++ b/src/Behavioral/Iterator/Employee.php @@ -0,0 +1,22 @@ +name; + } + + public function getPosition(): string + { + return $this->position; + } +} diff --git a/src/Behavioral/Iterator/Team.php b/src/Behavioral/Iterator/Team.php new file mode 100644 index 0000000..be85288 --- /dev/null +++ b/src/Behavioral/Iterator/Team.php @@ -0,0 +1,64 @@ +teams = new SplObjectStorage(); + } + + public function addTeam(Team $subordinate): void + { + $this->teams->attach($subordinate); + } + + public function detachTeam(Team $subordinate): void + { + $this->teams->detach($subordinate); + } + + public function getTeams(): SplObjectStorage + { + return $this->teams; + } + + public function getIterator(): TeamIterator + { + return new TeamIterator($this); + } + + public function count(): int + { + return count(new TeamIterator($this)); + } + + public function getName(): string + { + return $this->name; + } + + public function getLeader(): Employee + { + return $this->leader; + } + + public function printSummary(): void + { + echo $this->leader->getPosition() . ": " . $this->leader->getName() . " manages " . count($this) . " teams" . PHP_EOL; + + foreach ($this as $team) { + echo $team->getName() . " led by: " . $team->getLeader()->getName() . PHP_EOL; + } + echo PHP_EOL; + } +} diff --git a/src/Behavioral/Iterator/TeamIterator.php b/src/Behavioral/Iterator/TeamIterator.php new file mode 100644 index 0000000..1a10f8f --- /dev/null +++ b/src/Behavioral/Iterator/TeamIterator.php @@ -0,0 +1,56 @@ +addTeam($employee); + $this->position = 0; + } + + protected function addTeam(Team $employee): void + { + foreach ($employee->getTeams() as $member) { + $this->teams[] = $member; + $this->addTeam($member); + } + } + + public function current(): Team + { + return $this->teams[$this->position]; + } + + public function next(): void + { + ++$this->position; + } + + public function key(): int + { + return $this->position; + } + + public function valid(): bool + { + return isset($this->teams[$this->position]); + } + + public function rewind(): void + { + $this->position = 0; + } + + public function count(): int + { + return count($this->teams); + } +} diff --git a/src/Behavioral/Iterator/demo.php b/src/Behavioral/Iterator/demo.php new file mode 100644 index 0000000..d245cc6 --- /dev/null +++ b/src/Behavioral/Iterator/demo.php @@ -0,0 +1,24 @@ +addTeam($teamA); +$tech->addTeam($teamB); +$ceo->addTeam($tech); + +$ceo->printSummary(); + +$teamC = new Team("Team C", new Employee("Jan", 'Team Leader')); +$tech->addTeam($teamC); + +$ceo->printSummary(); + +$ceo->detachTeam($teamC); +$tech->printSummary(); diff --git a/behavioral/NullObject/ArrayCache.php b/src/Behavioral/NullObject/ArrayCache.php similarity index 64% rename from behavioral/NullObject/ArrayCache.php rename to src/Behavioral/NullObject/ArrayCache.php index 1f44947..efe39b6 100644 --- a/behavioral/NullObject/ArrayCache.php +++ b/src/Behavioral/NullObject/ArrayCache.php @@ -1,12 +1,12 @@ has($key)) { return $this->data[$key]; @@ -14,7 +14,7 @@ public function get(string $key) return false; } - public function set(string $key, $data): void + public function set(string $key, string $data): void { $this->data[$key] = $data; } @@ -23,4 +23,4 @@ public function has(string $key): bool { return array_key_exists($key, $this->data); } -} \ No newline at end of file +} diff --git a/src/Behavioral/NullObject/Cache.php b/src/Behavioral/NullObject/Cache.php new file mode 100644 index 0000000..63a29d2 --- /dev/null +++ b/src/Behavioral/NullObject/Cache.php @@ -0,0 +1,12 @@ +employees = new SplObjectStorage(); + } + + public function attach(SplObserver $employee): void + { + $this->employees->attach($employee); + } + + public function detach(SplObserver $employee): void + { + $this->employees->detach($employee); + } + + public function inform(string $message): void + { + $this->notify($message); + } + + public function notify(string $message = ""): void + { + foreach ($this->employees as $employee) { + /** + * @var $employee Employee + */ + $employee->update($this, $message); + } + } +} diff --git a/src/Behavioral/Observer/Employee.php b/src/Behavioral/Observer/Employee.php new file mode 100644 index 0000000..791f12b --- /dev/null +++ b/src/Behavioral/Observer/Employee.php @@ -0,0 +1,28 @@ +sendEmail($message); + } + + protected function sendEmail(string $message): void + { + echo "Sending email to: " . $this->email . " - Hello " . $this->name . ", " . $message . PHP_EOL; + } + + public function getName(): string + { + return $this->name; + } +} diff --git a/src/Behavioral/Observer/HumanResources.php b/src/Behavioral/Observer/HumanResources.php new file mode 100644 index 0000000..ae17afb --- /dev/null +++ b/src/Behavioral/Observer/HumanResources.php @@ -0,0 +1,32 @@ +communicator = new Communicator(); + + foreach ($employees as $employee) { + $this->communicator->attach($employee); + } + } + + public function inform(string $message): void + { + $this->communicator->inform($message); + } + + public function layOf(Employee $employee): void + { + $this->communicator->detach($employee); + } + + public function employ(Employee $employee): void + { + $this->communicator->attach($employee); + } +} diff --git a/src/Behavioral/Observer/demo.php b/src/Behavioral/Observer/demo.php new file mode 100644 index 0000000..8e6ffe3 --- /dev/null +++ b/src/Behavioral/Observer/demo.php @@ -0,0 +1,21 @@ +inform("Some important news"); + +$software = new Employee("Ben", "ben@gmail.com"); +$hr->inform("New employee: " . $software->getName()); +$hr->employ($software); + +$hr->layOf($software); +$hr->inform("Employee was laid off: " . $software->getName()); diff --git a/behavioral/Specification/AndSpecification.php b/src/Behavioral/Specification/AndSpecification.php similarity index 80% rename from behavioral/Specification/AndSpecification.php rename to src/Behavioral/Specification/AndSpecification.php index c6d9de4..95742b1 100644 --- a/behavioral/Specification/AndSpecification.php +++ b/src/Behavioral/Specification/AndSpecification.php @@ -1,9 +1,9 @@ age; + } + + public function getWorkExperience(): array + { + return $this->workExperience; + } + + public function getEducation(): array + { + return $this->education; + } + + public function isConvicted(): bool + { + return $this->isConvicted; + } + +} diff --git a/behavioral/Specification/ConvictedSpecification.php b/src/Behavioral/Specification/ConvictedSpecification.php similarity index 55% rename from behavioral/Specification/ConvictedSpecification.php rename to src/Behavioral/Specification/ConvictedSpecification.php index 9e76094..8e96962 100644 --- a/behavioral/Specification/ConvictedSpecification.php +++ b/src/Behavioral/Specification/ConvictedSpecification.php @@ -1,12 +1,11 @@ isConvicted(); } -} \ No newline at end of file +} diff --git a/src/Behavioral/Specification/Education.php b/src/Behavioral/Specification/Education.php new file mode 100644 index 0000000..49d8773 --- /dev/null +++ b/src/Behavioral/Specification/Education.php @@ -0,0 +1,18 @@ +end; + } + +} diff --git a/src/Behavioral/Specification/MaxAgeSpecification.php b/src/Behavioral/Specification/MaxAgeSpecification.php new file mode 100644 index 0000000..95356e4 --- /dev/null +++ b/src/Behavioral/Specification/MaxAgeSpecification.php @@ -0,0 +1,16 @@ +getAge() <= $this->maxAge; + } + +} diff --git a/src/Behavioral/Specification/NotSpecification.php b/src/Behavioral/Specification/NotSpecification.php new file mode 100644 index 0000000..3bfa16f --- /dev/null +++ b/src/Behavioral/Specification/NotSpecification.php @@ -0,0 +1,15 @@ +specification->isSatisfiedBy($candidate); + } +} diff --git a/behavioral/Specification/OrSpecification.php b/src/Behavioral/Specification/OrSpecification.php similarity index 82% rename from behavioral/Specification/OrSpecification.php rename to src/Behavioral/Specification/OrSpecification.php index e9b9a11..30f827c 100644 --- a/behavioral/Specification/OrSpecification.php +++ b/src/Behavioral/Specification/OrSpecification.php @@ -1,9 +1,9 @@ getEducation() as $education) { if ($education->getEndDate() > new DateTime()) { @@ -16,4 +16,4 @@ public function isSatisfiedBy(Candidate $candidate) : bool return false; } -} \ No newline at end of file +} diff --git a/src/Behavioral/Specification/WorkExperience.php b/src/Behavioral/Specification/WorkExperience.php new file mode 100644 index 0000000..ba58822 --- /dev/null +++ b/src/Behavioral/Specification/WorkExperience.php @@ -0,0 +1,19 @@ +start->diff($this->end); + return ($workedInterval->y * 12) + $workedInterval->m; + } + +} diff --git a/src/Behavioral/Specification/WorkExperienceSpecification.php b/src/Behavioral/Specification/WorkExperienceSpecification.php new file mode 100644 index 0000000..3ddabc3 --- /dev/null +++ b/src/Behavioral/Specification/WorkExperienceSpecification.php @@ -0,0 +1,21 @@ +getWorkExperience() as $experience) { + $totalMonthsOfExperience += $experience->getWorkedMonths(); + } + + return $totalMonthsOfExperience / 12 >= $this->minYearsOfExperience; + } +} diff --git a/behavioral/Specification/demo.php b/src/Behavioral/Specification/demo.php similarity index 77% rename from behavioral/Specification/demo.php rename to src/Behavioral/Specification/demo.php index 67d0df7..7846621 100644 --- a/behavioral/Specification/demo.php +++ b/src/Behavioral/Specification/demo.php @@ -1,10 +1,10 @@ say("You too..."); + } + + public function hug(Person $context): void + { + $context->say("Hm..."); + $context->setState(new Neutral()); + } + + public function getName(Person $context, string $name): void + { + $context->say("{$name}. What's your problem?"); + } + +} diff --git a/src/Behavioral/State/Happy.php b/src/Behavioral/State/Happy.php new file mode 100644 index 0000000..2f9d234 --- /dev/null +++ b/src/Behavioral/State/Happy.php @@ -0,0 +1,22 @@ +say("Oh! That wasn't nice"); + $context->setState(new Neutral()); + } + + public function hug(Person $context): void + { + $context->say("Oh! That was nice, thanks"); + } + + public function getName(Person $context, string $name): void + { + $context->say("Oh! Hello dear friend. My name is {$name}"); + } +} diff --git a/src/Behavioral/State/Mood.php b/src/Behavioral/State/Mood.php new file mode 100644 index 0000000..da7a68e --- /dev/null +++ b/src/Behavioral/State/Mood.php @@ -0,0 +1,12 @@ +say("What the heck do you want?"); $context->setState(new Angry()); } - public function hug (Person $context) { + public function hug(Person $context): void + { $context->say("Thanks"); $context->setState(new Happy()); } - public function getName (Person $context, string $name) { + public function getName(Person $context, string $name): void + { $context->say("My name is {$name}"); } -} \ No newline at end of file +} diff --git a/src/Behavioral/State/Person.php b/src/Behavioral/State/Person.php new file mode 100644 index 0000000..430cffa --- /dev/null +++ b/src/Behavioral/State/Person.php @@ -0,0 +1,40 @@ +setState($mood); + $this->name = $name; + } + + public function setState(Mood $mood): void + { + $this->currentMood = $mood; + } + + public function insult(): void + { + $this->currentMood->insult($this); + } + + public function getName(): void + { + $this->currentMood->getName($this, $this->name); + } + + public function hug(): void + { + $this->currentMood->hug($this); + } + + public function say(string $msg): void + { + echo($msg . PHP_EOL); + } +} diff --git a/behavioral/State/demo.php b/src/Behavioral/State/demo.php similarity index 65% rename from behavioral/State/demo.php rename to src/Behavioral/State/demo.php index fb42d7d..35c8e94 100644 --- a/behavioral/State/demo.php +++ b/src/Behavioral/State/demo.php @@ -1,8 +1,8 @@ getName(); diff --git a/src/Behavioral/Strategy/Context.php b/src/Behavioral/Strategy/Context.php new file mode 100644 index 0000000..25aafba --- /dev/null +++ b/src/Behavioral/Strategy/Context.php @@ -0,0 +1,23 @@ +formatter = match ($outputType) { + "json" => new JSONFormatter(), + "xml" => new XMLFormatter(), + "string" => new StringFormatter(), + default => throw new \InvalidArgumentException("{$outputType} is not supported"), + }; + } + + public function formatData(array $data): string + { + return $this->formatter->format($data); + } +} diff --git a/src/Behavioral/Strategy/JSONFormatter.php b/src/Behavioral/Strategy/JSONFormatter.php new file mode 100644 index 0000000..1eee2d7 --- /dev/null +++ b/src/Behavioral/Strategy/JSONFormatter.php @@ -0,0 +1,11 @@ +addData($data, new SimpleXMLElement('')); return $xml->asXML(); } - protected function addData (array $data, SimpleXMLElement $xml) { + protected function addData(array $data, SimpleXMLElement $xml): SimpleXMLElement + { foreach ($data as $k => $v) { is_array($v) ? $this->addData($v, $xml->addChild($k)) @@ -20,4 +22,4 @@ protected function addData (array $data, SimpleXMLElement $xml) { } return $xml; } -} \ No newline at end of file +} diff --git a/behavioral/Strategy/demo.php b/src/Behavioral/Strategy/demo.php similarity index 56% rename from behavioral/Strategy/demo.php rename to src/Behavioral/Strategy/demo.php index 47db62b..8a40724 100644 --- a/behavioral/Strategy/demo.php +++ b/src/Behavioral/Strategy/demo.php @@ -1,13 +1,13 @@ "Johhny", - "surname" => "Marrony", - "company" => "Company", + "name" => "Johny", + "surname" => "Marony", + "company" => "Company Name", "position" => "Senior Doorkeeper" ]; @@ -18,4 +18,4 @@ echo $stringContext->formatData($exampleData) . PHP_EOL; $xmlContext = new Context('xml'); -echo $xmlContext->formatData($exampleData) . PHP_EOL; \ No newline at end of file +echo $xmlContext->formatData($exampleData) . PHP_EOL; diff --git a/src/Behavioral/TemplateMethod/ActionMovie.php b/src/Behavioral/TemplateMethod/ActionMovie.php new file mode 100644 index 0000000..18e0277 --- /dev/null +++ b/src/Behavioral/TemplateMethod/ActionMovie.php @@ -0,0 +1,27 @@ +budget = 100000; + } + + protected function castActors(): void + { + foreach (array_rand(self::AVAILABLE_ACTORS, self::NUM_ROLES) as $actor) { + $this->cast[] = self::AVAILABLE_ACTORS[$actor]; + } + } + + protected function castDirector(): void + { + $this->director = self::AVAILABLE_DIRECTORS[array_rand(self::AVAILABLE_DIRECTORS)]; + } +} diff --git a/src/Behavioral/TemplateMethod/ComedyMovie.php b/src/Behavioral/TemplateMethod/ComedyMovie.php new file mode 100644 index 0000000..d580661 --- /dev/null +++ b/src/Behavioral/TemplateMethod/ComedyMovie.php @@ -0,0 +1,25 @@ +budget = 500000; + } + + protected function castActors(): void + { + $this->cast[] = 'Adam Sandler'; + $this->cast[] = self::AVAILABLE_ACTORS[array_rand(self::AVAILABLE_ACTORS)]; + } + + protected function castDirector(): void + { + $this->director = self::AVAILABLE_DIRECTORS[array_rand(self::AVAILABLE_DIRECTORS)]; + } +} diff --git a/src/Behavioral/TemplateMethod/Movie.php b/src/Behavioral/TemplateMethod/Movie.php new file mode 100644 index 0000000..2a908bd --- /dev/null +++ b/src/Behavioral/TemplateMethod/Movie.php @@ -0,0 +1,36 @@ +name = $name; + } + + final public function publish(): void + { + $this->raiseMoney(); + $this->castActors(); + $this->castDirector(); + $this->promote(); + } + + abstract protected function raiseMoney(): void; + + abstract protected function castActors(): void; + + abstract protected function castDirector(): void; + + protected function promote(): void + { + $actors = implode(", ", $this->cast); + echo "New movie '{$this->name}' directed by {$this->director}. Starring {$actors} and budget of \${$this->budget}!" . PHP_EOL; + } +} diff --git a/behavioral/TemplateMethod/demo.php b/src/Behavioral/TemplateMethod/demo.php similarity index 51% rename from behavioral/TemplateMethod/demo.php rename to src/Behavioral/TemplateMethod/demo.php index aded3a2..187876d 100644 --- a/behavioral/TemplateMethod/demo.php +++ b/src/Behavioral/TemplateMethod/demo.php @@ -1,11 +1,11 @@ publish(); $comedyMovie = new ComedyMovie("Comedy 2"); -$comedyMovie->publish(); \ No newline at end of file +$comedyMovie->publish(); diff --git a/src/Behavioral/Visitor/SickLeave.php b/src/Behavioral/Visitor/SickLeave.php new file mode 100644 index 0000000..f1d92a9 --- /dev/null +++ b/src/Behavioral/Visitor/SickLeave.php @@ -0,0 +1,20 @@ +start; + } + + public function getEnd(): \DateTime + { + return $this->end; + } +} diff --git a/behavioral/Visitor/SickLeaveReport.php b/src/Behavioral/Visitor/SickLeaveReport.php similarity index 57% rename from behavioral/Visitor/SickLeaveReport.php rename to src/Behavioral/Visitor/SickLeaveReport.php index 5ead9bc..6e1b58a 100644 --- a/behavioral/Visitor/SickLeaveReport.php +++ b/src/Behavioral/Visitor/SickLeaveReport.php @@ -1,19 +1,18 @@ getName()}\""; + $msg = "Generating sick leave report for: {$university->getName()}" . PHP_EOL; foreach ($university->getStudents() as $student) { - $msgs[] = $this->visitStudent($student); + $msg .= $this->visitStudent($student) . PHP_EOL; } - return $msgs; + return $msg; } public function visitStudent(Student $student): string @@ -26,4 +25,4 @@ public function visitStudent(Student $student): string return "Student: {$student->getName()} missed {$daysMissed} days"; } -} \ No newline at end of file +} diff --git a/behavioral/Visitor/Student.php b/src/Behavioral/Visitor/Student.php similarity index 77% rename from behavioral/Visitor/Student.php rename to src/Behavioral/Visitor/Student.php index f3fcf3a..2bb14f8 100644 --- a/behavioral/Visitor/Student.php +++ b/src/Behavioral/Visitor/Student.php @@ -1,18 +1,18 @@ name = $name; } - public function addSickLeave(\DateTime $start, \DateTime $end) : void + public function addSickLeave(\DateTime $start, \DateTime $end): void { $this->sickLeaves[] = new SickLeave($start, $end); } @@ -31,4 +31,4 @@ public function accept(Visitor $visitor): string { return $visitor->visitStudent($this); } -} \ No newline at end of file +} diff --git a/src/Behavioral/Visitor/University.php b/src/Behavioral/Visitor/University.php new file mode 100644 index 0000000..3bda165 --- /dev/null +++ b/src/Behavioral/Visitor/University.php @@ -0,0 +1,25 @@ +name; + } + + public function getStudents(): array + { + return $this->students; + } + + public function accept(Visitor $visitor): string + { + return $visitor->visitUniversity($this); + } +} diff --git a/src/Behavioral/Visitor/Visitable.php b/src/Behavioral/Visitor/Visitable.php new file mode 100644 index 0000000..fe34082 --- /dev/null +++ b/src/Behavioral/Visitor/Visitable.php @@ -0,0 +1,8 @@ +addSickLeave(new \DateTime("2019-10-01"), new \DateTime("2019-10-21")); @@ -14,13 +14,4 @@ $ann = new Student("Ann"); $university = new University("Visitor University", [$john, $jan, $ann]); -$results = $university->accept(new SickLeaveReport()); - -function show($data) -{ - foreach ($data as $datum) { - echo $datum.PHP_EOL; - } -} - -show($results); \ No newline at end of file +echo $university->accept(new SickLeaveReport()); \ No newline at end of file diff --git a/src/Creational/AbstractFactory/DeviceFactory.php b/src/Creational/AbstractFactory/DeviceFactory.php new file mode 100644 index 0000000..1c0fbc5 --- /dev/null +++ b/src/Creational/AbstractFactory/DeviceFactory.php @@ -0,0 +1,10 @@ +makeIndoor(); @@ -20,4 +20,4 @@ $indoorIot->testTouch(); $indoorIot->testSensors(); $outdoorIot->testForVandalism(); -$outdoorIot->testForWeatherConditions(); \ No newline at end of file +$outdoorIot->testForWeatherConditions(); diff --git a/src/Creational/Builder/Device.php b/src/Creational/Builder/Device.php new file mode 100644 index 0000000..3607f5d --- /dev/null +++ b/src/Creational/Builder/Device.php @@ -0,0 +1,12 @@ +setHardware() + ->setSoftware() + ->setSLA() + ->getDevice(); + } +} diff --git a/src/Creational/Builder/InteractiveMirror.php b/src/Creational/Builder/InteractiveMirror.php new file mode 100644 index 0000000..6bec9b2 --- /dev/null +++ b/src/Creational/Builder/InteractiveMirror.php @@ -0,0 +1,25 @@ +hardware[] = $hardware; + } + + public function setSoftware(string $software): void + { + $this->software = $software; + } + + public function setSLA(string $SLA): void + { + $this->SLA = $SLA; + } +} diff --git a/src/Creational/Builder/InteractiveMirrorBuilder.php b/src/Creational/Builder/InteractiveMirrorBuilder.php new file mode 100644 index 0000000..f0499d2 --- /dev/null +++ b/src/Creational/Builder/InteractiveMirrorBuilder.php @@ -0,0 +1,41 @@ +device->attachHardware($component); + } + + return $this; + } + + public function setSoftware(): self + { + $this->device->setSoftware('Mirror software'); + + return $this; + } + + public function setSLA(): self + { + $this->device->setSLA('Mirror SLA V2'); + + return $this; + } + + public function getDevice(): Device + { + return $this->device; + } +} diff --git a/creational/Builder/demo.php b/src/Creational/Builder/demo.php similarity index 56% rename from creational/Builder/demo.php rename to src/Creational/Builder/demo.php index f7b833d..9a8682a 100644 --- a/creational/Builder/demo.php +++ b/src/Creational/Builder/demo.php @@ -1,12 +1,11 @@ buildDevice($mirrorBuilder); -var_dump($mirror); \ No newline at end of file +var_dump($mirror); diff --git a/src/Creational/FactoryMethod/AudioBox.php b/src/Creational/FactoryMethod/AudioBox.php new file mode 100644 index 0000000..f40ee85 --- /dev/null +++ b/src/Creational/FactoryMethod/AudioBox.php @@ -0,0 +1,11 @@ +file->getFilePath()}' />"; + } +} diff --git a/src/Creational/FactoryMethod/Box.php b/src/Creational/FactoryMethod/Box.php new file mode 100644 index 0000000..e97ef99 --- /dev/null +++ b/src/Creational/FactoryMethod/Box.php @@ -0,0 +1,15 @@ +file = $file; + } + + abstract public function getHtml(): string; +} diff --git a/src/Creational/FactoryMethod/BoxFactory.php b/src/Creational/FactoryMethod/BoxFactory.php new file mode 100644 index 0000000..c98129f --- /dev/null +++ b/src/Creational/FactoryMethod/BoxFactory.php @@ -0,0 +1,18 @@ +getType()) { + FileItem::TYPE_IMG => new ImgBox($item), + FileItem::TYPE_VIDEO => new VideoBox($item), + FileItem::TYPE_AUDIO => new AudioBox($item), + default => throw new InvalidArgumentException("Wrong file type provided: {$item->getType()}"), + }; + } +} diff --git a/src/Creational/FactoryMethod/Factory.php b/src/Creational/FactoryMethod/Factory.php new file mode 100644 index 0000000..b1fd211 --- /dev/null +++ b/src/Creational/FactoryMethod/Factory.php @@ -0,0 +1,8 @@ +type; + } + + public function getFilePath(): string + { + return $this->filePath; + } +} diff --git a/src/Creational/FactoryMethod/ImgBox.php b/src/Creational/FactoryMethod/ImgBox.php new file mode 100644 index 0000000..28cc4c4 --- /dev/null +++ b/src/Creational/FactoryMethod/ImgBox.php @@ -0,0 +1,11 @@ +file->getFilePath()}' />"; + } +} diff --git a/src/Creational/FactoryMethod/VideoBox.php b/src/Creational/FactoryMethod/VideoBox.php new file mode 100644 index 0000000..9876eac --- /dev/null +++ b/src/Creational/FactoryMethod/VideoBox.php @@ -0,0 +1,11 @@ +file->getFilePath()}' />"; + } +} diff --git a/src/Creational/FactoryMethod/demo.php b/src/Creational/FactoryMethod/demo.php new file mode 100644 index 0000000..494a89a --- /dev/null +++ b/src/Creational/FactoryMethod/demo.php @@ -0,0 +1,13 @@ +getHtml() . PHP_EOL; +echo BoxFactory::createBox($video)->getHtml() . PHP_EOL; +echo BoxFactory::createBox($audio)->getHtml() . PHP_EOL; diff --git a/src/Creational/Prototype/Computer.php b/src/Creational/Prototype/Computer.php new file mode 100644 index 0000000..00a3e19 --- /dev/null +++ b/src/Creational/Prototype/Computer.php @@ -0,0 +1,25 @@ +uuid = $uuid; + + return $this; + } + + public function save(): void + { + echo "Saving device with UID {$this->uuid} to group {$this->group->getName()} in {$this->group->getLocation()}" . PHP_EOL; + } +} diff --git a/src/Creational/Prototype/Device.php b/src/Creational/Prototype/Device.php new file mode 100644 index 0000000..6a94751 --- /dev/null +++ b/src/Creational/Prototype/Device.php @@ -0,0 +1,12 @@ +name; + } + + public function getLocation(): string + { + return $this->location; + } +} diff --git a/src/Creational/Prototype/demo.php b/src/Creational/Prototype/demo.php new file mode 100644 index 0000000..9b57b9b --- /dev/null +++ b/src/Creational/Prototype/demo.php @@ -0,0 +1,23 @@ +setUuid($uid)->save(); +} diff --git a/src/Creational/Singleton/ActiveUser.php b/src/Creational/Singleton/ActiveUser.php new file mode 100644 index 0000000..d8c13a5 --- /dev/null +++ b/src/Creational/Singleton/ActiveUser.php @@ -0,0 +1,37 @@ +email = "active@user.com"; + } + + private function __clone() + { + } + + public function setName(string $email): void + { + $this->email = $email; + } + + public function changeEmail(): string + { + return $this->email; + } + + public static function getInstance(): ActiveUser + { + if (!self::$instance) { + self::$instance = new ActiveUser(); + } + return self::$instance; + } +} diff --git a/structural/Adapter/.env.example b/src/Structural/Adapter/.env.example similarity index 53% rename from structural/Adapter/.env.example rename to src/Structural/Adapter/.env.example index df7e668..405580b 100644 --- a/structural/Adapter/.env.example +++ b/src/Structural/Adapter/.env.example @@ -1,7 +1,3 @@ -AZURE_ACCOUNT_NAME="" -AZURE_ACCOUNT_KEY="" -AZURE_CONTAINER_NAME="" - AWS_ACCESS_KEY_ID="" AWS_SECRET_ACCESS_KEY="" AWS_REGION="" diff --git a/structural/Adapter/AWSFileStorage.php b/src/Structural/Adapter/AWSFileStorage.php similarity index 53% rename from structural/Adapter/AWSFileStorage.php rename to src/Structural/Adapter/AWSFileStorage.php index 26d4d77..b24bc24 100644 --- a/structural/Adapter/AWSFileStorage.php +++ b/src/Structural/Adapter/AWSFileStorage.php @@ -1,22 +1,22 @@ load('.env'); - $this->bucket = getenv('AWS_BUCKET_NAME'); + $this->bucket = getenv('AWS_BUCKET_NAME') ?? ""; $this->client = new S3Client([ 'version' => 'latest', @@ -25,7 +25,8 @@ public function __construct () { ]); } - public function get (string $name): File { + public function get(string $name): File + { try { $file = $this->client->getObject([ 'Bucket' => $this->bucket, @@ -33,12 +34,13 @@ public function get (string $name): File { ]); return new File($name, $file['Body']->getContents()); - } catch (\Exception $e) { - throw new \Exception($e->getMessage()); + } catch (\Throwable $e) { + throw new \LogicException($e->getMessage()); } } - public function save (string $path, string $name): void { + public function save(string $path, string $name): void + { $this->client->putObject([ 'Bucket' => $this->bucket, 'Key' => $name, @@ -46,10 +48,17 @@ public function save (string $path, string $name): void { ]); } - public function delete (string $name): void { - $this->client->deleteObject([ - 'Bucket' => $this->bucket, - 'Key' => $name - ]); + public function delete(string $name): bool + { + try { + $this->client->deleteObject([ + 'Bucket' => $this->bucket, + 'Key' => $name + ]); + } catch (\Throwable $e) { + return false; + } + + return true; } -} \ No newline at end of file +} diff --git a/src/Structural/Adapter/Client.php b/src/Structural/Adapter/Client.php new file mode 100644 index 0000000..a9d9e3e --- /dev/null +++ b/src/Structural/Adapter/Client.php @@ -0,0 +1,35 @@ +storageProvider = match ($storage) { + 'local' => new LocalFileStorage(), + 'aws' => new AWSFileStorage(), + default => throw new \Exception("Unsupported storage requested $storage"), + }; + } + + public function save(string $filePath, string $name): void + { + $this->storageProvider->save($filePath, $name); + } + + public function get(string $name): File + { + return $this->storageProvider->get($name); + } + + public function delete(string $name) + { + return $this->storageProvider->delete($name); + } +} diff --git a/src/Structural/Adapter/File.php b/src/Structural/Adapter/File.php new file mode 100644 index 0000000..500a701 --- /dev/null +++ b/src/Structural/Adapter/File.php @@ -0,0 +1,20 @@ +content; + } + + public function getName(): string + { + return $this->name; + } +} diff --git a/src/Structural/Adapter/FileAdapter.php b/src/Structural/Adapter/FileAdapter.php new file mode 100644 index 0000000..227d668 --- /dev/null +++ b/src/Structural/Adapter/FileAdapter.php @@ -0,0 +1,12 @@ + -
- - -
@@ -124,7 +119,7 @@ class="form-control" aria-describedby="emailHelp" placeholder="Enter file name" required> - Enter filename, choose it's storage and action + Enter filename, choose its storage and action
diff --git a/structural/Adapter/server.sh b/src/Structural/Adapter/server.sh similarity index 100% rename from structural/Adapter/server.sh rename to src/Structural/Adapter/server.sh diff --git a/structural/Adapter/storage/.gitkeep b/src/Structural/Adapter/storage/.gitkeep similarity index 100% rename from structural/Adapter/storage/.gitkeep rename to src/Structural/Adapter/storage/.gitkeep diff --git a/src/Structural/Bridge/Blurred.php b/src/Structural/Bridge/Blurred.php new file mode 100644 index 0000000..5837126 --- /dev/null +++ b/src/Structural/Bridge/Blurred.php @@ -0,0 +1,24 @@ +content->getHtml(); + $css = $this->content->getCss(); + + return << + $css + .content { + filter: blur(5px); + -webkit-filter: blur(5px); + } + +CONTENT; + } +} diff --git a/src/Structural/Bridge/Content.php b/src/Structural/Bridge/Content.php new file mode 100644 index 0000000..0c2a9d0 --- /dev/null +++ b/src/Structural/Bridge/Content.php @@ -0,0 +1,15 @@ +filePath' />"; } -} \ No newline at end of file +} diff --git a/structural/Bridge/Standard.php b/src/Structural/Bridge/Standard.php similarity index 59% rename from structural/Bridge/Standard.php rename to src/Structural/Bridge/Standard.php index 3d3646c..b6ea942 100644 --- a/structural/Bridge/Standard.php +++ b/src/Structural/Bridge/Standard.php @@ -1,12 +1,11 @@ content->getHtml(); $css = $this->content->getCss(); @@ -19,4 +18,4 @@ public function render (): string { CONTENT; } -} \ No newline at end of file +} diff --git a/structural/Bridge/Video.php b/src/Structural/Bridge/Video.php similarity index 60% rename from structural/Bridge/Video.php rename to src/Structural/Bridge/Video.php index f86df3d..efd6dc0 100644 --- a/structural/Bridge/Video.php +++ b/src/Structural/Bridge/Video.php @@ -1,11 +1,11 @@ filePath' autoplay muted loop>"; } -} \ No newline at end of file +} diff --git a/structural/Bridge/demo.php b/src/Structural/Bridge/demo.php similarity index 82% rename from structural/Bridge/demo.php rename to src/Structural/Bridge/demo.php index 4b02527..e277962 100644 --- a/structural/Bridge/demo.php +++ b/src/Structural/Bridge/demo.php @@ -1,8 +1,8 @@ dependencies = new SplObjectStorage(); $this->name = $name; } - public function calculateBudget (): int { + public function calculateBudget(): int + { $total = 0; foreach ($this->getDependent() as $dependent) { @@ -24,11 +26,13 @@ public function calculateBudget (): int { return $total; } - public function getDependent (): SplObjectStorage { + public function getDependent(): SplObjectStorage + { return $this->dependencies; } - public function addDependent (Budgeted $item): void { + public function addDependent(Budgeted $item): void + { $this->dependencies->attach($item); } -} \ No newline at end of file +} diff --git a/src/Structural/Composite/Employee.php b/src/Structural/Composite/Employee.php new file mode 100644 index 0000000..4454be8 --- /dev/null +++ b/src/Structural/Composite/Employee.php @@ -0,0 +1,15 @@ +salary; + } +} diff --git a/structural/Composite/demo.php b/src/Structural/Composite/demo.php similarity index 87% rename from structural/Composite/demo.php rename to src/Structural/Composite/demo.php index 360d8fb..bc1bfe3 100644 --- a/structural/Composite/demo.php +++ b/src/Structural/Composite/demo.php @@ -1,8 +1,8 @@ addDependent($it); echo("Total company salaries: \${$company->calculateBudget()}" . PHP_EOL); - diff --git a/src/Structural/Decorator/Product.php b/src/Structural/Decorator/Product.php new file mode 100644 index 0000000..fb03584 --- /dev/null +++ b/src/Structural/Decorator/Product.php @@ -0,0 +1,10 @@ +product = $product; + } + + abstract public function getName(): string; + + abstract public function getPrice(): int; + +} diff --git a/src/Structural/Decorator/Shirt.php b/src/Structural/Decorator/Shirt.php new file mode 100644 index 0000000..bdd53f1 --- /dev/null +++ b/src/Structural/Decorator/Shirt.php @@ -0,0 +1,22 @@ +name}"; + } + + public function getPrice(): int + { + return round($this->price * self::TAX_RATE); + } +} diff --git a/src/Structural/Decorator/SummerSale.php b/src/Structural/Decorator/SummerSale.php new file mode 100644 index 0000000..390649e --- /dev/null +++ b/src/Structural/Decorator/SummerSale.php @@ -0,0 +1,19 @@ +product->getName()} ONLY {$this->getPrice()} EUR"; + } + + public function getPrice(): int + { + return round($this->product->getPrice() * self::DISCOUNT_FACTOR); + } + +} diff --git a/src/Structural/Decorator/TV.php b/src/Structural/Decorator/TV.php new file mode 100644 index 0000000..8bdffa5 --- /dev/null +++ b/src/Structural/Decorator/TV.php @@ -0,0 +1,22 @@ +name"; + } + + public function getPrice(): int + { + return round($this->price * self::TAX_RATE); + } +} diff --git a/src/Structural/Decorator/WinterSale.php b/src/Structural/Decorator/WinterSale.php new file mode 100644 index 0000000..d40a4dd --- /dev/null +++ b/src/Structural/Decorator/WinterSale.php @@ -0,0 +1,19 @@ +product->getName()} ONLY {$this->getPrice()} EUR"; + } + + public function getPrice(): int + { + return round($this->product->getPrice() * self::DISCOUNT_FACTOR); + } + +} diff --git a/structural/Decorator/demo.php b/src/Structural/Decorator/demo.php similarity index 77% rename from structural/Decorator/demo.php rename to src/Structural/Decorator/demo.php index 5a43c70..f3deeb3 100644 --- a/structural/Decorator/demo.php +++ b/src/Structural/Decorator/demo.php @@ -1,14 +1,14 @@ getName() . PHP_EOL); -echo ($tv->getName()) . PHP_EOL; +echo($tv->getName()) . PHP_EOL; $winterShirt = new WinterSale($shirt); $winterTv = new WinterSale($tv); diff --git a/src/Structural/DependencyInjection/Storage.php b/src/Structural/DependencyInjection/Storage.php new file mode 100644 index 0000000..7174ddd --- /dev/null +++ b/src/Structural/DependencyInjection/Storage.php @@ -0,0 +1,8 @@ +userStorage = $userStorage; } - protected function validate ($email, $password) { + protected function validate($email, $password): bool + { if (strlen($email) > 3 && strlen($password) > 3) { return true; } else { @@ -18,7 +20,8 @@ protected function validate ($email, $password) { } } - public function register (string $email, string $password) { + public function register(string $email, string $password): bool + { if ($this->validate($email, $password) && $this->userStorage->save($email, $password)) { @@ -27,4 +30,4 @@ public function register (string $email, string $password) { return false; } } -} \ No newline at end of file +} diff --git a/structural/DependencyInjection/UserStorage.php b/src/Structural/DependencyInjection/UserStorage.php similarity index 51% rename from structural/DependencyInjection/UserStorage.php rename to src/Structural/DependencyInjection/UserStorage.php index 898b9d0..aa5a923 100644 --- a/structural/DependencyInjection/UserStorage.php +++ b/src/Structural/DependencyInjection/UserStorage.php @@ -1,17 +1,19 @@ connectDb(); echo "Inserting new user record with email: {$email} and password {$password}"; return true; } -} \ No newline at end of file +} diff --git a/structural/DependencyInjection/UserTest.php b/src/Structural/DependencyInjection/UserTest.php similarity index 69% rename from structural/DependencyInjection/UserTest.php rename to src/Structural/DependencyInjection/UserTest.php index e2a5a7d..2d10a41 100644 --- a/structural/DependencyInjection/UserTest.php +++ b/src/Structural/DependencyInjection/UserTest.php @@ -1,15 +1,16 @@ getMockBuilder(UserStorage::class) ->disableOriginalConstructor() - ->setMethods(["save"]) + ->onlyMethods(["save"]) ->getMock(); $userStorage->expects($this->once())->method("save")->willReturn(true); @@ -20,10 +21,11 @@ public function testRegisterOk () { $this->assertTrue($user->register($testEmail, $testPassword)); } - public function testRegisterFail () { + public function testRegisterFail() + { $userStorage = $this->getMockBuilder(UserStorage::class) ->disableOriginalConstructor() - ->setMethods(["save"]) + ->onlyMethods(["save"]) ->getMock(); $userStorage->expects($this->once())->method("save")->willReturn(false); @@ -34,22 +36,19 @@ public function testRegisterFail () { $this->assertFalse($user->register($testEmail, $testPassword)); } - public function testRegisterValidationFail () { + public function testRegisterValidationFail() + { $userStorage = $this->getMockBuilder(UserStorage::class) ->disableOriginalConstructor() - ->setMethods(["save"]) + ->onlyMethods(["save"]) ->getMock(); $userStorage->expects($this->never())->method("save"); $user = new User($userStorage); $wrongEmail = "aa"; - $rightEmail = "aaaa@wp.pl"; $wrongPassword = "12"; - $rightPassword = "123456"; $this->assertFalse($user->register($wrongEmail, $wrongPassword)); - $this->assertFalse($user->register($wrongEmail, $rightPassword)); - $this->assertFalse($user->register($rightEmail, $wrongPassword)); } -} \ No newline at end of file +} diff --git a/structural/Facade/Image.php b/src/Structural/Facade/Image.php similarity index 63% rename from structural/Facade/Image.php rename to src/Structural/Facade/Image.php index dc15996..a9ee6d5 100644 --- a/structural/Facade/Image.php +++ b/src/Structural/Facade/Image.php @@ -1,19 +1,21 @@ imagick = new Imagick(); } - public function thumbnail (string $filePath, int $width, int $height) { + public function thumbnail(string $filePath, int $width, int $height): true + { $this->imagick->readImage($filePath); $this->imagick->setbackgroundcolor('rgb(0, 0, 0)'); $this->imagick->thumbnailImage($width, $height, true, true); @@ -24,7 +26,7 @@ public function thumbnail (string $filePath, int $width, int $height) { if (file_put_contents($thumbPath, $this->imagick)) { return true; } else { - throw new \Exception("Could not create thumbnail."); + throw new \RuntimeException("Could not create thumbnail."); } } } diff --git a/src/Structural/Facade/demo.php b/src/Structural/Facade/demo.php new file mode 100644 index 0000000..b4ccf12 --- /dev/null +++ b/src/Structural/Facade/demo.php @@ -0,0 +1,8 @@ +thumbnail(__DIR__ . "/../../../demo.jpg", 100, 100); diff --git a/structural/FluentInterface/QueryBuilder.php b/src/Structural/FluentInterface/QueryBuilder.php similarity index 92% rename from structural/FluentInterface/QueryBuilder.php rename to src/Structural/FluentInterface/QueryBuilder.php index 365c3fd..0f27752 100644 --- a/structural/FluentInterface/QueryBuilder.php +++ b/src/Structural/FluentInterface/QueryBuilder.php @@ -1,10 +1,9 @@ query; } -} \ No newline at end of file +} diff --git a/structural/FluentInterface/demo.php b/src/Structural/FluentInterface/demo.php similarity index 67% rename from structural/FluentInterface/demo.php rename to src/Structural/FluentInterface/demo.php index 600a70b..2a13f7e 100644 --- a/structural/FluentInterface/demo.php +++ b/src/Structural/FluentInterface/demo.php @@ -1,8 +1,8 @@ select(["name", "surname"]) @@ -11,4 +11,3 @@ ->orderBy("date ASC") ->limit(10) ->getQuery(); - diff --git a/src/Structural/Flyweight/Device.php b/src/Structural/Flyweight/Device.php new file mode 100644 index 0000000..88713f8 --- /dev/null +++ b/src/Structural/Flyweight/Device.php @@ -0,0 +1,21 @@ +uuid} is active" . PHP_EOL; + echo $this->type->reportType() . PHP_EOL; + echo "Calling it on ip {$this->ip}" . PHP_EOL; + } +} diff --git a/structural/Flyweight/DeviceStorage.php b/src/Structural/Flyweight/DeviceStorage.php similarity index 62% rename from structural/Flyweight/DeviceStorage.php rename to src/Structural/Flyweight/DeviceStorage.php index be096aa..6d73cbc 100644 --- a/structural/Flyweight/DeviceStorage.php +++ b/src/Structural/Flyweight/DeviceStorage.php @@ -1,24 +1,29 @@ deviceFactory = new DeviceTypeFactory(); } - public function addDevice ( + public function addDevice( string $uuid, string $location, string $resolution, string $producer, string $operatingSystem, string $ip - ) { + ): void + { $type = $this->deviceFactory->getType( $location, $resolution, @@ -29,10 +34,11 @@ public function addDevice ( $this->devices[] = new Device($uuid, $ip, $type); } - public function checkDevicesHealth () { + public function checkDevicesHealth(): void + { foreach ($this->devices as $device) { $device->ping(); } } -} \ No newline at end of file +} diff --git a/src/Structural/Flyweight/DeviceType.php b/src/Structural/Flyweight/DeviceType.php new file mode 100644 index 0000000..18db65e --- /dev/null +++ b/src/Structural/Flyweight/DeviceType.php @@ -0,0 +1,20 @@ +location} with resolution {$this->resolution} crated by {$this->producer} and running {$this->operatingSystem}"; + } +} diff --git a/structural/Flyweight/DeviceTypeFactory.php b/src/Structural/Flyweight/DeviceTypeFactory.php similarity index 59% rename from structural/Flyweight/DeviceTypeFactory.php rename to src/Structural/Flyweight/DeviceTypeFactory.php index 8d78ae0..942c051 100644 --- a/structural/Flyweight/DeviceTypeFactory.php +++ b/src/Structural/Flyweight/DeviceTypeFactory.php @@ -1,41 +1,44 @@ getKey( $location, $resolution, $producer, - $operatingSystem); + $operatingSystem + ); - if (!array_key_exists($key, $this->deviceTypes)) { +// if (!array_key_exists($key, $this->deviceTypes)) { $this->deviceTypes[$key] = new DeviceType( $location, $resolution, $producer, $operatingSystem ); - } +// } return $this->deviceTypes[$key]; } - protected function getKey ( + protected function getKey( string $location, string $resolution, string $producer, - string $operatingSystem) { - + string $operatingSystem + ): string + { return md5(implode("_", func_get_args())); } -} \ No newline at end of file +} diff --git a/structural/Flyweight/create_csv.php b/src/Structural/Flyweight/Generator.php similarity index 56% rename from structural/Flyweight/create_csv.php rename to src/Structural/Flyweight/Generator.php index a6aedb6..4693554 100644 --- a/structural/Flyweight/create_csv.php +++ b/src/Structural/Flyweight/Generator.php @@ -1,41 +1,49 @@ numItems = $numItems; $this->fileName = $fileName; } - protected function createHeader (): void { + protected function createHeader(): void + { fputcsv($this->file, self::COLUMNS); } - protected function generateRandomString (int $length): string { + protected function generateRandomString(int $length): string + { return substr(str_shuffle(str_repeat($x = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil($length / strlen($x)))), 1, $length); } - protected function getRand (array $arr): string { + protected function getRand(array $arr): string + { $key = array_rand($arr); return $arr[$key]; } - protected function getRandIp () { + protected function getRandIp(): string + { return mt_rand(0, 255) . "." . mt_rand(0, 255) . "." . mt_rand(0, 255) . "." . mt_rand(0, 255); } - protected function generateData (): void { + protected function generateData(): void + { for ($idx = 0; $idx < $this->numItems; $idx++) { fputcsv($this->file, [ $idx + 1, @@ -49,7 +57,8 @@ protected function generateData (): void { } } - public function create (): void { + public function create(): void + { $this->file = fopen($this->fileName, 'w'); $this->createHeader(); $this->generateData(); @@ -57,5 +66,3 @@ public function create (): void { } } -$csv = new CSV("demo.csv", 5000); -$csv->create(); \ No newline at end of file diff --git a/structural/Flyweight/demo.php b/src/Structural/Flyweight/demo.php similarity index 57% rename from structural/Flyweight/demo.php rename to src/Structural/Flyweight/demo.php index 766fad2..51589cd 100644 --- a/structural/Flyweight/demo.php +++ b/src/Structural/Flyweight/demo.php @@ -1,15 +1,17 @@ create(); $file = fopen('demo.csv', 'r'); $devicesDB = new DeviceStorage(); for ($i = 0; $row = fgetcsv($file); ++$i) { - // Omitting file headers if ($i) { $devicesDB->addDevice( @@ -26,10 +28,11 @@ fclose($file); $devicesDB->checkDevicesHealth(); -// 2189456 -// 4194304 RAM USED true -// 3427248 RAM USED -// 4194304 RAM USED +// 3.4 MB RAM USED +// 22.92 MB RAM USED + +// 2.21 MB RAM USED +// 10.91 MB RAM USED -echo memory_get_usage() / 1024 / 1024 . " RAM USED"; \ No newline at end of file +echo round(memory_get_usage() / 1024 / 1024, 2) . " MB RAM USED"; diff --git a/structural/Proxy/AuthFile.php b/src/Structural/Proxy/AuthFile.php similarity index 61% rename from structural/Proxy/AuthFile.php rename to src/Structural/Proxy/AuthFile.php index be176ad..46e20df 100644 --- a/structural/Proxy/AuthFile.php +++ b/src/Structural/Proxy/AuthFile.php @@ -1,38 +1,42 @@ file = $file; + public function __construct( + private readonly File $file) + { } - public function add (string $name, string $path): void { + public function add(string $name, string $path): void + { if ($this->loggedIn()) { $this->file->add($name, $path); } } - public function get (string $name): void { + public function get(string $name): void + { if ($this->loggedIn()) { $this->file->get($name); } } - public function remove (string $name): void { + public function remove(string $name): void + { if ($this->loggedIn()) { $this->file->remove($name); } } - private function loggedIn () { + private function loggedIn(): bool + { if (isset($_SESSION["username"]) && in_array($_SESSION["username"], self::ALLOWED_USERS)) { echo "User can perform action" . PHP_EOL; @@ -43,4 +47,4 @@ private function loggedIn () { return false; } } -} \ No newline at end of file +} diff --git a/src/Structural/Proxy/File.php b/src/Structural/Proxy/File.php new file mode 100644 index 0000000..e16e7c9 --- /dev/null +++ b/src/Structural/Proxy/File.php @@ -0,0 +1,12 @@ +load('.env'); - - $connectionString = "DefaultEndpointsProtocol=https;AccountName=" . getenv('AZURE_ACCOUNT_NAME') . ";AccountKey=" . getenv("AZURE_ACCOUNT_KEY") . ";EndpointSuffix=core.windows.net"; - $this->client = BlobRestProxy::createBlobService($connectionString); - $this->containerName = getenv("AZURE_CONTAINER_NAME"); - } - - public function get (string $name): File { - $blob = $this->client->getBlob($this->containerName, $name); - - return new File($name, stream_get_contents($blob->getContentStream())); - } - - public function save (string $path, string $name): void { - $this->client->createBlockBlob($this->containerName, $name, fopen($path, "r")); - } - - public function delete (string $name): void { - $this->client->deleteBlob($this->containerName, $name); - } -} \ No newline at end of file diff --git a/structural/Adapter/Client.php b/structural/Adapter/Client.php deleted file mode 100644 index d405675..0000000 --- a/structural/Adapter/Client.php +++ /dev/null @@ -1,38 +0,0 @@ -storageProvider = new LocalFileStorage(); - break; - case 'azure': - $this->storageProvider = new AzureFileStorage(); - break; - case 'aws': - $this->storageProvider = new AWSFileStorage(); - break; - default: - throw new \Exception("Unsupported storage requested $storage"); - } - } - - public function save (string $filePath, string $name) { - $this->storageProvider->save($filePath, $name); - } - - public function get (string $name) { - return $this->storageProvider->get($name); - } - - public function delete (string $name) { - return $this->storageProvider->delete($name); - } -} \ No newline at end of file diff --git a/structural/Adapter/File.php b/structural/Adapter/File.php deleted file mode 100644 index 0a5310d..0000000 --- a/structural/Adapter/File.php +++ /dev/null @@ -1,23 +0,0 @@ -name = $name; - $this->content = $content; - } - - public function getContent () { - return $this->content; - } - - public function getName () { - return $this->name; - } -} \ No newline at end of file diff --git a/structural/Adapter/FileAdapter.php b/structural/Adapter/FileAdapter.php deleted file mode 100644 index d7b9487..0000000 --- a/structural/Adapter/FileAdapter.php +++ /dev/null @@ -1,13 +0,0 @@ -content->getHtml(); - $css = $this->content->getCss(); - - return << - $css - $this->blurredRules - -CONTENT; - } -} \ No newline at end of file diff --git a/structural/Bridge/Content.php b/structural/Bridge/Content.php deleted file mode 100644 index 5254855..0000000 --- a/structural/Bridge/Content.php +++ /dev/null @@ -1,18 +0,0 @@ -filePath = $filePath; - } - - abstract public function getHtml (): string; - - abstract public function getCss (): string; - -} \ No newline at end of file diff --git a/structural/Bridge/Display.php b/structural/Bridge/Display.php deleted file mode 100644 index 55a5ba6..0000000 --- a/structural/Bridge/Display.php +++ /dev/null @@ -1,16 +0,0 @@ -content = $content; - } - - abstract public function render (): string; - -} \ No newline at end of file diff --git a/structural/Composite/Budgeted.php b/structural/Composite/Budgeted.php deleted file mode 100644 index e457b4a..0000000 --- a/structural/Composite/Budgeted.php +++ /dev/null @@ -1,7 +0,0 @@ -name = $name; - $this->salary = $salary; - } - - public function calculateBudget (): int { - return $this->salary; - } -} \ No newline at end of file diff --git a/structural/Decorator/Product.php b/structural/Decorator/Product.php deleted file mode 100644 index bb1bd3a..0000000 --- a/structural/Decorator/Product.php +++ /dev/null @@ -1,10 +0,0 @@ -product = $product; - } - - public abstract function getName (): string; - - public abstract function getPrice (): float; - -} \ No newline at end of file diff --git a/structural/Decorator/Shirt.php b/structural/Decorator/Shirt.php deleted file mode 100644 index 1273ff1..0000000 --- a/structural/Decorator/Shirt.php +++ /dev/null @@ -1,24 +0,0 @@ -price = $price; - $this->name = $name; - } - - public function getName (): string { - return "Shirt {$this->name}"; - } - - public function getPrice (): float { - return $this->price * self::TAX_RATE; - } -} \ No newline at end of file diff --git a/structural/Decorator/SummerSale.php b/structural/Decorator/SummerSale.php deleted file mode 100644 index 65573c1..0000000 --- a/structural/Decorator/SummerSale.php +++ /dev/null @@ -1,17 +0,0 @@ -product->getName()} ONLY {$this->getPrice()} EUR"; - } - - public function getPrice (): float { - return $this->product->getPrice() * self::DISCOUNT_FACTOR; - } - -} \ No newline at end of file diff --git a/structural/Decorator/TV.php b/structural/Decorator/TV.php deleted file mode 100644 index f1885e8..0000000 --- a/structural/Decorator/TV.php +++ /dev/null @@ -1,24 +0,0 @@ -price = $price; - $this->name = $name; - } - - public function getName (): string { - return "TV $this->name"; - } - - public function getPrice (): float { - return $this->price * self::TAX_RATE; - } -} \ No newline at end of file diff --git a/structural/Decorator/WinterSale.php b/structural/Decorator/WinterSale.php deleted file mode 100644 index c58e6a3..0000000 --- a/structural/Decorator/WinterSale.php +++ /dev/null @@ -1,17 +0,0 @@ -product->getName()} ONLY {$this->getPrice()} EUR"; - } - - public function getPrice (): float { - return $this->product->getPrice() * self::DISCOUNT_FACTOR; - } - -} \ No newline at end of file diff --git a/structural/DependencyInjection/Storage.php b/structural/DependencyInjection/Storage.php deleted file mode 100644 index 4d31f79..0000000 --- a/structural/DependencyInjection/Storage.php +++ /dev/null @@ -1,8 +0,0 @@ -thumbnail("demo.jpg", 100, 100); \ No newline at end of file diff --git a/structural/Flyweight/Device.php b/structural/Flyweight/Device.php deleted file mode 100644 index 3d7141e..0000000 --- a/structural/Flyweight/Device.php +++ /dev/null @@ -1,26 +0,0 @@ -uid = $uuid; - $this->ip = $ip; - $this->type = $type; - } - - public function ping () { - echo "Checking if device {$this->uid} is active" . PHP_EOL; - $this->type->reportType() . PHP_EOL; - echo "Calling it on ip {$this->ip}" . PHP_EOL; - } -} \ No newline at end of file diff --git a/structural/Flyweight/DeviceType.php b/structural/Flyweight/DeviceType.php deleted file mode 100644 index c81d3b1..0000000 --- a/structural/Flyweight/DeviceType.php +++ /dev/null @@ -1,27 +0,0 @@ -location = $location; - $this->resolution = $resolution; - $this->producer = $producer; - $this->operatingSystem = $operatingSystem; - } - - public function reportType () { - return "Working on device in {$this->location} with resolution {$this->resolution} crated by {$this->producer} and running {$this->operatingSystem}"; - } -} \ No newline at end of file diff --git a/structural/Proxy/File.php b/structural/Proxy/File.php deleted file mode 100644 index 0d857e3..0000000 --- a/structural/Proxy/File.php +++ /dev/null @@ -1,11 +0,0 @@ - Date: Thu, 30 Jan 2025 20:10:58 +0100 Subject: [PATCH 2/6] Update UserStorage.php --- src/Structural/DependencyInjection/UserStorage.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Structural/DependencyInjection/UserStorage.php b/src/Structural/DependencyInjection/UserStorage.php index aa5a923..c45c99b 100644 --- a/src/Structural/DependencyInjection/UserStorage.php +++ b/src/Structural/DependencyInjection/UserStorage.php @@ -9,7 +9,7 @@ protected function connectDb(): void echo "Making connection to DB" . PHP_EOL; } - public function save($email, $password): bool + public function save(string $email, string $password): bool { $this->connectDb(); echo "Inserting new user record with email: {$email} and password {$password}"; From 384b5d03ae04b445cbca7a2f61332cadb8aff515 Mon Sep 17 00:00:00 2001 From: Jakub Kapuscik Date: Thu, 30 Jan 2025 20:11:51 +0100 Subject: [PATCH 3/6] Update User.php --- src/Structural/DependencyInjection/User.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/Structural/DependencyInjection/User.php b/src/Structural/DependencyInjection/User.php index 9472369..71aecc9 100644 --- a/src/Structural/DependencyInjection/User.php +++ b/src/Structural/DependencyInjection/User.php @@ -4,16 +4,13 @@ class User { - protected Storage $userStorage; - - public function __construct(Storage $userStorage) + public function __construct(private Storage $userStorage) { - $this->userStorage = $userStorage; } - protected function validate($email, $password): bool + protected function validate(string $email, string $password): bool { - if (strlen($email) > 3 && strlen($password) > 3) { + if (mb_strlen($email) > 3 && mb_strlen($password) > 3) { return true; } else { return false; From 2b77455dcbcd803bad06bca4806dff08c7b64bb3 Mon Sep 17 00:00:00 2001 From: Jakub Kapuscik Date: Thu, 30 Jan 2025 20:18:31 +0100 Subject: [PATCH 4/6] Update Storage.php --- src/Structural/DependencyInjection/Storage.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Structural/DependencyInjection/Storage.php b/src/Structural/DependencyInjection/Storage.php index 7174ddd..eba5fa8 100644 --- a/src/Structural/DependencyInjection/Storage.php +++ b/src/Structural/DependencyInjection/Storage.php @@ -4,5 +4,5 @@ interface Storage { - public function save($email, $password): bool ; + public function save(string $email, string $password): bool ; } From 824df7fd86743fa6aaae0cae9ed99cfa1318409a Mon Sep 17 00:00:00 2001 From: Jakub Kapuscik Date: Thu, 30 Jan 2025 20:27:04 +0100 Subject: [PATCH 5/6] Update Department.php --- src/Structural/Composite/Department.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Structural/Composite/Department.php b/src/Structural/Composite/Department.php index 27c1e67..75c773f 100644 --- a/src/Structural/Composite/Department.php +++ b/src/Structural/Composite/Department.php @@ -7,12 +7,10 @@ final class Department implements BudgetedComposite { private SplObjectStorage $dependencies; - private string $name; - public function __construct(string $name) + public function __construct(private string $name) { $this->dependencies = new SplObjectStorage(); - $this->name = $name; } public function calculateBudget(): int From 8f1ee23241473a10afd708d2654b57057e2179d9 Mon Sep 17 00:00:00 2001 From: Jakub Kapuscik Date: Sat, 4 Oct 2025 10:03:31 +0200 Subject: [PATCH 6/6] Update dependencies in composer.json and composer.lock; upgrade PHP version to ^8.4 and PHPUnit to ^10.5, along with various package updates. Refactor Observer and Strategy patterns to enforce strict types and improve method names. Enhance Factory Method pattern with type safety and HTML escaping. Add error handling in LocalFileStorage. Apply strict types across multiple files for better type safety. --- .vscode/launch.json | 56 + composer.json | 4 +- composer.lock | 2072 ++++--- demo.csv | 5001 +++++++++++++++++ src/Behavioral/Observer/HumanResources.php | 3 +- src/Behavioral/Observer/demo.php | 3 +- src/Behavioral/Strategy/Context.php | 11 +- src/Behavioral/Strategy/FormatterFactory.php | 18 + src/Behavioral/Strategy/JSONFormatter.php | 1 + src/Behavioral/Strategy/OutputFormatter.php | 1 + src/Behavioral/Strategy/OutputType.php | 13 + src/Behavioral/Strategy/StringFormatter.php | 1 + src/Behavioral/Strategy/XMLFormatter.php | 1 + src/Behavioral/Strategy/demo.php | 1 + src/Behavioral/TemplateMethod/Movie.php | 1 + src/Behavioral/TemplateMethod/demo.php | 1 + .../AbstractFactory/DeviceFactory.php | 1 + .../AbstractFactory/DisplayFactory.php | 1 + .../AbstractFactory/IndoorDisplay.php | 1 + src/Creational/AbstractFactory/IndoorIot.php | 1 + .../AbstractFactory/IndoorProduct.php | 1 + src/Creational/AbstractFactory/IotFactory.php | 1 + .../AbstractFactory/OutdoorDisplay.php | 1 + src/Creational/AbstractFactory/OutdoorIot.php | 1 + .../AbstractFactory/OutdoorProduct.php | 1 + src/Creational/AbstractFactory/demo.php | 1 + src/Creational/Builder/Device.php | 1 + src/Creational/Builder/DeviceBuilder.php | 1 + src/Creational/Builder/Director.php | 1 + src/Creational/Builder/InteractiveMirror.php | 3 +- .../Builder/InteractiveMirrorBuilder.php | 1 + src/Creational/Builder/demo.php | 1 + src/Creational/FactoryMethod/AudioBox.php | 4 +- src/Creational/FactoryMethod/Box.php | 3 +- src/Creational/FactoryMethod/BoxFactory.php | 8 +- src/Creational/FactoryMethod/Factory.php | 1 + src/Creational/FactoryMethod/FileItem.php | 9 +- src/Creational/FactoryMethod/FileType.php | 13 + src/Creational/FactoryMethod/ImgBox.php | 4 +- src/Creational/FactoryMethod/VideoBox.php | 4 +- src/Creational/FactoryMethod/demo.php | 7 +- src/Creational/Prototype/Computer.php | 1 + src/Creational/Prototype/Device.php | 1 + src/Creational/Prototype/DeviceGroup.php | 1 + src/Creational/Prototype/demo.php | 1 + src/Creational/Singleton/ActiveUser.php | 11 +- src/Structural/Adapter/AWSFileStorage.php | 3 +- src/Structural/Adapter/Client.php | 1 + src/Structural/Adapter/File.php | 1 + src/Structural/Adapter/FileAdapter.php | 1 + src/Structural/Adapter/LocalFileStorage.php | 11 +- src/Structural/Adapter/index.php | 1 + src/Structural/Bridge/Content.php | 1 + src/Structural/Bridge/Display.php | 1 + src/Structural/Bridge/Image.php | 1 + src/Structural/Bridge/Standard.php | 1 + src/Structural/Bridge/Video.php | 1 + src/Structural/Bridge/demo.php | 1 + src/Structural/Composite/Budgeted.php | 1 + .../Composite/BudgetedComposite.php | 1 + src/Structural/Composite/Department.php | 1 + src/Structural/Composite/Employee.php | 1 + src/Structural/Composite/demo.php | 1 + src/Structural/Decorator/Product.php | 1 + src/Structural/Decorator/ProductDecorator.php | 6 +- src/Structural/Decorator/Shirt.php | 3 +- src/Structural/Decorator/SummerSale.php | 3 +- src/Structural/Decorator/TV.php | 3 +- src/Structural/Decorator/WinterSale.php | 3 +- src/Structural/Decorator/demo.php | 1 + .../DependencyInjection/Storage.php | 1 + src/Structural/DependencyInjection/User.php | 1 + .../DependencyInjection/UserStorage.php | 1 + .../DependencyInjection/UserTest.php | 1 + src/Structural/Facade/Image.php | 3 +- src/Structural/Facade/demo.php | 1 + .../FluentInterface/QueryBuilder.php | 13 +- src/Structural/FluentInterface/demo.php | 1 + src/Structural/Flyweight/Device.php | 1 + src/Structural/Flyweight/DeviceStorage.php | 1 + src/Structural/Flyweight/DeviceType.php | 1 + .../Flyweight/DeviceTypeFactory.php | 5 +- src/Structural/Flyweight/Generator.php | 3 +- src/Structural/Flyweight/demo.php | 1 + src/Structural/Proxy/AuthFile.php | 1 + src/Structural/Proxy/File.php | 1 + src/Structural/Proxy/FileProvider.php | 1 + src/Structural/Proxy/User.php | 3 +- src/Structural/Proxy/demo.php | 1 + 89 files changed, 6626 insertions(+), 738 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 demo.csv create mode 100644 src/Behavioral/Strategy/FormatterFactory.php create mode 100644 src/Behavioral/Strategy/OutputType.php create mode 100644 src/Creational/FactoryMethod/FileType.php diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..e10986f --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,56 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + + { + "name": "Launch current script in console", + "type": "php", + "request": "launch", + "program": "${file}", + "cwd": "${fileDirname}", + "port": 9003 + }, + { + "name": "Launch built-in server and Debug", + "type": "php", + "request": "launch", + "noDebug": false, + "runtimeArgs": [ + "-S", + "localhost:8000", + "-t", + "." + ], + "cwd": "${workspaceRoot}/.", + "serverReadyAction": { + "action": "openExternally" + } + }, + { + "name": "Launch built-in server and Profile", + "type": "php", + "request": "launch", + "noDebug": true, + "runtimeArgs": [ + "-S", + "localhost:8000", + "-t", + "." + ], + "cwd": "${workspaceRoot}/.", + "serverReadyAction": { + "action": "openExternally" + }, + "profile": true, + "openProfile": true + }, + { + "name": "Listen for Xdebug", + "type": "php", + "request": "launch" + } + ] +} \ No newline at end of file diff --git a/composer.json b/composer.json index 2e3309f..5ddff96 100644 --- a/composer.json +++ b/composer.json @@ -7,8 +7,8 @@ } ], "require": { - "php": "^8.2", - "phpunit/phpunit": "^10.2", + "php": "^8.4", + "phpunit/phpunit": "^10.5", "symfony/dotenv": "^6.3", "aws/aws-sdk-php": "^3.275" }, diff --git a/composer.lock b/composer.lock index f59c736..712eedb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d2c603b00bf783505fa6bbfd57ac9d82", + "content-hash": "b01c15f68e1d76401010dc1b9d9b5a47", "packages": [ { "name": "aws/aws-crt-php", - "version": "v1.2.1", + "version": "v1.2.7", "source": { "type": "git", "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "1926277fc71d253dfa820271ac5987bdb193ccf5" + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/1926277fc71d253dfa820271ac5987bdb193ccf5", - "reference": "1926277fc71d253dfa820271ac5987bdb193ccf5", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e", + "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e", "shasum": "" }, "require": { @@ -56,54 +56,53 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.1" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.7" }, - "time": "2023-03-24T20:22:19+00:00" + "time": "2024-10-18T22:15:13+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.275.5", + "version": "3.356.30", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "d46961b82e857f77059c0c78160719ecb26f6cc6" + "reference": "8ee5c1f3849489452ee4eec01a9cdd338defc246" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d46961b82e857f77059c0c78160719ecb26f6cc6", - "reference": "d46961b82e857f77059c0c78160719ecb26f6cc6", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8ee5c1f3849489452ee4eec01a9cdd338defc246", + "reference": "8ee5c1f3849489452ee4eec01a9cdd338defc246", "shasum": "" }, "require": { - "aws/aws-crt-php": "^1.0.4", + "aws/aws-crt-php": "^1.2.3", "ext-json": "*", "ext-pcre": "*", "ext-simplexml": "*", - "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", - "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", - "mtdowling/jmespath.php": "^2.6", - "php": ">=5.5", - "psr/http-message": "^1.0" + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/promises": "^2.0", + "guzzlehttp/psr7": "^2.4.5", + "mtdowling/jmespath.php": "^2.8.0", + "php": ">=8.1", + "psr/http-message": "^1.0 || ^2.0" }, "require-dev": { "andrewsville/php-token-reflection": "^1.4", "aws/aws-php-sns-message-validator": "~1.0", "behat/behat": "~3.0", - "composer/composer": "^1.10.22", + "composer/composer": "^2.7.8", "dms/phpunit-arraysubset-asserts": "^0.4.0", "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", "ext-pcntl": "*", "ext-sockets": "*", - "nette/neon": "^2.3", - "paragonie/random_compat": ">= 2", - "phpunit/phpunit": "^4.8.35 || ^5.6.3 || ^9.5", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3 || ^4.0", - "yoast/phpunit-polyfills": "^1.0" + "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", + "psr/cache": "^2.0 || ^3.0", + "psr/simple-cache": "^2.0 || ^3.0", + "sebastian/comparator": "^1.2.3 || ^4.0 || ^5.0", + "symfony/filesystem": "^v6.4.0 || ^v7.1.0", + "yoast/phpunit-polyfills": "^2.0" }, "suggest": { "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", @@ -124,7 +123,10 @@ ], "psr-4": { "Aws\\": "src/" - } + }, + "exclude-from-classmap": [ + "src/data/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -149,30 +151,30 @@ "sdk" ], "support": { - "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", + "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.275.5" + "source": "https://github.com/aws/aws-sdk-php/tree/3.356.30" }, - "time": "2023-07-07T18:20:11+00:00" + "time": "2025-10-01T18:19:37+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.7.0", + "version": "7.10.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5" + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5", - "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0", - "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -181,11 +183,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -263,7 +265,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.7.0" + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" }, "funding": [ { @@ -279,33 +281,37 @@ "type": "tidelift" } ], - "time": "2023-05-21T14:04:53+00:00" + "time": "2025-08-23T22:36:01+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.5.3", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e" + "reference": "481557b130ef3790cf82b713667b43030dc9c957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e", - "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", "shasum": "" }, "require": { - "php": ">=5.5" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "GuzzleHttp\\Promise\\": "src/" } @@ -342,7 +348,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.3" + "source": "https://github.com/guzzle/promises/tree/2.3.0" }, "funding": [ { @@ -358,20 +364,20 @@ "type": "tidelift" } ], - "time": "2023-05-21T12:31:43+00:00" + "time": "2025-08-22T14:34:08+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.5.0", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6" + "reference": "21dc724a0583619cd1652f673303492272778051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", "shasum": "" }, "require": { @@ -385,9 +391,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -458,7 +464,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.5.0" + "source": "https://github.com/guzzle/psr7/tree/2.8.0" }, "funding": [ { @@ -474,29 +480,29 @@ "type": "tidelift" } ], - "time": "2023-04-17T16:11:26+00:00" + "time": "2025-08-23T21:21:41+00:00" }, { "name": "mtdowling/jmespath.php", - "version": "2.6.1", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb" + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a2a865e05d5f420b50cc2f85bb78d565db12a6bc", + "reference": "a2a865e05d5f420b50cc2f85bb78d565db12a6bc", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0 || ^8.0", + "php": "^7.2.5 || ^8.0", "symfony/polyfill-mbstring": "^1.17" }, "require-dev": { - "composer/xdebug-handler": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^7.5.15" + "composer/xdebug-handler": "^3.0.3", + "phpunit/phpunit": "^8.5.33" }, "bin": [ "bin/jp.php" @@ -504,7 +510,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -520,6 +526,11 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", @@ -533,22 +544,22 @@ ], "support": { "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.6.1" + "source": "https://github.com/jmespath/jmespath.php/tree/2.8.0" }, - "time": "2021-06-14T00:11:39+00:00" + "time": "2024-09-04T18:46:31+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.13.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", "shasum": "" }, "require": { @@ -556,11 +567,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -586,7 +598,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" }, "funding": [ { @@ -594,29 +606,31 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2025-08-01T08:46:24+00:00" }, { "name": "nikic/php-parser", - "version": "v4.16.0", + "version": "v5.6.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17" + "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", + "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -624,7 +638,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.x-dev" } }, "autoload": { @@ -648,26 +662,27 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1" }, - "time": "2023-06-25T14:52:30+00:00" + "time": "2025-08-13T20:13:15+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -708,9 +723,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -765,32 +786,32 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.2", + "version": "10.1.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e" + "reference": "7e308268858ed6baedc8704a304727d20bc07c77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/db1497ec8dd382e82c962f7abbe0320e4882ee4e", - "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", + "reference": "7e308268858ed6baedc8704a304727d20bc07c77", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-text-template": "^3.0.1", + "sebastian/code-unit-reverse-lookup": "^3.0.0", + "sebastian/complexity": "^3.2.0", + "sebastian/environment": "^6.1.0", + "sebastian/lines-of-code": "^2.0.2", + "sebastian/version": "^4.0.1", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { "phpunit/phpunit": "^10.1" @@ -802,7 +823,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "10.1.x-dev" } }, "autoload": { @@ -831,7 +852,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.2" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" }, "funding": [ { @@ -839,20 +860,20 @@ "type": "github" } ], - "time": "2023-05-22T09:04:27+00:00" + "time": "2024-08-22T04:31:57+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.0.2", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "5647d65443818959172645e7ed999217360654b6" + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/5647d65443818959172645e7ed999217360654b6", - "reference": "5647d65443818959172645e7ed999217360654b6", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", "shasum": "" }, "require": { @@ -892,7 +913,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.2" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" }, "funding": [ { @@ -900,7 +921,7 @@ "type": "github" } ], - "time": "2023-05-07T09:13:23+00:00" + "time": "2023-08-31T06:24:48+00:00" }, { "name": "phpunit/php-invoker", @@ -967,16 +988,16 @@ }, { "name": "phpunit/php-text-template", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d" + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/9f3d3709577a527025f55bcf0f7ab8052c8bb37d", - "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", "shasum": "" }, "require": { @@ -1014,7 +1035,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" }, "funding": [ { @@ -1022,7 +1044,7 @@ "type": "github" } ], - "time": "2023-02-03T06:56:46+00:00" + "time": "2023-08-31T14:07:24+00:00" }, { "name": "phpunit/php-timer", @@ -1085,16 +1107,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.2.3", + "version": "10.5.58", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e" + "reference": "e24fb46da450d8e6a5788670513c1af1424f16ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35c8cac1734ede2ae354a6644f7088356ff5b08e", - "reference": "35c8cac1734ede2ae354a6644f7088356ff5b08e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e24fb46da450d8e6a5788670513c1af1424f16ca", + "reference": "e24fb46da450d8e6a5788670513c1af1424f16ca", "shasum": "" }, "require": { @@ -1104,26 +1126,26 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.0", - "sebastian/global-state": "^6.0", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "phpunit/php-code-coverage": "^10.1.16", + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-invoker": "^4.0.0", + "phpunit/php-text-template": "^3.0.1", + "phpunit/php-timer": "^6.0.0", + "sebastian/cli-parser": "^2.0.1", + "sebastian/code-unit": "^2.0.0", + "sebastian/comparator": "^5.0.4", + "sebastian/diff": "^5.1.1", + "sebastian/environment": "^6.1.0", + "sebastian/exporter": "^5.1.4", + "sebastian/global-state": "^6.0.2", + "sebastian/object-enumerator": "^5.0.0", + "sebastian/recursion-context": "^5.0.1", + "sebastian/type": "^4.0.0", + "sebastian/version": "^4.0.1" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -1134,7 +1156,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.2-dev" + "dev-main": "10.5-dev" } }, "autoload": { @@ -1166,7 +1188,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.3" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.58" }, "funding": [ { @@ -1177,25 +1199,33 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2023-06-30T06:17:38+00:00" + "time": "2025-09-28T12:04:46+00:00" }, { "name": "psr/http-client", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/php-fig/http-client.git", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31" + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { @@ -1232,26 +1262,26 @@ "psr-18" ], "support": { - "source": "https://github.com/php-fig/http-client/tree/1.0.2" + "source": "https://github.com/php-fig/http-client" }, - "time": "2023-04-10T20:12:12+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -1275,7 +1305,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -1287,22 +1317,22 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", - "version": "1.1", + "version": "2.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { @@ -1311,7 +1341,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1326,7 +1356,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -1340,9 +1370,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/1.1" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2023-04-04T09:50:52+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "ralouphie/getallheaders", @@ -1390,16 +1420,16 @@ }, { "name": "sebastian/cli-parser", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", "shasum": "" }, "require": { @@ -1434,7 +1464,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" }, "funding": [ { @@ -1442,7 +1473,7 @@ "type": "github" } ], - "time": "2023-02-03T06:58:15+00:00" + "time": "2024-03-02T07:12:49+00:00" }, { "name": "sebastian/code-unit", @@ -1557,16 +1588,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.0", + "version": "5.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c" + "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c", - "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e8e53097718d2b53cfb2aa859b06a41abf58c62e", + "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e", "shasum": "" }, "require": { @@ -1577,7 +1608,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -1621,32 +1652,45 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.4" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" } ], - "time": "2023-02-03T07:07:16+00:00" + "time": "2025-09-07T05:25:07+00:00" }, { "name": "sebastian/complexity", - "version": "3.0.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6" + "reference": "68ff824baeae169ec9f2137158ee529584553799" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/e67d240970c9dc7ea7b2123a6d520e334dd61dc6", - "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", + "reference": "68ff824baeae169ec9f2137158ee529584553799", "shasum": "" }, "require": { - "nikic/php-parser": "^4.10", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=8.1" }, "require-dev": { @@ -1655,7 +1699,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.2-dev" } }, "autoload": { @@ -1678,7 +1722,8 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" }, "funding": [ { @@ -1686,20 +1731,20 @@ "type": "github" } ], - "time": "2023-02-03T06:59:47+00:00" + "time": "2023-12-21T08:37:17+00:00" }, { "name": "sebastian/diff", - "version": "5.0.3", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", - "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", "shasum": "" }, "require": { @@ -1707,12 +1752,12 @@ }, "require-dev": { "phpunit/phpunit": "^10.0", - "symfony/process": "^4.2 || ^5" + "symfony/process": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -1745,7 +1790,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" }, "funding": [ { @@ -1753,20 +1798,20 @@ "type": "github" } ], - "time": "2023-05-01T07:48:21+00:00" + "time": "2024-03-02T07:15:17+00:00" }, { "name": "sebastian/environment", - "version": "6.0.1", + "version": "6.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", "shasum": "" }, "require": { @@ -1781,7 +1826,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -1809,7 +1854,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" }, "funding": [ { @@ -1817,20 +1862,20 @@ "type": "github" } ], - "time": "2023-04-11T05:39:26+00:00" + "time": "2024-03-23T08:47:14+00:00" }, { "name": "sebastian/exporter", - "version": "5.0.0", + "version": "5.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0" + "reference": "0735b90f4da94969541dac1da743446e276defa6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", - "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0735b90f4da94969541dac1da743446e276defa6", + "reference": "0735b90f4da94969541dac1da743446e276defa6", "shasum": "" }, "require": { @@ -1839,12 +1884,12 @@ "sebastian/recursion-context": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -1886,28 +1931,41 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.4" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" } ], - "time": "2023-02-03T07:06:49+00:00" + "time": "2025-09-24T06:09:11+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.0", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "aab257c712de87b90194febd52e4d184551c2d44" + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44", - "reference": "aab257c712de87b90194febd52e4d184551c2d44", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", "shasum": "" }, "require": { @@ -1941,13 +1999,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" }, "funding": [ { @@ -1955,24 +2014,24 @@ "type": "github" } ], - "time": "2023-02-03T07:07:38+00:00" + "time": "2024-03-02T07:19:19+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.0", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130" + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/17c4d940ecafb3d15d2cf916f4108f664e28b130", - "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.10", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=8.1" }, "require-dev": { @@ -2004,7 +2063,8 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" }, "funding": [ { @@ -2012,7 +2072,7 @@ "type": "github" } ], - "time": "2023-02-03T07:08:02+00:00" + "time": "2023-12-21T08:38:20+00:00" }, { "name": "sebastian/object-enumerator", @@ -2128,23 +2188,23 @@ }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a", + "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -2179,15 +2239,28 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2025-08-10T07:50:56+00:00" }, { "name": "sebastian/type", @@ -2300,16 +2373,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.3.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -2317,12 +2390,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -2347,7 +2420,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -2363,20 +2436,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/dotenv", - "version": "v6.3.0", + "version": "v6.4.24", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "ceadb434fe2a6763a03d2d110441745834f3dd1e" + "reference": "234b6c602f12b00693f4b0d1054386fb30dfc8ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/ceadb434fe2a6763a03d2d110441745834f3dd1e", - "reference": "ceadb434fe2a6763a03d2d110441745834f3dd1e", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/234b6c602f12b00693f4b0d1054386fb30dfc8ff", + "reference": "234b6c602f12b00693f4b0d1054386fb30dfc8ff", "shasum": "" }, "require": { @@ -2387,8 +2460,8 @@ "symfony/process": "<5.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -2421,7 +2494,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.3.0" + "source": "https://github.com/symfony/dotenv/tree/v6.4.24" }, "funding": [ { @@ -2432,29 +2505,34 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-04-21T14:41:17+00:00" + "time": "2025-07-10T08:14:14+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { - "php": ">=7.1" + "ext-iconv": "*", + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -2464,12 +2542,9 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -2504,7 +2579,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" }, "funding": [ { @@ -2515,25 +2590,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -2562,7 +2641,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -2570,34 +2649,106 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], "packages-dev": [ + { + "name": "clue/ndjson-react", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/clue/reactphp-ndjson.git", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "react/stream": "^1.2" + }, + "require-dev": { + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", + "react/event-loop": "^1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Clue\\React\\NDJson\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering" + } + ], + "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.", + "homepage": "https://github.com/clue/reactphp-ndjson", + "keywords": [ + "NDJSON", + "json", + "jsonlines", + "newline", + "reactphp", + "streaming" + ], + "support": { + "issues": "https://github.com/clue/reactphp-ndjson/issues", + "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0" + }, + "funding": [ + { + "url": "https://clue.engineering/support", + "type": "custom" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2022-12-23T10:58:28+00:00" + }, { "name": "composer/pcre", - "version": "3.1.0", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, + "conflict": { + "phpstan/phpstan": "<1.11.10" + }, "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, "branch-alias": { "dev-main": "3.x-dev" } @@ -2627,7 +2778,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -2643,28 +2794,28 @@ "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "composer/semver", - "version": "3.3.2", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -2706,9 +2857,9 @@ "versioning" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" + "source": "https://github.com/composer/semver/tree/3.4.4" }, "funding": [ { @@ -2718,26 +2869,22 @@ { "url": "https://github.com/composer", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2022-04-01T19:23:25+00:00" + "time": "2025-08-20T19:15:30+00:00" }, { "name": "composer/xdebug-handler", - "version": "3.0.3", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { @@ -2748,7 +2895,7 @@ "require-dev": { "phpstan/phpstan": "^1.0", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, "type": "library", "autoload": { @@ -2772,9 +2919,9 @@ "performance" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, "funding": [ { @@ -2790,43 +2937,32 @@ "type": "tidelift" } ], - "time": "2022-02-25T21:32:43+00:00" + "time": "2024-05-06T16:37:16+00:00" }, { - "name": "doctrine/annotations", - "version": "2.0.1", + "name": "evenement/evenement", + "version": "v3.0.2", "source": { "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" + "url": "https://github.com/igorw/evenement.git", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc", "shasum": "" }, "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" + "php": ">=7.0" }, "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6", - "vimeo/psalm": "^4.10" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + "phpunit/phpunit": "^9 || ^6" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + "Evenement\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2835,67 +2971,53 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" } ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "description": "Événement is a very simple event dispatching library for PHP", "keywords": [ - "annotations", - "docblock", - "parser" + "event-dispatcher", + "event-emitter" ], "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.1" + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/v3.0.2" }, - "time": "2023-02-02T22:02:53+00:00" + "time": "2023-08-08T05:53:35+00:00" }, { - "name": "doctrine/lexer", - "version": "3.0.0", + "name": "fidry/cpu-core-counter", + "version": "1.3.0", "source": { "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "84a527db05647743d50373e0ec53a152f2cde568" + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", - "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^9.5", - "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.0" + "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", + "webmozarts/strict-phpunit": "^7.5" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "src" + "Fidry\\CpuCoreCounter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2904,96 +3026,81 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" } ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "description": "Tiny utility to get the number of CPU cores.", "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" + "CPU", + "core" ], "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.0" + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" }, "funding": [ { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" + "url": "https://github.com/theofidry", + "type": "github" } ], - "time": "2022-12-15T16:57:16+00:00" + "time": "2025-08-14T07:29:31+00:00" }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.21.1", + "version": "v3.88.2", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "229b55b3eae4729a8e2a321441ba40fcb3720b86" + "reference": "a8d15584bafb0f0d9d938827840060fd4a3ebc99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/229b55b3eae4729a8e2a321441ba40fcb3720b86", - "reference": "229b55b3eae4729a8e2a321441ba40fcb3720b86", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a8d15584bafb0f0d9d938827840060fd4a3ebc99", + "reference": "a8d15584bafb0f0d9d938827840060fd4a3ebc99", "shasum": "" }, "require": { - "composer/semver": "^3.3", - "composer/xdebug-handler": "^3.0.3", - "doctrine/annotations": "^2", - "doctrine/lexer": "^2 || ^3", + "clue/ndjson-react": "^1.3", + "composer/semver": "^3.4", + "composer/xdebug-handler": "^3.0.5", + "ext-filter": "*", + "ext-hash": "*", "ext-json": "*", "ext-tokenizer": "*", - "php": "^8.0.1", - "sebastian/diff": "^4.0 || ^5.0", - "symfony/console": "^5.4 || ^6.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", - "symfony/filesystem": "^5.4 || ^6.0", - "symfony/finder": "^5.4 || ^6.0", - "symfony/options-resolver": "^5.4 || ^6.0", - "symfony/polyfill-mbstring": "^1.27", - "symfony/polyfill-php80": "^1.27", - "symfony/polyfill-php81": "^1.27", - "symfony/process": "^5.4 || ^6.0", - "symfony/stopwatch": "^5.4 || ^6.0" + "fidry/cpu-core-counter": "^1.3", + "php": "^7.4 || ^8.0", + "react/child-process": "^0.6.6", + "react/event-loop": "^1.5", + "react/promise": "^3.3", + "react/socket": "^1.16", + "react/stream": "^1.4", + "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0", + "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0", + "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0", + "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0", + "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0", + "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0", + "symfony/polyfill-mbstring": "^1.33", + "symfony/polyfill-php80": "^1.33", + "symfony/polyfill-php81": "^1.33", + "symfony/polyfill-php84": "^1.33", + "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2", + "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0" }, "require-dev": { - "justinrainbow/json-schema": "^5.2", - "keradus/cli-executor": "^2.0", - "mikey179/vfsstream": "^1.6.11", - "php-coveralls/php-coveralls": "^2.5.3", - "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", - "phpspec/prophecy": "^1.16", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.6", - "phpunitgoodpractices/traits": "^1.9.2", - "symfony/phpunit-bridge": "^6.2.3", - "symfony/yaml": "^5.4 || ^6.0" + "facile-it/paraunit": "^1.3.1 || ^2.7", + "infection/infection": "^0.31.0", + "justinrainbow/json-schema": "^6.5", + "keradus/cli-executor": "^2.2", + "mikey179/vfsstream": "^1.6.12", + "php-coveralls/php-coveralls": "^2.8", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", + "phpunit/phpunit": "^9.6.25 || ^10.5.53 || ^11.5.34", + "symfony/var-dumper": "^5.4.48 || ^6.4.24 || ^7.3.2", + "symfony/yaml": "^5.4.45 || ^6.4.24 || ^7.3.2" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -3006,7 +3113,10 @@ "autoload": { "psr-4": { "PhpCsFixer\\": "src/" - } + }, + "exclude-from-classmap": [ + "src/Fixer/Internal/*" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3031,7 +3141,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.21.1" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.88.2" }, "funding": [ { @@ -3039,56 +3149,7 @@ "type": "github" } ], - "time": "2023-07-05T21:50:25+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" + "time": "2025-09-27T00:24:15+00:00" }, { "name": "psr/container", @@ -3195,16 +3256,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { @@ -3239,58 +3300,36 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { - "name": "symfony/console", - "version": "v6.3.0", + "name": "react/cache", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7" + "url": "https://github.com/reactphp/cache.git", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", + "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "php": ">=5.3.0", + "react/promise": "^3.0 || ^2.0 || ^1.1" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "React\\Cache\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3298,61 +3337,617 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", + "description": "Async, Promise-based cache interface for ReactPHP", "keywords": [ - "cli", - "command-line", - "console", - "terminal" + "cache", + "caching", + "promise", + "reactphp" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.0" + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.2.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2022-11-30T15:59:55+00:00" + }, + { + "name": "react/child-process", + "version": "v0.6.6", + "source": { + "type": "git", + "url": "https://github.com/reactphp/child-process.git", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/event-loop": "^1.2", + "react/stream": "^1.4" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/socket": "^1.16", + "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\ChildProcess\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Event-driven library for executing child processes with ReactPHP.", + "keywords": [ + "event-driven", + "process", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/child-process/issues", + "source": "https://github.com/reactphp/child-process/tree/v0.6.6" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-01-01T16:37:48+00:00" + }, + { + "name": "react/dns", + "version": "v1.13.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/dns.git", + "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", + "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "react/cache": "^1.0 || ^0.6 || ^0.5", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.7 || ^1.2.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3 || ^2", + "react/promise-timer": "^1.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Dns\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async DNS resolver for ReactPHP", + "keywords": [ + "async", + "dns", + "dns-resolver", + "reactphp" + ], + "support": { + "issues": "https://github.com/reactphp/dns/issues", + "source": "https://github.com/reactphp/dns/tree/v1.13.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-06-13T14:18:03+00:00" + }, + { + "name": "react/event-loop", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/event-loop.git", + "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", + "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" + }, + "suggest": { + "ext-pcntl": "For signal handling support when using the StreamSelectLoop" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\EventLoop\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", + "keywords": [ + "asynchronous", + "event-loop" + ], + "support": { + "issues": "https://github.com/reactphp/event-loop/issues", + "source": "https://github.com/reactphp/event-loop/tree/v1.5.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2023-11-13T13:48:05+00:00" + }, + { + "name": "react/promise", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a", + "reference": "23444f53a813a3296c1368bb104793ce8d88f04a", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "phpstan/phpstan": "1.12.28 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "React\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-08-19T18:57:03+00:00" + }, + { + "name": "react/socket", + "version": "v1.16.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/socket.git", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/dns": "^1.13", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.6 || ^1.2.1", + "react/stream": "^1.4" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3.3 || ^2", + "react/promise-stream": "^1.4", + "react/promise-timer": "^1.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Socket\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "keywords": [ + "Connection", + "Socket", + "async", + "reactphp", + "stream" + ], + "support": { + "issues": "https://github.com/reactphp/socket/issues", + "source": "https://github.com/reactphp/socket/tree/v1.16.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-07-26T10:38:09+00:00" + }, + { + "name": "react/stream", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/stream.git", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.8", + "react/event-loop": "^1.2" + }, + "require-dev": { + "clue/stream-filter": "~1.2", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "keywords": [ + "event-driven", + "io", + "non-blocking", + "pipe", + "reactphp", + "readable", + "stream", + "writable" + ], + "support": { + "issues": "https://github.com/reactphp/stream/issues", + "source": "https://github.com/reactphp/stream/tree/v1.4.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-06-11T12:45:25+00:00" + }, + { + "name": "symfony/console", + "version": "v7.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", + "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.2" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-05-29T12:49:39+00:00" + "time": "2025-09-22T15:31:00+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.3.0", + "version": "v7.3.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa" + "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", - "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191", + "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -3361,13 +3956,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0" + "symfony/stopwatch": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3395,7 +3990,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3" }, "funding": [ { @@ -3406,25 +4001,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-04-21T14:41:17+00:00" + "time": "2025-08-13T11:49:31+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.3.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { @@ -3433,12 +4032,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -3471,7 +4070,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -3487,27 +4086,30 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/filesystem", - "version": "v6.3.1", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae" + "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", - "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd", + "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, + "require-dev": { + "symfony/process": "^6.4|^7.0" + }, "type": "library", "autoload": { "psr-4": { @@ -3534,7 +4136,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.3.1" + "source": "https://github.com/symfony/filesystem/tree/v7.3.2" }, "funding": [ { @@ -3545,32 +4147,36 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-06-01T08:30:39+00:00" + "time": "2025-07-07T08:17:47+00:00" }, { "name": "symfony/finder", - "version": "v6.3.0", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2" + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2", - "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2", + "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe", + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.0" + "symfony/filesystem": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3598,7 +4204,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.0" + "source": "https://github.com/symfony/finder/tree/v7.3.2" }, "funding": [ { @@ -3609,29 +4215,33 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-04-02T01:25:41+00:00" + "time": "2025-07-15T13:41:35+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.3.0", + "version": "v7.3.3", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd" + "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d", + "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -3665,7 +4275,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.3.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.3.3" }, "funding": [ { @@ -3676,29 +4286,33 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-05-12T14:21:09+00:00" + "time": "2025-08-05T10:16:07+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.27.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -3708,12 +4322,9 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3747,7 +4358,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" }, "funding": [ { @@ -3758,41 +4369,42 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3828,7 +4440,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" }, "funding": [ { @@ -3839,41 +4451,42 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2025-06-27T09:58:17+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3912,7 +4525,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" }, "funding": [ { @@ -3923,38 +4536,39 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.27.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3995,7 +4609,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" }, "funding": [ { @@ -4006,38 +4620,39 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.27.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4074,7 +4689,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" }, "funding": [ { @@ -4085,29 +4700,113 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php84", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-24T13:30:11+00:00" }, { "name": "symfony/process", - "version": "v6.3.0", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628" + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628", - "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628", + "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -4135,7 +4834,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.3.0" + "source": "https://github.com/symfony/process/tree/v7.3.4" }, "funding": [ { @@ -4146,42 +4845,47 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-05-19T08:06:44+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.3.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4", - "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -4217,7 +4921,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -4233,24 +4937,24 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/stopwatch", - "version": "v6.3.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2" + "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", - "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", + "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/service-contracts": "^2.5|^3" }, "type": "library", @@ -4279,7 +4983,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.3.0" + "source": "https://github.com/symfony/stopwatch/tree/v7.3.0" }, "funding": [ { @@ -4295,24 +4999,24 @@ "type": "tidelift" } ], - "time": "2023-02-16T10:14:28+00:00" + "time": "2025-02-24T10:49:57+00:00" }, { "name": "symfony/string", - "version": "v6.3.0", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f" + "reference": "f96476035142921000338bad71e5247fbc138872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f", + "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", + "reference": "f96476035142921000338bad71e5247fbc138872", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -4322,11 +5026,11 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/intl": "^6.2", + "symfony/emoji": "^7.1", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0" + "symfony/var-exporter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4365,7 +5069,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.0" + "source": "https://github.com/symfony/string/tree/v7.3.4" }, "funding": [ { @@ -4376,22 +5080,26 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-03-21T21:06:29+00:00" + "time": "2025-09-11T14:36:48+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^8.2" + "php": "^8.4" }, - "platform-dev": [], - "plugin-api-version": "2.1.0" + "platform-dev": {}, + "plugin-api-version": "2.6.0" } diff --git a/demo.csv b/demo.csv new file mode 100644 index 0000000..ddd7609 --- /dev/null +++ b/demo.csv @@ -0,0 +1,5001 @@ +id,uuid,location,resolution,producer,operating_system,ip +1,ODuwn5XQV,Berlin,"Full HD",LG,Linux,143.117.112.59 +2,7pZfBN6O,Paris,"Full HD",Samsung,Linux,35.182.15.53 +3,mOfiY,Warsaw,"Full HD",LG,Linux,192.218.242.158 +4,0XosKpF,Berlin,4K,Philips,Android,110.132.35.51 +5,iIcUkwad,Berlin,4K,LG,Ubuntu,161.234.182.112 +6,VmB8daET,Paris,4K,Philips,Ubuntu,77.98.169.125 +7,JnSYiI,Paris,4K,Samsung,Android,216.32.81.162 +8,nvcoSl7OYK,Warsaw,4K,Sencor,Android,55.108.243.241 +9,cT8U6O,Berlin,4K,Samsung,Ubuntu,41.30.158.192 +10,zxjVEpR7,Warsaw,"Full HD",LG,Android,66.237.158.188 +11,E61cVz0jD,Warsaw,"Full HD",Philips,Android,208.216.233.208 +12,3estFp,Paris,"Full HD",Sencor,Linux,164.67.14.229 +13,25w6Ckl,Amsterdam,4K,Sencor,Linux,38.163.148.234 +14,lBXxSq9PMv,Paris,4K,Samsung,Ubuntu,201.207.213.217 +15,vNLUHux,Berlin,"Full HD",LG,Android,223.109.54.138 +16,uOhwXbId,Amsterdam,"Full HD",LG,Ubuntu,205.218.5.221 +17,ojy4gh2Dcv,Warsaw,"Full HD",Sencor,Linux,140.85.146.208 +18,GYDdgLc,Berlin,4K,Samsung,Ubuntu,35.17.138.1 +19,3bkw5aNK,Paris,4K,Philips,Ubuntu,72.158.104.119 +20,qy0uQU,Paris,"Full HD",Samsung,Android,55.11.92.206 +21,f5mkgTbN,Berlin,4K,LG,Ubuntu,163.233.182.244 +22,Wh57wl,Berlin,4K,Sencor,Android,202.38.175.238 +23,Rd9LQr,Warsaw,4K,Philips,Ubuntu,164.97.203.237 +24,wy4Z52,Berlin,"Full HD",Sencor,Ubuntu,201.9.174.96 +25,xeIMzNpWZ,Berlin,4K,Sencor,Linux,171.154.140.48 +26,NDRagqUx,Amsterdam,"Full HD",Philips,Android,177.31.104.170 +27,kRXtauO,Amsterdam,"Full HD",Philips,Linux,157.229.150.211 +28,UR2LT,Amsterdam,"Full HD",Philips,Linux,39.16.146.217 +29,aPyhspQe,Amsterdam,"Full HD",Philips,Linux,246.198.147.173 +30,nd7g1pP,Paris,"Full HD",Philips,Linux,17.150.242.214 +31,aBn3pGVM,Warsaw,"Full HD",LG,Android,96.24.240.240 +32,ptM085iY,Warsaw,"Full HD",Sencor,Ubuntu,119.123.32.192 +33,acl91wV6vY,Warsaw,4K,Samsung,Linux,93.69.152.196 +34,shr2nTI1d,Paris,4K,Sencor,Android,198.228.41.127 +35,8qZM1lXPY,Paris,4K,Samsung,Ubuntu,177.181.42.138 +36,lwvi8Lnt,Amsterdam,4K,Samsung,Ubuntu,6.181.200.81 +37,6TgxtnYumW,Paris,4K,Samsung,Ubuntu,232.141.212.203 +38,qcpU5C,Paris,4K,Samsung,Linux,183.146.64.222 +39,QtgiW,Paris,4K,Sencor,Linux,193.127.39.44 +40,0dYzkwitq,Warsaw,4K,Philips,Ubuntu,43.15.103.33 +41,Vbw41kH,Amsterdam,4K,Sencor,Linux,134.73.55.154 +42,2DCbZwln1,Warsaw,4K,LG,Linux,146.100.116.183 +43,paJTYRzkn,Paris,"Full HD",Samsung,Ubuntu,178.76.137.209 +44,BmwhK61cC,Warsaw,4K,LG,Linux,90.205.98.212 +45,pgVUjOe,Berlin,4K,Samsung,Linux,120.61.157.81 +46,gNsqi4,Warsaw,4K,Philips,Android,159.49.19.130 +47,TGZtaY,Warsaw,4K,LG,Linux,14.178.71.177 +48,mi5gseq,Warsaw,"Full HD",LG,Linux,150.161.247.119 +49,A6nKFbz3wZ,Amsterdam,4K,Samsung,Ubuntu,143.63.27.149 +50,9eCxqP3MT,Amsterdam,4K,LG,Linux,67.112.185.143 +51,bwBhM,Warsaw,4K,Samsung,Ubuntu,102.47.141.2 +52,aD1jqZf,Warsaw,4K,LG,Linux,114.206.100.213 +53,f56LwTh7,Berlin,4K,Philips,Android,181.40.117.46 +54,RoqNpX,Paris,"Full HD",Philips,Android,83.48.138.6 +55,aZzgyvo4,Berlin,"Full HD",Sencor,Android,148.188.24.7 +56,ARhTu8WGI,Amsterdam,4K,Sencor,Android,210.8.42.125 +57,hGT1xJn0X,Berlin,4K,Sencor,Ubuntu,224.133.202.90 +58,MFoqf6ur5R,Warsaw,4K,Philips,Linux,202.10.167.223 +59,WI83lrRJx,Amsterdam,4K,Samsung,Ubuntu,215.5.53.160 +60,HULVE,Berlin,4K,LG,Ubuntu,39.233.254.183 +61,CnWNgaP32,Paris,4K,Philips,Android,204.14.14.252 +62,2DzPYSjBb8,Warsaw,4K,LG,Ubuntu,178.176.165.71 +63,7sVTwx6Pn,Amsterdam,4K,Philips,Android,143.171.150.143 +64,3JZYj,Berlin,4K,Sencor,Ubuntu,45.25.82.71 +65,Lkb9ISg,Berlin,4K,LG,Android,49.192.11.0 +66,sw4uS3o9,Paris,4K,Samsung,Android,72.26.25.57 +67,OyomDP1,Paris,"Full HD",LG,Android,253.173.61.6 +68,Entw4Ip9Ym,Warsaw,"Full HD",Philips,Ubuntu,179.243.67.148 +69,gb1O4f,Berlin,4K,Samsung,Linux,243.215.240.65 +70,5WvF4Z,Warsaw,4K,LG,Android,27.62.142.158 +71,H9ni38T2,Warsaw,4K,Samsung,Ubuntu,180.124.250.205 +72,RnzIe,Paris,4K,Sencor,Linux,147.221.58.7 +73,ZHKN4,Paris,4K,Samsung,Android,109.241.138.244 +74,lxPi6O,Amsterdam,"Full HD",Sencor,Ubuntu,145.65.181.81 +75,NmHyIfGtUn,Amsterdam,4K,Sencor,Ubuntu,138.197.175.224 +76,M4BYbUXz,Paris,"Full HD",Philips,Linux,105.39.195.111 +77,WVl032M,Amsterdam,4K,Philips,Android,176.69.161.59 +78,ZAieImE,Paris,4K,Sencor,Linux,24.72.240.240 +79,VxWJog,Warsaw,4K,Philips,Android,251.67.55.125 +80,qplW4jb2r,Warsaw,"Full HD",Philips,Android,96.9.193.213 +81,MvhDB,Berlin,4K,Samsung,Ubuntu,169.243.31.62 +82,imP6F5,Amsterdam,4K,Philips,Linux,179.101.219.163 +83,FUX7IaZlyM,Amsterdam,"Full HD",Philips,Ubuntu,213.37.251.111 +84,wyfBTk28Ua,Paris,4K,Sencor,Android,90.231.227.126 +85,bAqo1EMQj,Amsterdam,4K,Philips,Linux,137.149.138.193 +86,fkH7P4O,Warsaw,"Full HD",Philips,Linux,194.98.40.156 +87,VYzi8X,Warsaw,4K,Sencor,Linux,125.96.89.58 +88,X4AjIsE,Paris,"Full HD",Philips,Ubuntu,184.81.240.255 +89,u8i7s0G,Berlin,"Full HD",Philips,Linux,62.155.11.74 +90,YTkD0,Warsaw,"Full HD",Philips,Linux,233.128.84.46 +91,xuYMcqKTE,Amsterdam,"Full HD",Philips,Ubuntu,162.119.50.246 +92,vX0OYeIJ4n,Warsaw,"Full HD",Samsung,Ubuntu,82.118.130.48 +93,AqYpvjWC,Warsaw,"Full HD",Philips,Ubuntu,14.238.36.139 +94,yQiht5aoT,Paris,4K,Sencor,Android,220.99.94.132 +95,0ZsXM4kuG,Berlin,"Full HD",Philips,Linux,39.220.108.71 +96,JE9b3nsG,Paris,"Full HD",Sencor,Linux,145.234.77.225 +97,lcR0Ffpw,Berlin,"Full HD",LG,Ubuntu,94.70.55.201 +98,OqlJ9,Warsaw,4K,Sencor,Ubuntu,24.129.88.245 +99,oXYyfUz,Paris,4K,Philips,Linux,103.87.80.245 +100,fEyZ5DF,Paris,4K,Samsung,Ubuntu,199.38.242.23 +101,9tYqElNLW,Amsterdam,4K,LG,Linux,64.90.61.26 +102,rV6y4MI,Amsterdam,"Full HD",Samsung,Ubuntu,22.207.132.158 +103,jv2Cp,Warsaw,4K,Sencor,Ubuntu,233.39.154.247 +104,qAcXeR,Berlin,"Full HD",Samsung,Android,114.37.2.188 +105,TLlDv,Paris,4K,Samsung,Ubuntu,167.225.42.105 +106,MRjJ96TIiA,Paris,"Full HD",LG,Linux,179.36.242.166 +107,AI7RbY,Amsterdam,"Full HD",Philips,Android,31.158.45.76 +108,A7yEcNI,Paris,4K,Samsung,Ubuntu,64.166.10.116 +109,SX1qtu,Paris,"Full HD",Philips,Ubuntu,230.80.67.44 +110,pgqf5BQS,Warsaw,"Full HD",Sencor,Android,228.190.139.96 +111,xjSJgzypK3,Amsterdam,"Full HD",LG,Ubuntu,141.44.110.197 +112,JQa5WAh,Paris,4K,LG,Ubuntu,53.11.255.66 +113,eHMkD95P,Paris,4K,Philips,Ubuntu,1.208.117.231 +114,JUSzVx0L,Berlin,"Full HD",Philips,Android,4.32.142.113 +115,PXy682,Warsaw,"Full HD",Samsung,Linux,58.136.155.91 +116,5Oz4ar1km,Warsaw,4K,Samsung,Android,39.150.162.228 +117,87GoxqTaY9,Warsaw,4K,LG,Linux,117.0.49.75 +118,vQ07Ibp,Berlin,"Full HD",LG,Ubuntu,187.47.8.4 +119,dgMeaqKt3,Warsaw,"Full HD",Sencor,Ubuntu,172.206.97.233 +120,F0X75yjcOD,Berlin,"Full HD",Philips,Android,139.230.47.68 +121,mTzOnZ,Berlin,"Full HD",LG,Linux,113.84.152.226 +122,1DTnYfkgG,Warsaw,4K,LG,Android,130.119.153.82 +123,cQ5KoleVXs,Amsterdam,4K,Samsung,Linux,154.221.75.221 +124,Hl8UPfVNT,Amsterdam,"Full HD",Philips,Ubuntu,138.226.222.184 +125,y768g0R,Warsaw,4K,Philips,Linux,113.60.51.245 +126,trzhnpj3Q,Berlin,4K,Sencor,Linux,101.221.57.102 +127,E7bS1es,Warsaw,"Full HD",Philips,Ubuntu,47.155.4.179 +128,JtxymBwV,Berlin,4K,Samsung,Android,103.189.117.42 +129,Z42tpicJ,Berlin,4K,Sencor,Linux,68.73.80.191 +130,dN7fnjQia,Berlin,4K,Philips,Ubuntu,129.187.4.236 +131,yxJK82M,Berlin,"Full HD",Philips,Linux,49.204.12.124 +132,iz4bUC,Berlin,4K,Samsung,Linux,236.67.95.37 +133,KW0plZmDJ,Berlin,"Full HD",Samsung,Linux,77.51.5.75 +134,AzKg2Y96N,Amsterdam,"Full HD",Philips,Ubuntu,242.104.255.105 +135,WTQuK,Berlin,"Full HD",Sencor,Android,232.214.65.104 +136,OPYuF,Paris,"Full HD",Samsung,Android,231.224.52.31 +137,uZUFBG5,Warsaw,"Full HD",Samsung,Linux,137.141.19.243 +138,DJyeS4QM,Paris,4K,Samsung,Android,48.85.22.212 +139,u0W2AMw,Berlin,"Full HD",Philips,Linux,211.212.183.54 +140,9jHYh,Paris,"Full HD",Sencor,Ubuntu,184.207.59.22 +141,OJCxmGitnF,Warsaw,4K,Samsung,Linux,66.232.128.44 +142,94WPqra,Warsaw,4K,LG,Ubuntu,25.172.232.39 +143,FElt06xj,Paris,"Full HD",Sencor,Ubuntu,133.41.242.22 +144,beuAqBP,Amsterdam,4K,LG,Ubuntu,236.51.62.103 +145,sjP3h,Paris,4K,Philips,Linux,101.211.168.238 +146,yr8sPo,Paris,"Full HD",Philips,Android,7.123.81.81 +147,Gds6otS4I,Amsterdam,4K,LG,Linux,198.89.112.85 +148,4VFdUcxA,Warsaw,4K,Samsung,Ubuntu,176.170.188.152 +149,gZaAD0KW6p,Warsaw,4K,Philips,Android,233.229.154.82 +150,plPZ3i0Vx1,Paris,"Full HD",LG,Ubuntu,157.10.158.245 +151,Zd2NUoKL1Q,Amsterdam,"Full HD",LG,Linux,22.126.137.13 +152,QZwta,Berlin,4K,Philips,Ubuntu,243.226.168.218 +153,tKkWfhQ9,Paris,"Full HD",Samsung,Linux,201.57.35.192 +154,6jpcEvU,Warsaw,"Full HD",Philips,Linux,11.216.203.238 +155,mvSdFVUDC,Berlin,"Full HD",LG,Android,73.179.79.76 +156,XvnD5og9Y,Paris,4K,LG,Android,98.64.146.190 +157,oaCADRwMO,Berlin,4K,Philips,Android,127.219.188.21 +158,NiyZ4IJdqz,Amsterdam,"Full HD",Samsung,Linux,223.72.93.254 +159,c3WtpP6V,Amsterdam,4K,LG,Ubuntu,173.186.117.168 +160,nasP9oIG0F,Warsaw,4K,Philips,Linux,218.161.143.82 +161,O7BSf8Maox,Paris,"Full HD",Samsung,Linux,120.131.189.45 +162,pTeakXP8sD,Amsterdam,4K,Sencor,Ubuntu,111.58.194.236 +163,daFbH3G,Amsterdam,"Full HD",Philips,Ubuntu,65.152.73.72 +164,zUMx9i,Warsaw,4K,Samsung,Linux,185.157.86.83 +165,3HqRwD8P,Warsaw,"Full HD",Philips,Linux,251.190.161.175 +166,WAaRxP,Paris,"Full HD",Samsung,Linux,97.87.99.116 +167,6XwITYDiK1,Paris,4K,LG,Ubuntu,78.47.220.177 +168,VkmqnUx,Berlin,"Full HD",Philips,Android,83.255.30.165 +169,UkHW8,Amsterdam,"Full HD",Samsung,Android,220.30.177.137 +170,3DvmVj9E,Berlin,"Full HD",Sencor,Android,250.77.184.189 +171,B41T3UF,Warsaw,"Full HD",Philips,Android,239.84.57.159 +172,zxvVJkPCs,Amsterdam,4K,Samsung,Ubuntu,196.86.1.88 +173,EuZiBPMn,Warsaw,4K,Sencor,Linux,195.98.45.221 +174,K58FlNS4,Berlin,4K,LG,Linux,82.91.205.220 +175,oJpO4V,Berlin,"Full HD",Sencor,Linux,55.206.60.53 +176,2bkZT,Berlin,4K,LG,Ubuntu,199.101.74.154 +177,MmWalyT,Amsterdam,"Full HD",LG,Ubuntu,69.150.254.168 +178,fGie710,Warsaw,"Full HD",Sencor,Android,181.98.52.24 +179,TexwsfHG,Berlin,4K,Samsung,Android,162.72.109.99 +180,5Kk39n1m,Paris,4K,LG,Ubuntu,238.218.168.204 +181,MtwgGA1En2,Warsaw,"Full HD",Philips,Linux,169.190.153.144 +182,nmJkZ,Paris,4K,Samsung,Android,189.128.105.184 +183,9orRPaz,Paris,"Full HD",Philips,Ubuntu,88.6.227.195 +184,gO7xEY2zBZ,Berlin,"Full HD",Philips,Linux,13.22.241.209 +185,h9Q73bj,Berlin,"Full HD",Philips,Ubuntu,253.113.176.44 +186,gtmZzwSVs,Amsterdam,"Full HD",Sencor,Android,32.220.162.231 +187,k3XEHTN,Amsterdam,"Full HD",Philips,Ubuntu,7.116.215.137 +188,CVob3WQ,Amsterdam,"Full HD",Sencor,Android,118.80.77.66 +189,KUxvho,Amsterdam,4K,Sencor,Android,83.1.205.83 +190,ie21Gp,Berlin,4K,Sencor,Ubuntu,45.142.6.0 +191,G4fg3z,Amsterdam,4K,Sencor,Android,77.120.25.42 +192,pOiUjetT,Berlin,4K,Philips,Linux,230.81.140.221 +193,Q5XOD,Warsaw,"Full HD",Philips,Linux,96.105.198.215 +194,4nSPCD,Paris,"Full HD",Philips,Ubuntu,31.138.50.159 +195,CsVlNcST9m,Berlin,4K,Sencor,Linux,219.231.87.140 +196,gYGXr,Paris,"Full HD",LG,Linux,162.194.235.69 +197,usxMCNQW,Amsterdam,"Full HD",LG,Linux,175.196.202.89 +198,AxBCHWiNas,Paris,4K,LG,Linux,254.94.114.130 +199,ja6QOp,Warsaw,"Full HD",LG,Linux,17.106.168.161 +200,u2T7SXvKJ,Paris,"Full HD",Samsung,Linux,245.170.134.62 +201,y4cHWxCJdD,Amsterdam,"Full HD",LG,Linux,106.163.146.152 +202,5xqZmJ,Amsterdam,"Full HD",LG,Ubuntu,197.65.222.168 +203,ybLevD8,Paris,"Full HD",Samsung,Ubuntu,212.128.196.191 +204,MSLpXJ,Amsterdam,"Full HD",Sencor,Android,179.44.121.99 +205,oQFeK1uWOR,Berlin,4K,Philips,Linux,135.88.249.23 +206,X817SpAt,Amsterdam,4K,Philips,Android,161.105.124.15 +207,Yemkuq1wlJ,Paris,4K,LG,Android,206.198.243.230 +208,9byT4k,Paris,"Full HD",LG,Ubuntu,71.143.6.168 +209,RO48Ac,Warsaw,"Full HD",Sencor,Android,32.148.207.68 +210,XeqKRtC,Warsaw,4K,LG,Android,199.208.223.122 +211,uXQmC,Warsaw,"Full HD",Sencor,Android,50.238.113.246 +212,CteLOM9PT,Warsaw,"Full HD",Samsung,Linux,210.46.54.105 +213,TyJVOgaN,Paris,4K,Philips,Android,181.89.207.139 +214,uo17lF,Berlin,4K,Sencor,Android,32.92.225.14 +215,SsaFo,Berlin,"Full HD",Philips,Linux,167.128.141.21 +216,jnZXdQsy,Paris,"Full HD",LG,Linux,97.245.105.97 +217,igXFmd,Berlin,"Full HD",Sencor,Linux,11.103.97.176 +218,IqhxjB,Warsaw,4K,Samsung,Android,1.27.70.45 +219,SItZQwl,Berlin,4K,Sencor,Ubuntu,125.33.53.171 +220,e5KtMC,Berlin,"Full HD",LG,Linux,33.216.210.75 +221,5BwYEpDGrU,Berlin,"Full HD",LG,Android,2.26.230.72 +222,eFY2U7phX,Amsterdam,"Full HD",Sencor,Ubuntu,200.99.91.168 +223,CgWoGd0w5,Warsaw,"Full HD",Sencor,Android,151.206.13.203 +224,ON9irwMU,Warsaw,"Full HD",LG,Ubuntu,44.24.253.137 +225,BVwqdiypuC,Amsterdam,4K,Sencor,Linux,2.209.216.92 +226,vBwCJl0,Amsterdam,"Full HD",Sencor,Linux,55.74.199.69 +227,U36bFmYnJ,Paris,"Full HD",Philips,Linux,244.248.146.228 +228,hUvpR8u,Amsterdam,"Full HD",Philips,Ubuntu,179.64.0.208 +229,kBs6aH,Warsaw,"Full HD",LG,Ubuntu,3.225.189.141 +230,kTxzfMo,Paris,"Full HD",Sencor,Linux,38.8.125.86 +231,18bwiHqu,Amsterdam,"Full HD",Samsung,Android,204.199.60.252 +232,nVqFWBwPyX,Paris,4K,LG,Android,251.127.159.69 +233,3zBk1,Warsaw,"Full HD",LG,Android,103.45.71.39 +234,HF0wiRA,Amsterdam,"Full HD",Samsung,Ubuntu,212.121.174.124 +235,YCmiD,Paris,"Full HD",Samsung,Ubuntu,118.46.192.68 +236,4szRPo,Warsaw,4K,Philips,Linux,36.232.148.139 +237,5xHKzkVG,Paris,4K,Samsung,Linux,160.130.57.2 +238,pUMSmZvr1,Paris,4K,LG,Ubuntu,199.238.172.54 +239,C8D32,Warsaw,4K,Philips,Ubuntu,44.113.133.211 +240,D609NgZh5,Warsaw,4K,Philips,Android,159.118.6.132 +241,eo2qrD,Paris,"Full HD",Samsung,Android,169.192.247.210 +242,9LgYxc2,Berlin,"Full HD",LG,Ubuntu,66.249.57.185 +243,49gB3h,Berlin,4K,LG,Linux,194.202.200.41 +244,6XYBrZ,Paris,"Full HD",Philips,Android,3.141.239.55 +245,wIWXM,Paris,"Full HD",Sencor,Linux,120.23.240.28 +246,vKekRGOtpS,Warsaw,4K,LG,Android,14.51.108.45 +247,ODb7cHVT6,Warsaw,4K,Samsung,Ubuntu,69.58.34.179 +248,Hv6qEXtU,Berlin,4K,LG,Linux,111.207.225.126 +249,QcYT1e,Paris,4K,LG,Ubuntu,157.78.38.221 +250,CMmI3asjL,Amsterdam,4K,Sencor,Android,201.10.187.39 +251,U0FglsM7d,Berlin,"Full HD",Sencor,Ubuntu,89.206.184.62 +252,s7mFqWNe,Warsaw,4K,Philips,Linux,74.84.33.229 +253,dACN6tGve8,Berlin,"Full HD",LG,Ubuntu,43.128.212.62 +254,9PDRe,Warsaw,4K,Sencor,Ubuntu,95.126.134.222 +255,UjYRaw8,Amsterdam,"Full HD",LG,Linux,61.68.52.168 +256,BgerFKwV1,Amsterdam,4K,LG,Linux,168.78.62.72 +257,FCOrUgStkK,Berlin,4K,Sencor,Linux,96.51.112.17 +258,nce4mSXRa8,Amsterdam,"Full HD",Sencor,Linux,236.82.42.241 +259,oRk15Qa0Xc,Berlin,4K,LG,Android,41.0.189.53 +260,Dl9I6pJC0,Paris,"Full HD",LG,Ubuntu,188.115.42.13 +261,Wi4Yg7tz,Amsterdam,4K,Philips,Android,53.186.114.52 +262,GEmwHh,Berlin,"Full HD",LG,Linux,119.121.225.47 +263,o057mYKZ,Paris,"Full HD",LG,Ubuntu,195.234.221.88 +264,Gn1uXJHVe,Paris,"Full HD",Sencor,Android,187.255.77.126 +265,BFb2MTCS3,Warsaw,4K,Sencor,Linux,194.232.103.159 +266,TWboH14I0x,Warsaw,"Full HD",LG,Ubuntu,64.149.38.37 +267,C2dqa6P9sT,Amsterdam,4K,Sencor,Android,188.153.190.67 +268,kdUwvlx,Warsaw,"Full HD",Samsung,Ubuntu,43.4.76.182 +269,iu2AGt,Berlin,"Full HD",Philips,Linux,6.139.149.94 +270,gXB403b,Paris,4K,Samsung,Linux,6.159.104.109 +271,lky0FUZ,Berlin,4K,LG,Linux,252.34.11.153 +272,slpVjxK,Paris,4K,Sencor,Linux,61.122.244.184 +273,ei1nUs,Warsaw,"Full HD",Samsung,Ubuntu,73.78.154.163 +274,dr8AoT,Warsaw,4K,LG,Android,181.196.60.3 +275,LvdIKyTHDn,Berlin,"Full HD",Samsung,Android,104.34.218.64 +276,Rd5mXl9EMB,Paris,4K,Samsung,Ubuntu,187.53.48.200 +277,YLrvd,Warsaw,4K,Sencor,Linux,44.153.177.42 +278,pB5Lvgf9K,Paris,"Full HD",Sencor,Android,171.192.220.46 +279,RmTKM,Berlin,4K,Philips,Linux,61.121.75.159 +280,Kp5socnaf,Paris,4K,Philips,Ubuntu,193.17.46.136 +281,Llc6ozG,Berlin,4K,LG,Linux,21.10.248.182 +282,8hRgzMJDW,Berlin,4K,Samsung,Linux,45.133.104.45 +283,iwxrJPjkS,Amsterdam,"Full HD",LG,Ubuntu,121.177.209.217 +284,1dSBjT,Amsterdam,"Full HD",Philips,Android,139.126.12.117 +285,1pcEwP,Berlin,4K,Samsung,Ubuntu,25.29.234.81 +286,klwG9,Warsaw,"Full HD",Sencor,Ubuntu,252.97.144.63 +287,PCgkKol5,Paris,4K,Sencor,Linux,178.147.148.59 +288,6NtCOKp,Warsaw,4K,LG,Android,148.67.135.129 +289,ZrQies7ba,Berlin,"Full HD",Philips,Android,19.148.188.158 +290,gbTYCte78,Paris,"Full HD",LG,Android,40.135.32.215 +291,LrDsKf,Paris,"Full HD",Sencor,Ubuntu,129.55.32.250 +292,brdUkPn6X0,Berlin,4K,LG,Linux,44.225.20.43 +293,CPKXnu7r,Paris,"Full HD",Philips,Android,250.237.2.201 +294,HXAsDB7,Amsterdam,"Full HD",Philips,Ubuntu,208.24.22.81 +295,uYcmSwv7J,Warsaw,"Full HD",Samsung,Ubuntu,201.111.119.5 +296,sUehgQ,Berlin,4K,Philips,Android,60.169.19.200 +297,HyLWc,Warsaw,4K,Samsung,Ubuntu,138.21.169.251 +298,jkYBzrq,Paris,4K,Sencor,Ubuntu,156.211.186.28 +299,fJnptb615Y,Warsaw,"Full HD",Samsung,Ubuntu,186.22.65.203 +300,tXFzQ,Paris,"Full HD",Samsung,Ubuntu,143.140.72.215 +301,dmfSKEtviM,Amsterdam,"Full HD",Sencor,Ubuntu,118.229.10.216 +302,hsRqi,Warsaw,"Full HD",Samsung,Linux,70.105.134.236 +303,Faen0jd,Paris,"Full HD",Samsung,Android,46.71.53.83 +304,6vInZgoxwc,Warsaw,4K,Samsung,Android,150.175.189.163 +305,Ezkdrxs7,Berlin,4K,Samsung,Linux,175.88.2.9 +306,neTmQ814O,Amsterdam,4K,LG,Ubuntu,99.177.100.220 +307,l1JhQY,Warsaw,4K,Sencor,Android,242.59.249.145 +308,PNUhMIz5i,Warsaw,4K,Philips,Ubuntu,54.224.213.159 +309,LpGJmXnBZF,Amsterdam,"Full HD",Sencor,Ubuntu,107.159.110.103 +310,NvFbLR,Paris,4K,Philips,Linux,217.13.137.131 +311,pqscFLI,Warsaw,"Full HD",Philips,Ubuntu,109.232.175.49 +312,TRFEDhAMc,Amsterdam,4K,Sencor,Android,17.78.244.111 +313,9TvXeyE,Amsterdam,4K,LG,Linux,123.25.92.109 +314,H6E3KnL,Paris,"Full HD",Sencor,Android,114.154.89.148 +315,JrGWfm,Warsaw,4K,Sencor,Android,75.76.133.26 +316,JMDcQer,Berlin,"Full HD",Sencor,Linux,140.74.208.66 +317,Oo2xDGzFem,Amsterdam,"Full HD",Sencor,Linux,196.197.235.91 +318,1gXYNluO,Warsaw,"Full HD",Sencor,Linux,85.62.108.228 +319,jBJMzl3VXP,Berlin,4K,Samsung,Ubuntu,225.8.240.230 +320,PDyBCQhV2,Amsterdam,"Full HD",Samsung,Ubuntu,238.169.94.84 +321,5mHXZ,Warsaw,"Full HD",Philips,Ubuntu,247.182.247.103 +322,S1RcKZqXb,Paris,4K,Samsung,Ubuntu,215.48.123.224 +323,mduhN,Paris,"Full HD",Philips,Ubuntu,186.151.245.225 +324,0R7vG,Berlin,4K,Sencor,Linux,111.171.105.247 +325,EH5pGSJh7,Berlin,"Full HD",LG,Linux,134.70.255.89 +326,S3IE6m5,Berlin,4K,Philips,Android,178.106.117.83 +327,doj8hgv,Berlin,"Full HD",Philips,Android,90.62.86.41 +328,nQ8xmd,Amsterdam,4K,Philips,Ubuntu,69.39.142.83 +329,fqBvxM0Ii,Berlin,"Full HD",Samsung,Android,20.167.0.11 +330,qVF56JeQsS,Berlin,4K,Samsung,Ubuntu,81.190.136.232 +331,7izGO38p,Amsterdam,4K,Samsung,Linux,6.79.73.169 +332,IAh4V,Warsaw,4K,Sencor,Android,102.51.199.63 +333,NSBylIozR,Paris,4K,Philips,Ubuntu,139.139.66.161 +334,0TLRFPY,Paris,"Full HD",Philips,Ubuntu,192.245.170.204 +335,xruNkBlbL,Warsaw,"Full HD",Philips,Android,72.197.197.4 +336,ImHf4RqZ,Amsterdam,4K,Samsung,Android,132.160.171.83 +337,2AdGVuh7li,Paris,4K,Philips,Android,0.248.251.182 +338,JOTX6Vlx3,Paris,4K,Philips,Ubuntu,3.242.143.78 +339,jMiJVaBl,Paris,"Full HD",Philips,Android,138.121.33.60 +340,yNoW5YLTb,Warsaw,4K,Philips,Ubuntu,178.112.219.195 +341,aeAtoKR,Warsaw,"Full HD",Sencor,Android,100.182.45.103 +342,ibYOd31,Paris,4K,LG,Linux,252.104.100.35 +343,3PiyARUKwI,Berlin,4K,Sencor,Ubuntu,67.248.58.99 +344,K5V7bOIC,Paris,4K,LG,Linux,130.118.28.160 +345,AQEobP,Warsaw,"Full HD",Philips,Android,222.20.14.159 +346,xiqtuH6gC,Berlin,4K,Sencor,Ubuntu,245.15.223.196 +347,sULnw,Amsterdam,4K,Philips,Android,131.131.124.42 +348,W01GQmZfx,Berlin,4K,Samsung,Android,137.61.222.135 +349,0zuB9MX3Jc,Warsaw,"Full HD",Sencor,Linux,226.4.44.105 +350,4v02TABI,Berlin,"Full HD",Sencor,Linux,196.207.148.31 +351,DQt0VukfU,Berlin,"Full HD",Philips,Android,64.159.118.173 +352,JeabZg0w,Amsterdam,4K,LG,Android,227.207.222.147 +353,NUpiIPSC,Amsterdam,4K,Sencor,Ubuntu,108.54.38.142 +354,MopsjDnI,Warsaw,4K,Sencor,Android,197.209.235.24 +355,bNwhvcfjU0,Amsterdam,4K,LG,Ubuntu,79.139.112.223 +356,dWCQG,Paris,"Full HD",Samsung,Android,188.233.178.74 +357,WjpUEz,Berlin,4K,Philips,Ubuntu,253.59.159.17 +358,lzCpVa9U6b,Paris,4K,Samsung,Ubuntu,32.237.241.81 +359,dXhSJ,Amsterdam,"Full HD",Sencor,Android,90.203.143.186 +360,a1K9Nbv,Paris,"Full HD",Sencor,Ubuntu,107.211.113.172 +361,yR3sghoAHn,Warsaw,4K,LG,Android,94.249.43.11 +362,os2AH,Berlin,4K,Sencor,Ubuntu,81.91.15.251 +363,r0CXibM,Warsaw,"Full HD",Samsung,Ubuntu,12.70.160.142 +364,kPUqhIMK21,Berlin,4K,LG,Ubuntu,16.228.193.232 +365,7BTZKC,Amsterdam,"Full HD",LG,Linux,90.97.12.207 +366,HmbCFk,Amsterdam,"Full HD",Samsung,Ubuntu,232.6.191.120 +367,KzBq5rp,Warsaw,"Full HD",Sencor,Ubuntu,110.3.170.159 +368,bHsft7opmV,Amsterdam,4K,Samsung,Ubuntu,84.186.211.99 +369,6vu2iCP,Paris,"Full HD",Philips,Android,63.201.69.124 +370,7CYnQR,Paris,4K,Philips,Android,56.91.63.31 +371,xDbYR,Berlin,4K,Sencor,Ubuntu,107.140.197.191 +372,CZ9EWy,Paris,4K,LG,Android,96.187.77.88 +373,8cGkBE3b,Berlin,4K,Samsung,Ubuntu,206.248.7.252 +374,ycPunXgY5W,Warsaw,4K,Philips,Ubuntu,219.81.91.168 +375,vTwDGmkXc,Berlin,"Full HD",Sencor,Android,181.183.59.174 +376,Y36f4D,Warsaw,"Full HD",LG,Linux,249.132.87.52 +377,E3ZXYm1kcM,Amsterdam,4K,LG,Linux,147.47.45.196 +378,xIQ3dofqm,Warsaw,"Full HD",Samsung,Android,248.14.8.120 +379,vJyDezTlWG,Amsterdam,"Full HD",LG,Android,181.247.152.211 +380,h9nkIHLG5a,Berlin,4K,Sencor,Android,56.84.191.11 +381,Do2RNL,Warsaw,4K,LG,Linux,17.164.191.42 +382,jEs9HtrL,Warsaw,4K,Sencor,Linux,108.159.175.201 +383,y3iCUHd,Amsterdam,"Full HD",LG,Android,115.252.155.197 +384,MPpeTfXgyz,Berlin,4K,Philips,Ubuntu,30.142.235.228 +385,59mOo6jDNV,Paris,"Full HD",Philips,Ubuntu,23.41.213.177 +386,d6gJL,Berlin,"Full HD",LG,Linux,102.13.176.226 +387,4MTe3RvuH,Paris,"Full HD",Samsung,Android,245.80.114.224 +388,od8hB5m,Amsterdam,"Full HD",Samsung,Ubuntu,43.163.250.9 +389,HgTuM8KfB,Berlin,"Full HD",Philips,Linux,73.47.140.112 +390,RAkuHE5IM8,Paris,"Full HD",LG,Linux,26.119.226.175 +391,tjbx3CagJp,Warsaw,4K,Sencor,Ubuntu,172.141.93.160 +392,CjguFd,Berlin,"Full HD",Philips,Android,37.89.230.81 +393,wjy7ZV,Amsterdam,4K,Samsung,Android,14.105.242.216 +394,AjCGV,Amsterdam,"Full HD",Samsung,Android,19.183.28.9 +395,BPSg5F0O,Paris,4K,Sencor,Android,214.237.18.148 +396,VAksc4GX1,Berlin,4K,Samsung,Linux,55.102.232.39 +397,Gvh0P,Paris,4K,Philips,Linux,195.31.167.89 +398,pCXQL1Sok,Warsaw,"Full HD",Sencor,Android,146.237.16.177 +399,rGEjaCm7w,Berlin,4K,Sencor,Ubuntu,19.17.37.209 +400,HVU1aN,Berlin,4K,Philips,Ubuntu,179.142.229.159 +401,g7QiX0,Amsterdam,4K,Sencor,Android,78.1.181.115 +402,N8jL2EdDeB,Berlin,4K,Samsung,Android,91.144.150.32 +403,yfvx3E82B,Warsaw,4K,Philips,Android,37.226.189.66 +404,VRiy7KIhC,Berlin,"Full HD",Sencor,Android,183.60.251.244 +405,4jQU23,Berlin,"Full HD",Sencor,Ubuntu,174.208.50.237 +406,yIRVE,Warsaw,"Full HD",Sencor,Linux,99.89.110.138 +407,SbvA8ytX4,Amsterdam,"Full HD",Philips,Ubuntu,140.39.1.56 +408,WOsYJPS,Berlin,4K,Samsung,Android,93.36.85.220 +409,Va5BsAnoXW,Berlin,4K,Samsung,Android,219.71.214.18 +410,aVZ6IE1i,Amsterdam,4K,Philips,Ubuntu,10.215.20.79 +411,N6MfLFG,Berlin,"Full HD",Samsung,Android,160.233.68.157 +412,c7jbH,Paris,4K,Samsung,Android,15.95.137.237 +413,XbMwiNP,Amsterdam,4K,Philips,Ubuntu,178.161.197.51 +414,QTp9Sm1q,Berlin,4K,Samsung,Ubuntu,213.37.98.34 +415,htUIB0iW,Paris,4K,LG,Linux,147.3.253.146 +416,D03pCWjYu,Berlin,"Full HD",Sencor,Android,108.237.246.235 +417,JG8y7p,Paris,"Full HD",LG,Ubuntu,56.116.166.205 +418,VMNEr,Paris,4K,Sencor,Android,170.230.65.226 +419,4S7KpYb,Berlin,4K,LG,Ubuntu,107.65.170.170 +420,q8IX5eokJK,Amsterdam,"Full HD",LG,Linux,149.8.153.159 +421,HiXCWY,Paris,4K,Samsung,Linux,83.53.130.130 +422,oOW7rif,Paris,"Full HD",Sencor,Linux,65.112.137.176 +423,IfslNpuF,Berlin,4K,Philips,Android,255.240.87.250 +424,UjOIv9zS,Berlin,"Full HD",LG,Linux,121.234.88.251 +425,qAkgcdu,Amsterdam,"Full HD",Philips,Android,169.45.139.124 +426,VqpmnB,Berlin,4K,LG,Ubuntu,156.151.123.53 +427,yTDYjwvk2l,Amsterdam,4K,Sencor,Ubuntu,169.40.240.65 +428,CfsizeMBrD,Paris,"Full HD",Sencor,Android,210.205.29.179 +429,62QMr,Paris,"Full HD",Philips,Linux,185.172.143.159 +430,EDor5h,Berlin,"Full HD",Samsung,Linux,3.121.82.21 +431,KTaCg6x,Warsaw,"Full HD",Samsung,Android,181.115.167.63 +432,3dvoqJBSc9,Paris,"Full HD",Sencor,Ubuntu,27.179.89.47 +433,B4SxM,Warsaw,"Full HD",Philips,Android,115.205.127.30 +434,6W8a1mjx3,Amsterdam,"Full HD",Samsung,Ubuntu,121.254.118.58 +435,V3FXIonlD,Amsterdam,"Full HD",Samsung,Android,8.223.62.187 +436,weUjP4,Amsterdam,4K,Sencor,Linux,213.245.137.198 +437,Ls0vT1U,Paris,"Full HD",Samsung,Android,0.159.92.177 +438,o0wXa,Amsterdam,"Full HD",Samsung,Ubuntu,43.212.45.69 +439,orMSQtm0,Berlin,"Full HD",LG,Android,119.135.219.8 +440,RKpwNsA4Ug,Berlin,"Full HD",LG,Android,83.201.253.132 +441,IwV2Yu9P,Berlin,"Full HD",Philips,Linux,107.119.53.74 +442,6AHxPYpr,Amsterdam,4K,Philips,Ubuntu,142.132.155.62 +443,wOalRks,Warsaw,4K,Samsung,Linux,29.38.63.254 +444,0vND3uReW,Berlin,"Full HD",Samsung,Ubuntu,252.82.37.224 +445,s2ZqiYf,Warsaw,"Full HD",Sencor,Ubuntu,144.127.176.2 +446,3m6iAM,Paris,"Full HD",Samsung,Linux,45.209.3.75 +447,36eoj5,Paris,4K,Philips,Linux,25.41.3.135 +448,KgPQOU,Paris,4K,Philips,Android,206.2.192.242 +449,kLn4t6B,Amsterdam,"Full HD",Philips,Ubuntu,187.224.207.49 +450,hU0YI7,Paris,"Full HD",LG,Ubuntu,10.235.15.55 +451,jVJAt9fsh,Amsterdam,4K,Samsung,Ubuntu,246.227.110.66 +452,b0zqRWTC,Berlin,"Full HD",Sencor,Android,8.0.63.106 +453,OKiMIrH,Amsterdam,4K,LG,Ubuntu,116.110.81.97 +454,xnOK6R,Warsaw,4K,Samsung,Android,58.224.42.211 +455,I7U9JPpd,Paris,4K,Samsung,Android,136.130.9.226 +456,Qwa1YBlDo,Paris,4K,Samsung,Android,48.151.155.84 +457,sSUxDO53,Berlin,4K,Philips,Ubuntu,8.30.138.129 +458,opITO,Amsterdam,"Full HD",Philips,Linux,101.169.122.193 +459,DkR2Mm90T,Paris,4K,Sencor,Linux,122.0.161.20 +460,wimN0,Berlin,"Full HD",Samsung,Android,139.237.83.76 +461,aBL0O,Berlin,4K,Philips,Ubuntu,102.211.131.94 +462,YEptZ,Berlin,4K,Sencor,Android,238.219.97.125 +463,nIz40cRQ,Warsaw,"Full HD",LG,Android,250.157.11.221 +464,9edxMWHq,Warsaw,4K,LG,Android,158.183.218.64 +465,Op4NhTqQ,Paris,4K,Samsung,Linux,4.45.83.48 +466,Lt2kWA,Amsterdam,"Full HD",Samsung,Linux,60.187.113.97 +467,vbGnMalZc,Amsterdam,"Full HD",LG,Linux,138.243.191.151 +468,FHurWI,Warsaw,"Full HD",Philips,Ubuntu,71.205.171.210 +469,BMU90itHkL,Warsaw,4K,LG,Android,121.0.81.60 +470,AtafoeG,Warsaw,"Full HD",LG,Android,123.179.107.129 +471,C9gEcyD,Paris,4K,LG,Linux,152.190.152.197 +472,CBc0o7JAh,Berlin,"Full HD",LG,Linux,59.81.68.200 +473,Aex4fEVn,Berlin,4K,Philips,Linux,178.194.245.155 +474,kWcGtB,Berlin,4K,LG,Android,113.23.15.73 +475,NmnF4ry7TO,Amsterdam,4K,Philips,Android,7.64.8.67 +476,k8GpsWXi,Paris,"Full HD",Philips,Ubuntu,144.135.252.222 +477,bi59g3PrQ,Paris,"Full HD",Sencor,Linux,101.135.182.182 +478,G9U7fT,Paris,"Full HD",Sencor,Ubuntu,122.44.153.143 +479,kw8e3,Paris,4K,Sencor,Linux,164.220.20.149 +480,qbiL4f,Paris,"Full HD",Samsung,Linux,247.236.165.112 +481,aEDmuk6,Berlin,"Full HD",Philips,Linux,76.13.66.131 +482,ONDe2p7,Berlin,4K,LG,Android,47.107.18.248 +483,nFYRTHPJs,Amsterdam,4K,LG,Android,178.249.69.255 +484,1qzfO,Amsterdam,"Full HD",Philips,Ubuntu,12.152.52.169 +485,dqSYyhzZ0,Amsterdam,"Full HD",Philips,Android,118.56.251.105 +486,4icpK2D,Paris,"Full HD",Philips,Ubuntu,182.84.206.220 +487,1JRPa,Warsaw,4K,Samsung,Ubuntu,176.4.83.61 +488,8XO7jAdW9i,Paris,4K,Sencor,Ubuntu,140.201.95.145 +489,GM2Xf7,Paris,"Full HD",LG,Ubuntu,106.50.206.95 +490,qQBoYPN,Paris,"Full HD",Samsung,Ubuntu,71.96.185.99 +491,l8QDpNw0g,Berlin,"Full HD",LG,Android,69.52.60.29 +492,ef4lNEpwI,Warsaw,4K,Philips,Android,172.249.117.82 +493,LYd4A2pxOe,Warsaw,4K,Philips,Ubuntu,238.67.138.230 +494,siCdAKugn,Berlin,"Full HD",Samsung,Android,13.84.133.64 +495,EKwzBoPYQ,Paris,"Full HD",Sencor,Android,5.139.158.96 +496,YA7xX8,Paris,"Full HD",LG,Android,20.85.203.2 +497,gl24eos89,Warsaw,"Full HD",Philips,Linux,160.21.251.100 +498,XWy1ksd,Paris,4K,Samsung,Linux,139.246.18.66 +499,NdEYzjBP,Amsterdam,"Full HD",Sencor,Android,245.103.247.13 +500,AjDfb4U,Warsaw,"Full HD",Philips,Android,81.215.211.150 +501,hMJtNs,Berlin,"Full HD",Samsung,Android,226.20.227.29 +502,0DRTxv2qh,Paris,"Full HD",Sencor,Ubuntu,55.21.168.57 +503,ONZKl,Warsaw,4K,LG,Linux,102.103.106.154 +504,3OFWDpi,Amsterdam,"Full HD",Samsung,Linux,208.117.247.65 +505,qQu7trv8I,Berlin,"Full HD",Samsung,Android,36.57.175.204 +506,xPlqD,Warsaw,4K,Sencor,Ubuntu,52.97.15.174 +507,yXgxJs,Berlin,"Full HD",Philips,Linux,104.181.185.220 +508,9FlwJDtnx,Berlin,"Full HD",Sencor,Android,15.132.66.211 +509,ZrWcT2HJi9,Berlin,"Full HD",LG,Android,67.210.146.42 +510,EeP3QB9bR,Amsterdam,"Full HD",Samsung,Linux,90.212.66.100 +511,hUdet,Warsaw,"Full HD",LG,Linux,44.79.51.31 +512,rNlGXmJCAK,Amsterdam,"Full HD",Sencor,Ubuntu,154.172.207.95 +513,UpJ9kH8src,Paris,4K,Philips,Android,110.201.43.11 +514,3WxnUAu,Paris,4K,Sencor,Ubuntu,98.245.221.233 +515,ULIfWV6Xl,Berlin,4K,Sencor,Ubuntu,195.108.172.77 +516,xcGdvq,Berlin,4K,Samsung,Linux,208.46.174.192 +517,l1pKyLO9,Paris,4K,Samsung,Ubuntu,140.67.211.20 +518,lR0CSsB,Amsterdam,4K,Philips,Ubuntu,206.122.231.103 +519,4LUrjRz,Berlin,4K,LG,Linux,180.67.199.242 +520,Peq0C,Berlin,"Full HD",LG,Ubuntu,132.72.11.220 +521,fJzEGvACo,Warsaw,"Full HD",LG,Linux,56.140.87.23 +522,soO5D0,Warsaw,"Full HD",Philips,Android,144.215.0.168 +523,CsDcUxyYm,Amsterdam,4K,Philips,Android,248.11.28.181 +524,CnQZYze,Warsaw,4K,Samsung,Linux,175.150.44.236 +525,FmE8cgjCl,Berlin,"Full HD",Sencor,Android,157.164.149.194 +526,78mpvM6j,Amsterdam,"Full HD",Sencor,Android,158.160.147.200 +527,AiPxTN2uRG,Warsaw,4K,Samsung,Android,175.70.240.65 +528,3F64szG9,Berlin,"Full HD",LG,Ubuntu,49.188.27.132 +529,zjJvPRp,Paris,"Full HD",LG,Linux,161.170.211.143 +530,jbJRec5vEo,Berlin,4K,Samsung,Linux,111.178.93.211 +531,b4i0fyM,Warsaw,4K,Philips,Linux,88.199.230.88 +532,lGPQMBrvKd,Paris,"Full HD",LG,Ubuntu,11.157.172.52 +533,68zr75VbM,Berlin,"Full HD",LG,Linux,167.24.69.131 +534,rJjFce9,Berlin,"Full HD",LG,Android,68.99.68.240 +535,bwJS9xvpOW,Paris,4K,Samsung,Ubuntu,144.87.113.127 +536,KNtiuMco,Berlin,4K,Philips,Ubuntu,219.197.231.150 +537,iWth4cYRNA,Paris,"Full HD",Samsung,Ubuntu,231.179.255.41 +538,sWNjgv,Amsterdam,4K,Samsung,Linux,184.0.64.29 +539,PAS7iuWw1,Paris,"Full HD",LG,Android,84.61.12.72 +540,opZfzULeGg,Berlin,"Full HD",Samsung,Ubuntu,154.174.139.73 +541,Kesc3ozQnq,Berlin,"Full HD",Philips,Linux,109.214.38.69 +542,ISx8tZPi1C,Amsterdam,"Full HD",Sencor,Ubuntu,19.3.67.204 +543,31konuhgUM,Warsaw,4K,LG,Linux,41.70.25.47 +544,gkdIfXn6pL,Paris,4K,Philips,Android,145.209.53.176 +545,sENUdeOGPl,Paris,"Full HD",Philips,Linux,107.108.170.40 +546,cK15gIn9uN,Amsterdam,4K,LG,Ubuntu,233.22.100.118 +547,uMZGaf8,Berlin,"Full HD",LG,Android,18.0.109.9 +548,B8It6f9z,Berlin,4K,Sencor,Ubuntu,77.160.150.151 +549,km7yaOs8u,Warsaw,"Full HD",Samsung,Linux,156.93.223.63 +550,c2817L9uUT,Berlin,"Full HD",Samsung,Ubuntu,184.12.63.96 +551,9No0G84,Berlin,4K,LG,Android,137.214.76.207 +552,1jEtcWFw8,Amsterdam,"Full HD",LG,Linux,83.141.115.108 +553,Ao1UCzh8nF,Amsterdam,4K,Sencor,Android,4.246.152.180 +554,wr0KVc1,Warsaw,4K,Samsung,Ubuntu,226.169.201.245 +555,3vySHu,Amsterdam,4K,LG,Android,6.54.177.87 +556,21pZ7eL,Paris,4K,Philips,Ubuntu,201.182.163.204 +557,GMt0JUC,Berlin,4K,Samsung,Ubuntu,176.144.27.132 +558,rH3OWu0KC,Amsterdam,"Full HD",Sencor,Android,112.165.152.14 +559,BXbJFT,Warsaw,4K,Sencor,Linux,71.231.75.218 +560,qavOAT,Berlin,"Full HD",Sencor,Android,50.15.230.159 +561,HVfs8r0Y,Warsaw,4K,Sencor,Linux,47.53.245.93 +562,GVA3nIe,Paris,4K,Samsung,Android,241.10.122.38 +563,C9ywbn,Amsterdam,4K,Sencor,Ubuntu,158.185.81.30 +564,lDdAaMSpnQ,Berlin,"Full HD",Samsung,Ubuntu,6.130.84.31 +565,ktZobLF,Paris,"Full HD",Samsung,Android,114.168.76.236 +566,SQBGgaZoi,Paris,4K,LG,Android,169.164.61.63 +567,VLBr7Ihay,Warsaw,4K,Sencor,Linux,103.180.154.181 +568,tQaL6WJru,Warsaw,"Full HD",Samsung,Ubuntu,180.212.50.244 +569,prnytTgb,Amsterdam,4K,Sencor,Ubuntu,8.85.27.205 +570,Zv2MFxdk4,Berlin,"Full HD",Samsung,Android,249.96.146.1 +571,NndJXV,Berlin,"Full HD",Sencor,Android,69.112.96.64 +572,e17L8d,Berlin,4K,Sencor,Android,199.37.229.238 +573,rQB79isG,Amsterdam,"Full HD",Philips,Ubuntu,84.247.215.208 +574,q0Rruj,Amsterdam,"Full HD",Philips,Linux,89.234.17.162 +575,xrAaqom,Amsterdam,"Full HD",Sencor,Ubuntu,140.55.28.212 +576,eLnIJ,Berlin,4K,Sencor,Linux,143.111.60.153 +577,5EqVd6e,Amsterdam,"Full HD",Samsung,Ubuntu,121.194.91.144 +578,xNUMqg,Paris,4K,Samsung,Android,135.44.146.73 +579,wVA8W4L,Berlin,4K,Philips,Android,245.196.72.69 +580,GbhTHAcRI,Amsterdam,4K,LG,Android,25.63.197.229 +581,vBx2qhOR,Paris,"Full HD",Philips,Linux,60.8.184.123 +582,lSpUZHbf,Paris,"Full HD",LG,Ubuntu,58.49.167.77 +583,lApGBHj,Warsaw,"Full HD",Sencor,Ubuntu,154.190.207.128 +584,wWK3My2x,Paris,4K,LG,Android,100.246.49.46 +585,czedtMlUA,Warsaw,"Full HD",LG,Linux,144.253.14.44 +586,K8joTrA,Amsterdam,"Full HD",LG,Linux,133.227.123.208 +587,NGV6nm,Warsaw,4K,Sencor,Ubuntu,135.140.57.186 +588,ncW6mz,Paris,"Full HD",Sencor,Linux,43.130.196.200 +589,dxQYNWTZ,Amsterdam,"Full HD",Sencor,Android,193.31.235.73 +590,wyT2c8K3rF,Berlin,4K,Sencor,Android,139.166.80.197 +591,NJd3Fl0Yj,Amsterdam,"Full HD",Sencor,Android,57.140.244.75 +592,0f8X7I,Paris,"Full HD",Sencor,Linux,26.150.127.85 +593,k9PIWo7st,Amsterdam,4K,Samsung,Linux,177.164.237.28 +594,B81uf,Warsaw,4K,Samsung,Linux,200.52.166.221 +595,NC9OH,Amsterdam,"Full HD",Philips,Ubuntu,207.125.86.200 +596,tRPN5LwMYm,Warsaw,"Full HD",Philips,Ubuntu,42.213.138.89 +597,pKSDXPG,Amsterdam,4K,Philips,Linux,116.73.80.154 +598,EyIsUzw8,Paris,"Full HD",LG,Ubuntu,196.187.235.36 +599,HXxDyQ9qY4,Berlin,"Full HD",Sencor,Ubuntu,12.74.175.0 +600,KprFRMPzua,Warsaw,"Full HD",Sencor,Linux,232.134.77.231 +601,QvA7IHcj,Berlin,"Full HD",Philips,Ubuntu,205.106.32.254 +602,xG0HTcd8el,Paris,4K,Philips,Android,162.27.197.105 +603,K04IQz,Berlin,"Full HD",LG,Linux,188.205.66.167 +604,0kv5dJ6c,Berlin,"Full HD",Sencor,Ubuntu,219.240.179.17 +605,v4ksQV,Warsaw,"Full HD",Philips,Ubuntu,160.218.96.104 +606,cZ8JUaM,Amsterdam,4K,Sencor,Linux,149.239.119.39 +607,ea0kc,Paris,"Full HD",Samsung,Ubuntu,154.200.245.38 +608,UGXHDPV2,Amsterdam,4K,Samsung,Ubuntu,205.178.15.59 +609,Iw1Dmq,Berlin,4K,LG,Android,224.178.247.251 +610,OxYv9Ah,Paris,"Full HD",Sencor,Ubuntu,178.89.197.79 +611,e2Um4kyQ1,Amsterdam,4K,LG,Linux,10.146.189.190 +612,T7AZsdUql,Berlin,"Full HD",Sencor,Linux,103.7.128.145 +613,ULCj5N,Berlin,4K,Sencor,Linux,225.227.163.63 +614,CWBRj8,Berlin,4K,Philips,Android,175.119.34.194 +615,EeZ0mNQc51,Amsterdam,4K,Sencor,Ubuntu,184.202.225.171 +616,p2o59HY,Amsterdam,4K,Philips,Android,248.55.193.160 +617,PB5crNjEyM,Amsterdam,"Full HD",Sencor,Android,163.150.207.53 +618,HVeut,Berlin,"Full HD",Sencor,Linux,221.94.21.250 +619,lTv97,Berlin,"Full HD",Sencor,Android,38.117.90.205 +620,EdmLA0cDRj,Warsaw,"Full HD",Samsung,Android,99.45.113.214 +621,8pE47z,Paris,4K,Sencor,Linux,118.237.26.181 +622,EdWjmn,Warsaw,4K,Samsung,Ubuntu,42.232.61.29 +623,4bHDUB6T,Berlin,4K,LG,Android,86.246.182.145 +624,oyG0dkpC4,Berlin,"Full HD",LG,Ubuntu,21.21.181.127 +625,2lO6qX,Paris,4K,Philips,Ubuntu,206.169.159.134 +626,djqRux,Berlin,"Full HD",LG,Android,221.4.13.152 +627,f2sdw,Berlin,4K,LG,Android,58.69.255.228 +628,4B5AQF,Warsaw,"Full HD",Samsung,Ubuntu,216.117.145.24 +629,lfkPeNCbJ,Amsterdam,4K,Sencor,Linux,137.231.142.32 +630,lAZdrNz,Berlin,4K,Philips,Linux,142.191.55.15 +631,72cdTzQw,Warsaw,4K,LG,Android,124.162.255.46 +632,TLDuX1,Warsaw,"Full HD",Sencor,Ubuntu,224.95.243.164 +633,U9Gl7,Amsterdam,4K,LG,Android,32.109.223.163 +634,B0dfmitKHo,Berlin,"Full HD",Sencor,Linux,173.107.6.30 +635,V6BNGPDq,Paris,4K,Sencor,Ubuntu,250.81.74.232 +636,FjbHmfLn,Paris,4K,Sencor,Linux,48.134.183.240 +637,4Ec3rOjMoY,Amsterdam,4K,Philips,Ubuntu,151.183.74.219 +638,r0f2Z3l,Warsaw,"Full HD",Sencor,Ubuntu,201.35.38.155 +639,MKQTIrN,Paris,4K,Philips,Linux,161.231.229.239 +640,uFKOw,Berlin,4K,LG,Android,131.142.17.52 +641,aPvi5,Warsaw,"Full HD",Philips,Linux,155.145.6.184 +642,AyqsMD,Warsaw,4K,LG,Linux,157.50.18.7 +643,92YnPZ7Kuy,Amsterdam,"Full HD",Samsung,Android,239.238.109.109 +644,MfUEn,Amsterdam,"Full HD",Samsung,Android,191.80.147.129 +645,iWu2NHkstv,Amsterdam,"Full HD",Philips,Linux,228.130.84.211 +646,zeR7GOpm,Amsterdam,4K,Philips,Linux,82.249.137.78 +647,0cKQSxIGNY,Amsterdam,"Full HD",Sencor,Ubuntu,172.224.232.212 +648,rzhM3Z,Berlin,"Full HD",Samsung,Android,113.30.59.129 +649,9vy6E8ipI7,Amsterdam,4K,Sencor,Android,218.248.171.98 +650,jAm24UnCw,Amsterdam,4K,Sencor,Linux,116.93.178.69 +651,7WebNScKJ,Amsterdam,"Full HD",Sencor,Ubuntu,38.71.234.117 +652,5spoc,Berlin,"Full HD",Samsung,Ubuntu,172.229.63.139 +653,4FNioA,Amsterdam,4K,LG,Ubuntu,162.242.46.53 +654,eiNMOJ,Paris,"Full HD",LG,Linux,9.37.114.136 +655,7KnWZCp8k,Paris,4K,Samsung,Ubuntu,98.214.4.63 +656,G8KkQ9S5,Berlin,"Full HD",Sencor,Ubuntu,111.236.217.16 +657,ugbwi,Warsaw,"Full HD",Philips,Linux,217.228.120.114 +658,6xCHd,Amsterdam,4K,Samsung,Linux,214.38.211.235 +659,qs8Dlx,Berlin,4K,LG,Linux,123.232.163.150 +660,chkVs2J,Paris,"Full HD",Philips,Ubuntu,25.62.238.5 +661,UbY6Qc,Berlin,4K,Sencor,Android,30.179.18.172 +662,NhcZ3o,Warsaw,4K,Philips,Android,242.226.137.244 +663,z6tgdKy,Amsterdam,"Full HD",Sencor,Linux,252.65.210.21 +664,F2f6bQx8,Berlin,"Full HD",Samsung,Android,231.12.140.138 +665,CbFgX64vx,Paris,4K,Samsung,Ubuntu,250.242.102.44 +666,aY5ETZPN,Warsaw,4K,Philips,Android,6.115.242.121 +667,WqaXPfZT,Amsterdam,"Full HD",Sencor,Ubuntu,104.159.251.164 +668,VZik92aMN,Berlin,4K,Sencor,Android,130.2.114.2 +669,b2FlTfM,Amsterdam,"Full HD",Sencor,Android,156.254.33.180 +670,smxKN,Paris,"Full HD",Philips,Ubuntu,78.232.163.227 +671,ksXVq,Amsterdam,4K,LG,Android,207.205.77.182 +672,ZWUsJFP,Paris,"Full HD",LG,Android,114.91.143.2 +673,MxJWjy7,Berlin,"Full HD",Samsung,Linux,213.90.85.228 +674,0grfPT8,Paris,4K,Sencor,Linux,147.121.70.29 +675,eqFPvCHuBW,Warsaw,"Full HD",Sencor,Linux,116.245.27.149 +676,7qTMDSn0dw,Amsterdam,4K,Samsung,Android,192.204.188.82 +677,cuDSvPZx,Paris,"Full HD",Samsung,Linux,196.83.12.55 +678,Y0iIPX7tl,Amsterdam,4K,Philips,Android,177.13.186.180 +679,t6x0GDqI8,Amsterdam,4K,Philips,Android,65.238.238.52 +680,CBgcm,Paris,"Full HD",LG,Linux,195.140.37.153 +681,XmRtaHiIj,Paris,"Full HD",Sencor,Ubuntu,18.151.208.78 +682,FVYvJINf,Paris,"Full HD",Philips,Ubuntu,249.187.152.62 +683,j4tMhNVAX,Warsaw,4K,LG,Linux,163.172.236.212 +684,e0KV7hG,Warsaw,"Full HD",LG,Linux,98.14.94.150 +685,lkyQ5,Berlin,"Full HD",Samsung,Linux,100.104.238.3 +686,Fm8Go,Amsterdam,"Full HD",Philips,Android,93.230.89.146 +687,BKmYxF9bv,Berlin,4K,Sencor,Ubuntu,243.69.17.184 +688,T53yJ,Berlin,4K,Sencor,Android,131.84.114.25 +689,sr2Ze,Paris,4K,Sencor,Android,152.213.14.15 +690,SEvLuWht9w,Warsaw,"Full HD",Sencor,Linux,111.82.104.223 +691,n4NieBqaO,Warsaw,4K,LG,Ubuntu,45.52.128.233 +692,bWJrnfCO,Paris,"Full HD",Samsung,Linux,86.128.5.238 +693,2CoXiOf,Amsterdam,"Full HD",LG,Linux,22.124.5.106 +694,zcv1glBd7,Warsaw,4K,Sencor,Ubuntu,176.120.76.152 +695,DtSKo,Warsaw,"Full HD",Samsung,Linux,54.50.249.49 +696,z0sGix,Amsterdam,4K,LG,Linux,183.135.185.101 +697,6nG1L7ZAr,Berlin,4K,LG,Linux,253.105.27.211 +698,uO3XbToB9,Warsaw,4K,Philips,Ubuntu,67.221.201.144 +699,GdywC7s,Paris,4K,Philips,Android,186.254.149.226 +700,gTHaeIshw,Amsterdam,4K,Samsung,Linux,142.213.29.81 +701,iTVs2Hq,Berlin,4K,Samsung,Android,22.149.108.223 +702,XxjmTd6,Berlin,"Full HD",LG,Android,179.250.223.202 +703,q1kdlGvZ,Berlin,4K,LG,Android,79.15.31.147 +704,mXFN9yA,Warsaw,"Full HD",Sencor,Linux,152.29.134.115 +705,Ehm4ufWUSz,Warsaw,"Full HD",Sencor,Ubuntu,89.156.56.153 +706,t1UzMmliy,Warsaw,"Full HD",Samsung,Linux,226.59.110.252 +707,78beaNks,Berlin,"Full HD",Sencor,Android,99.217.120.155 +708,rcQ7b,Amsterdam,4K,Philips,Ubuntu,87.238.21.43 +709,LejZkJ,Paris,"Full HD",Philips,Ubuntu,120.76.156.1 +710,zliYf6VJ,Berlin,"Full HD",Samsung,Android,11.250.125.228 +711,UKPgmjFZL,Amsterdam,"Full HD",Sencor,Android,161.196.185.2 +712,F4Pt6bdDZ9,Amsterdam,"Full HD",Philips,Ubuntu,31.65.197.233 +713,7MnAjbtsQ1,Berlin,"Full HD",Philips,Android,205.154.4.17 +714,wCMjTef,Paris,"Full HD",Samsung,Linux,190.200.249.19 +715,wbjIPODFe,Berlin,"Full HD",Philips,Android,33.71.211.10 +716,USejORTWns,Amsterdam,4K,Sencor,Linux,41.91.22.192 +717,oeq4QXa5O,Paris,"Full HD",LG,Linux,218.9.213.63 +718,1ua7LVv2U,Amsterdam,"Full HD",Sencor,Linux,228.62.17.203 +719,KsQpwT,Amsterdam,4K,Sencor,Linux,250.198.130.130 +720,7DfbIHvQw,Paris,"Full HD",Samsung,Android,253.196.249.79 +721,gKWtnleZ2F,Amsterdam,"Full HD",LG,Android,239.148.223.117 +722,kYBFH4bg,Paris,"Full HD",LG,Android,145.42.89.107 +723,ZqilH4zj,Berlin,4K,Samsung,Ubuntu,232.127.167.120 +724,U0vu7QFpfB,Amsterdam,"Full HD",Samsung,Linux,100.162.49.77 +725,JodRHy,Berlin,"Full HD",Sencor,Ubuntu,82.194.215.29 +726,U4MWy,Warsaw,4K,Samsung,Ubuntu,3.41.200.187 +727,ThHNRI,Berlin,4K,LG,Linux,50.48.137.150 +728,M6LBlF,Berlin,"Full HD",Sencor,Linux,118.153.49.134 +729,AGvYF,Berlin,4K,Sencor,Linux,88.90.234.5 +730,rgXHMVFsSb,Warsaw,4K,Sencor,Android,187.139.38.176 +731,hcvVjC2I,Berlin,"Full HD",Sencor,Linux,91.238.192.56 +732,iwp16CM,Warsaw,4K,Samsung,Android,237.85.4.114 +733,x13YkP,Warsaw,4K,Sencor,Linux,232.201.237.124 +734,HkenYVsA,Paris,4K,Samsung,Android,32.224.224.230 +735,fApn2Q,Warsaw,4K,Philips,Ubuntu,151.229.149.135 +736,eAZ5yBXWVI,Paris,4K,Philips,Linux,72.125.78.213 +737,GzSesAuDV,Paris,"Full HD",Sencor,Android,88.138.85.26 +738,G5a1ZbzDO,Warsaw,4K,LG,Linux,74.54.22.146 +739,Ob1QScFd,Berlin,"Full HD",Samsung,Linux,130.153.218.81 +740,PyugC3w,Paris,4K,Sencor,Ubuntu,56.184.126.115 +741,CAEFh2,Warsaw,4K,LG,Ubuntu,131.7.26.160 +742,8qE6g,Paris,"Full HD",Samsung,Android,189.159.139.17 +743,uElqgFH7I,Paris,4K,Philips,Ubuntu,91.70.179.165 +744,FYgPKhqVw0,Paris,4K,Sencor,Ubuntu,37.228.28.248 +745,7xzpH,Paris,"Full HD",Sencor,Linux,47.63.97.226 +746,r8iMVR,Amsterdam,"Full HD",LG,Linux,125.97.96.105 +747,Wb6FmClP,Amsterdam,"Full HD",Sencor,Ubuntu,48.45.2.93 +748,9OwHAy0LRb,Amsterdam,4K,Samsung,Android,66.24.28.137 +749,htHasOJAq,Berlin,"Full HD",Sencor,Ubuntu,195.50.80.72 +750,QnKV6C,Paris,"Full HD",Sencor,Ubuntu,47.223.41.248 +751,SOkCL67v,Amsterdam,"Full HD",Philips,Linux,156.235.83.129 +752,43oECUMa,Berlin,4K,Sencor,Ubuntu,244.136.224.105 +753,QE0Hk1A,Warsaw,"Full HD",Samsung,Android,102.98.151.144 +754,sHvLiCRqN3,Paris,4K,Philips,Ubuntu,45.191.141.218 +755,F5fqoA,Warsaw,4K,Philips,Linux,224.234.113.112 +756,wIvjUXp,Amsterdam,"Full HD",Philips,Ubuntu,117.191.161.234 +757,mZNr8Sqj,Paris,4K,LG,Ubuntu,145.161.195.191 +758,ty4aLOq,Paris,"Full HD",Sencor,Ubuntu,171.178.121.206 +759,ICxBZY,Amsterdam,4K,Philips,Ubuntu,211.228.207.84 +760,axnhWDpHvd,Paris,4K,LG,Linux,204.106.249.170 +761,LSX9v,Amsterdam,4K,LG,Ubuntu,83.183.82.236 +762,TjxzG3,Amsterdam,4K,LG,Linux,143.101.214.220 +763,JHNmC3,Paris,4K,Samsung,Linux,13.235.3.214 +764,jwH5T,Berlin,"Full HD",Philips,Android,43.221.43.98 +765,TfU8OZ95,Paris,4K,Sencor,Android,220.86.28.71 +766,NEY0tT,Warsaw,4K,Philips,Linux,99.83.242.198 +767,Sqej8,Amsterdam,"Full HD",Samsung,Linux,194.11.86.250 +768,KzPuh,Paris,"Full HD",Samsung,Ubuntu,23.109.190.248 +769,ZQaszJ6D,Amsterdam,"Full HD",Sencor,Android,134.43.65.11 +770,SQZuTI,Paris,"Full HD",LG,Ubuntu,84.204.246.75 +771,xI7SW,Berlin,4K,Samsung,Android,135.1.93.109 +772,krfbg02qHe,Warsaw,"Full HD",LG,Android,49.109.235.99 +773,ikCQo0BTY,Amsterdam,"Full HD",Samsung,Ubuntu,156.223.230.102 +774,97pWdi,Amsterdam,"Full HD",Sencor,Android,88.217.41.147 +775,XDYLs,Berlin,"Full HD",Philips,Ubuntu,82.25.101.158 +776,v3s9GlO,Warsaw,4K,Philips,Ubuntu,21.46.22.251 +777,CIwEhSuGr,Paris,4K,Samsung,Ubuntu,253.54.173.154 +778,ryl5xf,Berlin,4K,Sencor,Ubuntu,99.23.13.145 +779,chwCNe7bpG,Berlin,"Full HD",LG,Ubuntu,63.192.139.34 +780,yIVtjgvEz,Warsaw,4K,LG,Ubuntu,211.253.42.222 +781,LSCVRfo,Berlin,4K,Samsung,Linux,20.211.102.177 +782,bxSjmD,Warsaw,4K,LG,Linux,197.237.187.219 +783,xQMs3dw,Warsaw,4K,Samsung,Linux,203.132.106.39 +784,Tq4ib,Berlin,4K,LG,Linux,152.233.164.33 +785,g4wkcV6y,Amsterdam,4K,Philips,Ubuntu,26.24.153.221 +786,SeLUtH,Berlin,4K,Philips,Linux,99.198.245.145 +787,KpIdEU,Berlin,"Full HD",Samsung,Android,45.159.123.105 +788,Xl6toYjnR,Paris,4K,Philips,Ubuntu,39.221.77.224 +789,JPrZAOk,Amsterdam,4K,Sencor,Android,86.85.10.17 +790,BiaTGqV,Warsaw,4K,Samsung,Android,28.45.233.162 +791,t30ewa,Paris,4K,Philips,Android,250.242.17.124 +792,oUSxjntH,Warsaw,"Full HD",LG,Ubuntu,192.101.170.6 +793,mDUba4hnS,Berlin,4K,LG,Android,227.49.147.175 +794,mwAGXN,Berlin,"Full HD",Sencor,Linux,64.64.76.117 +795,o3NA8vu,Paris,"Full HD",Samsung,Ubuntu,88.29.195.142 +796,rPfMcD8k,Amsterdam,"Full HD",Philips,Linux,137.18.192.196 +797,L0yKEBciw,Warsaw,"Full HD",Sencor,Linux,172.222.154.128 +798,dGtpHkyw,Amsterdam,"Full HD",Samsung,Linux,186.111.120.78 +799,NT6wX9ztW,Berlin,4K,LG,Android,34.10.190.1 +800,L8OeaD0,Berlin,"Full HD",Philips,Ubuntu,79.46.161.97 +801,4eREF,Berlin,4K,Samsung,Android,89.100.68.120 +802,H1Fv9P,Paris,4K,Sencor,Android,113.61.101.185 +803,w6LFldskoB,Paris,4K,Philips,Android,215.96.106.30 +804,sJPQE,Paris,4K,Philips,Android,2.36.54.184 +805,7wW2Amru,Berlin,4K,LG,Ubuntu,104.215.218.117 +806,LqYPpD,Amsterdam,"Full HD",Sencor,Ubuntu,238.239.112.245 +807,z6A8vZcY,Warsaw,4K,Philips,Linux,195.69.53.135 +808,9E3azc8,Paris,4K,Samsung,Linux,101.76.180.229 +809,wtpkNr,Warsaw,"Full HD",LG,Linux,237.195.5.150 +810,0WbH7,Berlin,"Full HD",LG,Ubuntu,120.252.157.236 +811,oObr6zMd79,Paris,4K,Philips,Linux,158.146.20.75 +812,ATcare,Paris,4K,LG,Linux,196.56.128.82 +813,zB8FTw,Paris,4K,Philips,Linux,43.243.23.202 +814,SXTICt80,Warsaw,4K,LG,Android,217.79.123.26 +815,f2CpMRd,Paris,"Full HD",Samsung,Ubuntu,237.6.137.6 +816,Nufk8vsTO,Paris,"Full HD",LG,Android,181.10.60.240 +817,NtPuZj,Paris,4K,LG,Ubuntu,169.104.29.186 +818,vx4nM,Warsaw,"Full HD",Samsung,Ubuntu,148.185.39.108 +819,FzCbQj,Amsterdam,4K,Sencor,Linux,123.85.249.144 +820,wEzZJRe,Paris,4K,Sencor,Linux,234.234.36.0 +821,tHvsoy9,Paris,"Full HD",LG,Ubuntu,210.179.71.127 +822,RKb7pQr2,Paris,4K,Philips,Linux,198.44.119.87 +823,q9UI53,Warsaw,"Full HD",Philips,Android,203.45.6.41 +824,pBsyPG,Warsaw,4K,Philips,Android,109.248.34.13 +825,pTzZk4JHlI,Warsaw,"Full HD",Philips,Linux,72.95.68.174 +826,sj8CAU,Berlin,4K,LG,Ubuntu,21.110.50.93 +827,09cuk,Paris,"Full HD",Samsung,Linux,100.164.84.97 +828,7ArYl,Amsterdam,4K,Philips,Android,79.204.145.110 +829,Zu9FIH,Paris,"Full HD",Sencor,Ubuntu,138.95.131.97 +830,XJT5R9I,Paris,4K,Samsung,Android,131.248.191.58 +831,xqhDWY7H,Amsterdam,4K,Philips,Linux,215.97.236.28 +832,KVFdnre2f,Amsterdam,"Full HD",Samsung,Android,114.71.192.231 +833,O8mNniVd,Amsterdam,"Full HD",Philips,Linux,217.127.124.63 +834,jzTtu1S,Berlin,"Full HD",LG,Android,73.45.94.26 +835,AOzqE,Amsterdam,4K,Samsung,Ubuntu,30.209.247.73 +836,Ivbxrth7nc,Paris,4K,Philips,Android,113.92.16.13 +837,1vkxTUH,Berlin,"Full HD",LG,Linux,99.113.221.173 +838,GKNX7FWr5C,Warsaw,4K,Philips,Linux,179.231.116.241 +839,qEi27x,Amsterdam,"Full HD",LG,Ubuntu,57.126.48.87 +840,52RuI,Paris,"Full HD",LG,Android,173.222.247.186 +841,Hw4ZmcLi,Amsterdam,"Full HD",LG,Ubuntu,75.178.84.236 +842,2uhWL9,Warsaw,4K,Philips,Ubuntu,72.242.25.143 +843,7kOjGs5,Berlin,4K,Samsung,Android,98.101.218.105 +844,QKAOvS6pB,Berlin,"Full HD",Sencor,Linux,141.79.250.38 +845,dJRFo,Warsaw,"Full HD",LG,Ubuntu,50.236.40.41 +846,srIv4xA,Amsterdam,4K,Philips,Android,12.120.16.246 +847,QzMtIrV,Paris,"Full HD",Samsung,Linux,198.48.140.145 +848,WaMeKkQ9uF,Amsterdam,4K,LG,Android,201.215.196.238 +849,3yrpZRSqs,Paris,4K,Sencor,Ubuntu,143.113.127.2 +850,l9pK17X,Warsaw,4K,Samsung,Ubuntu,95.126.75.10 +851,WLOka,Warsaw,"Full HD",Samsung,Ubuntu,237.235.185.82 +852,9uHJklI4,Paris,"Full HD",Samsung,Linux,214.113.197.168 +853,qpN5iKgbe,Paris,4K,LG,Linux,108.0.233.147 +854,zoF6HXhBy,Paris,"Full HD",Philips,Linux,40.161.153.53 +855,jgeJVfw,Warsaw,"Full HD",Sencor,Linux,137.191.200.192 +856,Du9q3H,Amsterdam,"Full HD",Sencor,Android,22.141.217.163 +857,79PXKoB,Paris,4K,Philips,Android,6.90.249.187 +858,30VgIMjhG,Amsterdam,"Full HD",LG,Android,167.115.21.6 +859,lkYHeg,Amsterdam,"Full HD",LG,Ubuntu,233.97.74.132 +860,cNGsI,Paris,4K,Sencor,Linux,172.30.174.97 +861,v8SI3L,Berlin,4K,Sencor,Linux,238.102.240.147 +862,L2yE0vhd,Paris,"Full HD",LG,Android,73.226.70.249 +863,Ps4Z2K,Paris,"Full HD",LG,Linux,155.189.111.52 +864,xXB7EfuqPK,Warsaw,"Full HD",LG,Ubuntu,49.187.103.0 +865,9juMfW5,Warsaw,"Full HD",Sencor,Linux,40.179.17.50 +866,CGE1Yuj6,Warsaw,"Full HD",Sencor,Ubuntu,124.118.246.176 +867,R6nr1d9i,Warsaw,"Full HD",Philips,Android,236.191.16.101 +868,VWq6p07tnd,Berlin,"Full HD",Philips,Linux,137.26.1.29 +869,EmAUKvH5,Paris,4K,Sencor,Ubuntu,249.103.179.224 +870,LbSXm6Ug,Amsterdam,4K,Sencor,Android,82.181.115.22 +871,jGFHpSa5v,Berlin,4K,Sencor,Android,182.120.211.186 +872,Q4eMcVl,Berlin,"Full HD",Philips,Ubuntu,203.88.135.29 +873,MOYJwv3sn,Warsaw,4K,Philips,Ubuntu,125.29.38.170 +874,OIAPNVDT,Paris,4K,Sencor,Android,122.0.123.107 +875,FmDr4TBajc,Amsterdam,"Full HD",LG,Ubuntu,127.29.229.230 +876,9oVOdne,Amsterdam,4K,Philips,Android,114.61.223.255 +877,y3bieAOhID,Amsterdam,"Full HD",Samsung,Linux,135.38.143.173 +878,G1E6at,Berlin,4K,Philips,Linux,71.69.90.245 +879,7XLBr,Berlin,"Full HD",Sencor,Linux,74.106.206.42 +880,702nAB,Warsaw,"Full HD",Samsung,Android,158.36.141.3 +881,4aemS8,Amsterdam,4K,LG,Android,206.1.231.96 +882,1BMury4kio,Amsterdam,4K,LG,Android,88.142.179.116 +883,86Xt15VgMs,Paris,"Full HD",Philips,Ubuntu,62.51.70.35 +884,fDgrylb,Berlin,4K,LG,Ubuntu,98.169.8.32 +885,0SmzIP3U,Amsterdam,"Full HD",Samsung,Ubuntu,26.73.253.249 +886,u9M3nRFpGK,Berlin,4K,Philips,Ubuntu,252.214.100.254 +887,JkgReHbv,Paris,4K,LG,Ubuntu,221.181.130.25 +888,248Z7ND,Paris,"Full HD",LG,Android,87.51.161.99 +889,gFqvE0AoOZ,Paris,"Full HD",LG,Android,178.24.227.183 +890,Wmaq489fH2,Warsaw,4K,LG,Linux,159.169.187.226 +891,MmwrV,Paris,4K,LG,Ubuntu,208.161.5.23 +892,C2Ho3,Warsaw,"Full HD",Sencor,Ubuntu,119.253.144.175 +893,rKU40NiBCM,Berlin,4K,Philips,Android,46.205.151.65 +894,tEhMj,Amsterdam,"Full HD",LG,Android,123.8.36.66 +895,KgGTW0EDum,Paris,4K,Philips,Android,5.142.18.238 +896,6w7E8c,Amsterdam,4K,Sencor,Linux,54.158.248.233 +897,4JeTO1mw,Paris,"Full HD",Sencor,Android,46.187.90.141 +898,iXLqajOW,Warsaw,4K,Samsung,Ubuntu,39.40.240.10 +899,TZNXmnWq8M,Warsaw,"Full HD",Sencor,Android,26.234.211.184 +900,iubZjtM7Px,Amsterdam,4K,Samsung,Linux,244.113.77.239 +901,g0cKC8,Warsaw,"Full HD",Philips,Ubuntu,161.33.227.182 +902,o21DFI,Warsaw,"Full HD",LG,Linux,238.236.239.104 +903,vJItci,Amsterdam,4K,LG,Android,253.188.9.45 +904,nh18X,Berlin,4K,LG,Android,238.224.40.194 +905,0KNjqh,Paris,"Full HD",Sencor,Ubuntu,166.94.48.193 +906,X5rgS,Warsaw,4K,Samsung,Ubuntu,168.182.120.24 +907,PRU5a,Warsaw,"Full HD",Samsung,Ubuntu,193.158.54.12 +908,KQqm9Xv,Berlin,"Full HD",Sencor,Ubuntu,223.56.30.162 +909,bu5Ny,Paris,"Full HD",Samsung,Linux,251.118.190.224 +910,wu2BTOYC,Paris,"Full HD",Philips,Android,206.161.4.77 +911,u8AZqx,Berlin,4K,Sencor,Android,179.71.202.41 +912,6IEGFAOJ,Amsterdam,"Full HD",LG,Android,252.153.67.230 +913,Z9xdo,Berlin,4K,LG,Linux,88.91.24.236 +914,q8nmrwQ3Sh,Paris,4K,LG,Android,199.34.17.7 +915,uGC96fTVW,Berlin,"Full HD",Sencor,Linux,147.210.113.137 +916,MyYfG,Paris,"Full HD",LG,Ubuntu,132.130.239.103 +917,tO2MvJ,Warsaw,4K,LG,Android,236.105.102.98 +918,TxtcaKIC8B,Warsaw,4K,Philips,Ubuntu,80.6.163.18 +919,fqmzdKA,Berlin,"Full HD",Sencor,Ubuntu,142.225.46.134 +920,zUjgf4x,Warsaw,4K,Sencor,Android,206.160.148.196 +921,IcL1THwP,Paris,4K,Samsung,Linux,211.226.251.151 +922,ADtVBSluQI,Paris,"Full HD",Samsung,Android,230.119.108.208 +923,MSzlxbhVB,Amsterdam,"Full HD",Samsung,Android,68.213.65.63 +924,WphD3cQAtG,Berlin,"Full HD",Samsung,Linux,205.238.165.18 +925,phS4cINO,Amsterdam,"Full HD",Sencor,Ubuntu,115.9.195.182 +926,B9b3HUwr,Warsaw,"Full HD",Philips,Ubuntu,14.86.51.238 +927,2IRWgQK,Amsterdam,"Full HD",LG,Ubuntu,174.102.172.152 +928,7AsPW,Paris,4K,Samsung,Android,198.245.195.88 +929,1bXhB835q4,Amsterdam,4K,Samsung,Android,153.23.1.135 +930,LpWxv9S,Amsterdam,4K,Philips,Android,24.1.94.64 +931,rFdnlJh,Amsterdam,"Full HD",Philips,Linux,96.95.75.182 +932,UERXdLD0,Amsterdam,"Full HD",Sencor,Linux,33.216.154.47 +933,FJ7rpj,Warsaw,"Full HD",Sencor,Ubuntu,118.68.45.59 +934,6lXVDUNq,Paris,"Full HD",Philips,Linux,244.110.214.63 +935,KR4lg9vVc1,Amsterdam,4K,Samsung,Ubuntu,183.19.180.5 +936,B4HPGEOSV,Amsterdam,"Full HD",Samsung,Ubuntu,172.102.232.176 +937,fCbarT,Berlin,4K,Samsung,Linux,35.229.27.192 +938,buSqi,Warsaw,4K,Philips,Android,138.7.200.136 +939,e8OoN2Vv,Warsaw,"Full HD",Sencor,Ubuntu,40.25.64.85 +940,g8LzxXF,Amsterdam,4K,Samsung,Linux,59.222.206.149 +941,mM5f76i4,Paris,4K,Sencor,Linux,1.178.231.233 +942,XmjfGE,Warsaw,4K,LG,Android,201.72.237.243 +943,5iHSp2s,Paris,4K,Philips,Linux,2.10.162.172 +944,ae0VDNz9,Berlin,4K,Samsung,Ubuntu,223.183.40.176 +945,FVMJx,Warsaw,"Full HD",Sencor,Linux,47.145.178.11 +946,Fq6JhHr,Amsterdam,"Full HD",Sencor,Android,200.233.44.96 +947,UeHuAdW,Berlin,"Full HD",LG,Linux,161.12.249.112 +948,qyTFUY1C,Berlin,4K,LG,Android,115.72.74.255 +949,R2U8Jgr,Berlin,4K,Philips,Android,76.18.231.18 +950,ifK2eOTB,Amsterdam,4K,Philips,Linux,176.214.140.14 +951,sFngc1W87r,Amsterdam,4K,Samsung,Ubuntu,44.31.45.243 +952,sr3tmZAzx,Amsterdam,4K,Samsung,Linux,57.123.200.194 +953,xJXASw3f1Z,Amsterdam,4K,Philips,Ubuntu,192.252.91.2 +954,jWFymJA6L,Warsaw,"Full HD",LG,Ubuntu,75.243.137.156 +955,kwyZJ,Amsterdam,4K,LG,Android,232.144.7.245 +956,Exris7l2j,Amsterdam,4K,LG,Android,151.222.237.64 +957,rDneL,Warsaw,4K,Sencor,Ubuntu,87.115.197.138 +958,8dOTB9shYV,Berlin,4K,LG,Linux,27.215.143.106 +959,GjqS3pE,Paris,"Full HD",Samsung,Android,45.66.240.113 +960,2c5GKE8QpO,Paris,"Full HD",Samsung,Ubuntu,90.127.52.40 +961,bRMy7uvQLk,Warsaw,4K,LG,Android,101.146.14.2 +962,rPuImDe,Warsaw,4K,Sencor,Linux,226.107.194.92 +963,wveQBpHkz,Amsterdam,4K,Samsung,Android,148.35.222.239 +964,eKbLyhFzWZ,Berlin,"Full HD",Philips,Android,246.32.42.212 +965,H8meJt1kC6,Amsterdam,4K,Philips,Ubuntu,199.165.145.18 +966,oMglzb6tHA,Amsterdam,4K,Samsung,Ubuntu,72.146.91.13 +967,NXowGTc,Warsaw,4K,Sencor,Ubuntu,110.196.100.99 +968,WuMCI,Paris,"Full HD",Philips,Ubuntu,62.112.215.194 +969,6SpVLC90,Warsaw,"Full HD",LG,Linux,230.167.3.125 +970,Gu27aU0Cph,Berlin,4K,LG,Android,158.49.120.197 +971,9sdAiE2Qr,Amsterdam,4K,LG,Android,103.25.137.113 +972,MJ0FLHvtd,Paris,4K,Sencor,Ubuntu,250.135.10.89 +973,FteznrkU9,Paris,"Full HD",LG,Android,38.170.99.72 +974,r8qgO9PK,Paris,4K,Philips,Linux,240.37.204.158 +975,6viKthMqUx,Warsaw,"Full HD",Philips,Ubuntu,107.234.213.145 +976,h83fqMs,Warsaw,4K,Samsung,Android,38.36.78.7 +977,Nz1OADBglX,Warsaw,"Full HD",LG,Linux,206.202.14.215 +978,BhQ8P9fz,Paris,"Full HD",LG,Android,2.6.177.51 +979,sYxtAFMJIg,Berlin,4K,Philips,Linux,118.216.16.142 +980,bEwUsOt,Paris,4K,LG,Linux,185.112.230.217 +981,7S29M,Warsaw,4K,Sencor,Linux,125.33.243.15 +982,dQCf9,Paris,"Full HD",Sencor,Linux,15.242.182.206 +983,npL2o1T,Amsterdam,4K,LG,Android,89.201.167.197 +984,gJqkj,Berlin,"Full HD",Sencor,Ubuntu,125.208.64.102 +985,EuBMNeAC9X,Berlin,4K,Samsung,Android,242.2.63.67 +986,G82p7,Amsterdam,4K,Samsung,Ubuntu,115.182.167.125 +987,w9ITVp,Warsaw,4K,LG,Ubuntu,5.0.213.32 +988,djbmy,Paris,4K,Samsung,Android,22.185.242.82 +989,nkymRKcs,Amsterdam,"Full HD",Philips,Linux,36.89.91.208 +990,P0wSd,Amsterdam,4K,Philips,Linux,165.250.104.188 +991,wWlQt,Berlin,4K,Sencor,Android,104.183.42.205 +992,fU2JL8n,Paris,4K,Sencor,Android,108.195.235.77 +993,MSnxFkibZQ,Warsaw,4K,Samsung,Ubuntu,148.118.66.153 +994,7gQIvS,Berlin,4K,LG,Android,121.200.155.252 +995,2JkVKe4E,Warsaw,4K,LG,Linux,21.66.76.229 +996,lRikH,Paris,"Full HD",Philips,Android,175.139.175.102 +997,9pU1ltr,Warsaw,"Full HD",Sencor,Android,14.208.126.165 +998,ISretQoWjF,Paris,"Full HD",Sencor,Ubuntu,25.50.144.252 +999,3GMSJ,Amsterdam,4K,Philips,Android,208.63.173.126 +1000,jVcRb,Amsterdam,4K,Philips,Linux,193.149.160.56 +1001,v2DwGYI3y,Paris,4K,LG,Linux,135.200.203.47 +1002,fZIb4,Paris,4K,LG,Ubuntu,71.136.214.156 +1003,iVyIEMUYZc,Berlin,4K,Samsung,Linux,61.65.247.10 +1004,vPN1b,Warsaw,4K,LG,Ubuntu,136.115.205.163 +1005,QixyOrM4,Amsterdam,4K,Philips,Android,218.161.85.42 +1006,Y8myM9ntiz,Paris,"Full HD",LG,Ubuntu,28.91.115.246 +1007,AHOgCQnf,Berlin,"Full HD",LG,Ubuntu,32.26.203.210 +1008,fdRPuo7Se,Warsaw,4K,LG,Android,83.175.192.68 +1009,sRoMDBA2,Paris,"Full HD",LG,Ubuntu,168.140.119.34 +1010,TUt2qB,Berlin,"Full HD",Samsung,Linux,51.100.169.180 +1011,GUywZW,Paris,4K,Samsung,Linux,94.142.220.39 +1012,ApHfn0N,Paris,4K,Sencor,Linux,28.6.143.238 +1013,A9YszZH0q,Warsaw,4K,Samsung,Linux,140.4.135.90 +1014,uyfd3c1,Warsaw,"Full HD",Philips,Ubuntu,178.170.32.140 +1015,kmagi,Amsterdam,4K,Samsung,Android,174.204.43.180 +1016,xI32T,Amsterdam,4K,Samsung,Ubuntu,14.223.211.233 +1017,sd7T5,Berlin,"Full HD",Samsung,Linux,255.101.106.8 +1018,cRgl78L0,Berlin,4K,Sencor,Android,122.162.133.159 +1019,qTukm5xv,Amsterdam,4K,LG,Android,238.226.10.188 +1020,0Q4IXaM,Berlin,"Full HD",Philips,Ubuntu,189.81.62.208 +1021,wkaE0S79Af,Paris,"Full HD",LG,Linux,204.172.124.126 +1022,kRFAKiq7py,Warsaw,"Full HD",Sencor,Ubuntu,67.31.67.165 +1023,C7rNT,Paris,4K,LG,Linux,23.186.73.91 +1024,ZuqP4,Berlin,4K,LG,Linux,121.204.82.81 +1025,XOrSWBi,Paris,"Full HD",LG,Android,3.220.197.126 +1026,onBRSt,Warsaw,4K,Philips,Ubuntu,117.187.52.218 +1027,bOThI3H,Warsaw,4K,LG,Android,240.108.213.215 +1028,ja02HqMkP,Warsaw,4K,LG,Ubuntu,241.159.15.38 +1029,wZhCSQ81,Amsterdam,"Full HD",Sencor,Linux,224.129.175.42 +1030,rEsjX,Paris,4K,Sencor,Ubuntu,9.45.86.242 +1031,NyW8rh,Warsaw,"Full HD",Philips,Ubuntu,89.219.166.4 +1032,bQUgzo3m,Berlin,4K,LG,Android,20.110.123.91 +1033,7hJ2THX,Paris,4K,Samsung,Linux,254.22.153.57 +1034,ETaROvV,Berlin,4K,LG,Ubuntu,203.65.251.116 +1035,mV4DQv,Amsterdam,"Full HD",Philips,Linux,121.150.41.233 +1036,qkrDasMZ38,Berlin,"Full HD",Sencor,Linux,51.33.166.252 +1037,Gni1QX9q8,Warsaw,4K,LG,Ubuntu,55.11.152.206 +1038,TWJIL,Paris,"Full HD",Sencor,Linux,244.55.79.77 +1039,BnIrh7lGZ6,Berlin,"Full HD",Sencor,Linux,32.228.227.9 +1040,zgGfPh,Paris,"Full HD",Sencor,Ubuntu,75.226.32.85 +1041,90b7A,Berlin,"Full HD",Sencor,Android,138.227.48.228 +1042,9MLba1gc7,Warsaw,"Full HD",Samsung,Android,202.82.48.136 +1043,luRDr,Paris,"Full HD",Samsung,Ubuntu,66.254.42.93 +1044,QWZdyA4ea,Warsaw,4K,Samsung,Ubuntu,115.155.79.67 +1045,3rtO2uU,Amsterdam,4K,LG,Android,141.153.202.120 +1046,QLK17H4,Amsterdam,4K,Sencor,Linux,38.82.102.52 +1047,SBCNxaf5u,Berlin,4K,Sencor,Linux,221.252.252.179 +1048,yc5l1euJ,Paris,"Full HD",Sencor,Android,60.225.3.167 +1049,I5Uun,Amsterdam,4K,Sencor,Android,216.217.95.96 +1050,inE9R0p63,Paris,4K,Sencor,Ubuntu,45.7.4.127 +1051,4T6qP,Paris,4K,Sencor,Ubuntu,80.145.96.154 +1052,ykndxEM9Sr,Berlin,4K,Philips,Android,54.136.154.27 +1053,a9vdkP,Berlin,4K,Philips,Linux,230.120.193.189 +1054,O9QMNm,Paris,4K,Sencor,Linux,107.71.8.92 +1055,OfkcW,Berlin,"Full HD",LG,Linux,194.28.174.140 +1056,4OSKXuG1,Paris,"Full HD",Samsung,Ubuntu,188.214.132.241 +1057,OPFylLa,Warsaw,4K,LG,Android,67.79.245.9 +1058,TPz9pusAb,Warsaw,"Full HD",Philips,Ubuntu,182.84.18.112 +1059,pb9BzXnvw,Warsaw,4K,Sencor,Android,96.207.170.194 +1060,gsqT9G,Warsaw,"Full HD",Philips,Android,153.60.199.226 +1061,amKXEGkJD,Warsaw,4K,Sencor,Android,240.104.244.184 +1062,0R6Uh,Paris,"Full HD",Samsung,Linux,36.106.229.226 +1063,Uvzpjw,Amsterdam,"Full HD",Philips,Ubuntu,89.212.138.33 +1064,vdrZP2EVHw,Amsterdam,4K,Sencor,Android,167.169.57.149 +1065,ONq2V,Warsaw,4K,LG,Ubuntu,103.84.215.71 +1066,D6amYJE2,Berlin,"Full HD",Sencor,Android,136.36.90.165 +1067,ACzExv0,Paris,4K,Sencor,Android,90.88.138.202 +1068,vfyo9b,Warsaw,"Full HD",Philips,Linux,122.107.42.225 +1069,KUFGdulz,Warsaw,"Full HD",Sencor,Ubuntu,80.22.62.163 +1070,I17J3tXR,Berlin,4K,Sencor,Android,249.92.35.76 +1071,mfRw0,Berlin,"Full HD",Sencor,Linux,199.141.160.234 +1072,wyqSKX,Paris,4K,Samsung,Ubuntu,198.156.183.31 +1073,RvxVdyZPuO,Paris,"Full HD",Sencor,Ubuntu,70.97.72.245 +1074,4cG5K3nw,Berlin,"Full HD",Samsung,Android,222.222.98.140 +1075,TpYHOt,Amsterdam,"Full HD",Sencor,Ubuntu,234.112.202.122 +1076,8hrECQR,Warsaw,"Full HD",Samsung,Ubuntu,69.11.237.202 +1077,Pn5eD,Warsaw,"Full HD",Philips,Ubuntu,217.235.37.145 +1078,KAgJD,Warsaw,4K,Samsung,Android,133.168.224.20 +1079,crGpoI8VA,Paris,4K,LG,Android,68.123.164.65 +1080,1gmZOdWpvK,Amsterdam,"Full HD",LG,Android,194.51.117.8 +1081,imdrtce7p,Berlin,"Full HD",Philips,Linux,188.239.186.57 +1082,lPuAdHFJ,Berlin,4K,Sencor,Ubuntu,13.76.61.248 +1083,oc09OU,Berlin,"Full HD",LG,Ubuntu,100.161.110.132 +1084,nP4TBag1U,Amsterdam,4K,Sencor,Linux,187.9.138.110 +1085,YF2ijE,Warsaw,4K,Sencor,Linux,163.32.195.43 +1086,LfzDHbJY5,Warsaw,"Full HD",Sencor,Ubuntu,70.185.220.152 +1087,sIuP6JKCck,Amsterdam,4K,Samsung,Android,177.96.102.39 +1088,xMWE7,Berlin,4K,Sencor,Ubuntu,114.31.54.60 +1089,WPo0R,Warsaw,4K,Philips,Android,254.219.250.195 +1090,CIqi1Lz9,Paris,4K,Samsung,Ubuntu,133.209.220.89 +1091,f25GW,Warsaw,4K,Samsung,Ubuntu,0.229.96.72 +1092,X7BdcfsRv,Paris,4K,Sencor,Android,89.13.0.41 +1093,iI4FEX3,Warsaw,4K,Philips,Linux,170.232.80.101 +1094,FIs2hq53y,Warsaw,"Full HD",Philips,Linux,2.3.87.29 +1095,7vOSIuE,Berlin,4K,Samsung,Android,189.82.99.104 +1096,t18Qh,Warsaw,"Full HD",Samsung,Linux,211.120.182.80 +1097,Ig9cFZEC,Berlin,4K,Samsung,Linux,214.5.54.169 +1098,4o29gGQKmh,Warsaw,4K,Samsung,Ubuntu,37.36.78.92 +1099,wAOqxQa,Warsaw,"Full HD",LG,Linux,96.123.194.231 +1100,lkLuJs,Warsaw,"Full HD",Samsung,Ubuntu,9.240.141.52 +1101,fuJ0DHcCS,Amsterdam,4K,Sencor,Linux,11.132.181.192 +1102,pfXAVvmc,Warsaw,4K,Philips,Android,80.190.143.132 +1103,4ocznZM,Warsaw,"Full HD",Sencor,Ubuntu,190.31.34.78 +1104,OPb7aZ8tp,Amsterdam,4K,LG,Linux,73.229.57.59 +1105,tIkxb,Amsterdam,"Full HD",Philips,Ubuntu,58.192.233.3 +1106,wBnJd,Amsterdam,4K,Philips,Linux,190.41.73.247 +1107,CZGW0P,Berlin,4K,Sencor,Linux,83.214.176.1 +1108,xXhu8,Amsterdam,"Full HD",Philips,Ubuntu,25.236.225.207 +1109,SYngq,Amsterdam,"Full HD",LG,Ubuntu,162.116.127.224 +1110,X1U5dGT,Warsaw,4K,LG,Linux,126.219.242.173 +1111,ep0uRdy1,Amsterdam,4K,Philips,Linux,48.240.101.89 +1112,fzjVsv1a,Amsterdam,"Full HD",Samsung,Ubuntu,153.76.15.19 +1113,6Q5yS3Uw,Warsaw,4K,Philips,Android,48.251.96.206 +1114,3weijf5,Amsterdam,"Full HD",Philips,Linux,54.124.255.29 +1115,SQNIat,Warsaw,4K,Sencor,Ubuntu,181.184.175.255 +1116,uFomcBOv,Berlin,4K,Samsung,Ubuntu,218.42.212.43 +1117,U5F60,Warsaw,"Full HD",Sencor,Linux,49.66.130.61 +1118,cJnvhoQX,Warsaw,"Full HD",Philips,Ubuntu,198.12.153.120 +1119,HXjNfWvJoZ,Berlin,4K,Philips,Linux,31.157.92.219 +1120,9one6gC,Warsaw,"Full HD",Philips,Ubuntu,72.160.150.130 +1121,jX0VR,Warsaw,"Full HD",Samsung,Ubuntu,172.210.5.165 +1122,iV6uxO,Paris,"Full HD",Sencor,Ubuntu,232.89.248.86 +1123,JGBev56,Amsterdam,4K,Samsung,Android,14.142.107.254 +1124,NYBWmi,Warsaw,"Full HD",LG,Android,55.131.62.99 +1125,GHK95o,Warsaw,4K,LG,Android,176.202.225.171 +1126,ewjMLX5H,Warsaw,"Full HD",LG,Ubuntu,105.61.156.136 +1127,vaocQS6YM,Amsterdam,"Full HD",Sencor,Linux,59.93.158.153 +1128,oIkOijXeTg,Amsterdam,"Full HD",LG,Ubuntu,189.120.182.25 +1129,X6M1WPJ8pB,Warsaw,4K,Sencor,Ubuntu,70.138.51.103 +1130,9CapLIR4S,Paris,"Full HD",Philips,Linux,195.188.123.194 +1131,IhNWna6,Amsterdam,"Full HD",LG,Android,121.76.224.180 +1132,PRyo5UV4O,Berlin,"Full HD",Philips,Linux,153.197.174.61 +1133,gjSdhaN,Warsaw,"Full HD",Sencor,Ubuntu,30.18.230.113 +1134,j4VuPlBx,Berlin,"Full HD",LG,Android,198.28.30.217 +1135,iungKr,Amsterdam,"Full HD",Sencor,Ubuntu,117.55.47.105 +1136,uTRp6,Warsaw,4K,Samsung,Linux,90.118.211.77 +1137,6ZwYj4kv,Berlin,"Full HD",LG,Linux,36.190.137.204 +1138,vMCthrNm,Paris,"Full HD",Samsung,Linux,152.1.105.245 +1139,abejRw,Berlin,4K,Samsung,Android,223.239.103.52 +1140,cKZiu4rk9W,Amsterdam,"Full HD",LG,Ubuntu,145.192.1.147 +1141,VyTXipn4,Paris,"Full HD",LG,Android,144.70.169.219 +1142,QzqhGAN3L,Warsaw,4K,Philips,Android,38.215.16.199 +1143,jJnsPrht,Berlin,4K,Philips,Linux,137.93.91.223 +1144,JxTMgyi,Warsaw,"Full HD",Sencor,Linux,124.27.242.51 +1145,VUQDLEd,Paris,4K,Philips,Ubuntu,3.42.15.35 +1146,ANyeKTI,Paris,"Full HD",Sencor,Android,211.24.229.81 +1147,bdrhqyDAY,Warsaw,4K,Sencor,Android,188.178.122.52 +1148,7JudPD,Warsaw,4K,Philips,Android,188.12.225.132 +1149,k31wF5Ghye,Amsterdam,"Full HD",Sencor,Linux,133.164.191.165 +1150,lQ8smCc,Paris,"Full HD",Samsung,Android,218.224.129.254 +1151,pDmLMg,Warsaw,4K,Sencor,Linux,207.158.149.147 +1152,70RP1cMa,Berlin,"Full HD",Sencor,Android,41.104.208.153 +1153,OfCrK45Q,Warsaw,"Full HD",Samsung,Android,81.86.92.84 +1154,cPbt7u,Paris,4K,Sencor,Linux,160.104.186.97 +1155,61AVR,Warsaw,4K,Samsung,Android,24.115.87.254 +1156,qLwxCQBDt,Amsterdam,"Full HD",Samsung,Linux,91.66.198.5 +1157,nbx7BiIu,Paris,4K,Sencor,Ubuntu,175.51.188.227 +1158,3CpJPjD0M,Paris,"Full HD",Philips,Android,94.39.35.4 +1159,DcM1m,Amsterdam,"Full HD",Philips,Linux,1.56.249.140 +1160,wikrqC,Berlin,4K,Samsung,Linux,116.162.239.150 +1161,jrMEcT,Warsaw,4K,Sencor,Linux,202.129.174.31 +1162,ZDzH7,Warsaw,"Full HD",Sencor,Android,185.83.161.96 +1163,3dZMnK,Paris,4K,Samsung,Ubuntu,63.24.233.39 +1164,XV5NIvRDL,Berlin,"Full HD",LG,Linux,160.246.245.77 +1165,FOT9pg,Paris,"Full HD",Sencor,Android,141.213.138.252 +1166,rS1JaNsE,Warsaw,"Full HD",Samsung,Android,156.68.173.66 +1167,0J1sVYtw,Amsterdam,"Full HD",Philips,Ubuntu,195.189.255.88 +1168,ZLHQURY,Berlin,"Full HD",LG,Linux,61.100.113.95 +1169,BY56lh8eq,Berlin,4K,Philips,Android,26.229.98.248 +1170,qgJ7Hj2p0,Paris,"Full HD",Samsung,Ubuntu,161.160.51.224 +1171,IoL8aGS,Amsterdam,"Full HD",LG,Ubuntu,221.90.66.205 +1172,vhlVir,Berlin,4K,Philips,Ubuntu,150.204.0.116 +1173,XshIozcPZb,Amsterdam,4K,Philips,Android,149.84.206.139 +1174,FzrCQh,Amsterdam,"Full HD",Samsung,Android,246.169.234.116 +1175,x3TaQCkV,Warsaw,"Full HD",Samsung,Linux,165.172.72.247 +1176,brRDtIkh,Berlin,"Full HD",Sencor,Linux,77.198.169.246 +1177,PdxstLj,Amsterdam,"Full HD",Samsung,Linux,53.149.183.92 +1178,ogwXBae,Paris,"Full HD",LG,Android,7.251.107.68 +1179,gKlIzoCbY7,Warsaw,"Full HD",Samsung,Linux,152.63.7.223 +1180,Fk8AKuI,Paris,4K,Samsung,Android,233.155.188.239 +1181,wpV6rF8,Amsterdam,"Full HD",Philips,Ubuntu,171.200.251.139 +1182,ozeF69,Amsterdam,4K,LG,Ubuntu,18.221.26.102 +1183,W3mFzp6oIs,Paris,4K,Sencor,Ubuntu,77.248.190.126 +1184,8dVy0woCI,Berlin,4K,Samsung,Android,56.72.117.232 +1185,xs69ypwLY,Paris,4K,Samsung,Ubuntu,67.172.32.195 +1186,Q9U7X,Berlin,"Full HD",Samsung,Ubuntu,98.166.45.127 +1187,PzjAC,Warsaw,4K,LG,Ubuntu,193.52.53.159 +1188,D5EQR1vA,Berlin,"Full HD",LG,Android,246.16.8.193 +1189,dpBHbW,Warsaw,"Full HD",Samsung,Linux,137.105.5.225 +1190,GRPSx,Amsterdam,4K,Samsung,Ubuntu,174.114.40.44 +1191,L9PrREs1zq,Berlin,4K,LG,Ubuntu,191.145.38.94 +1192,y3EZx16MN,Berlin,"Full HD",Philips,Android,242.216.217.88 +1193,1gbHiGQJw,Amsterdam,"Full HD",LG,Android,244.136.225.46 +1194,OVZhS1,Paris,"Full HD",Sencor,Android,83.69.219.123 +1195,sBCr9Fqt,Amsterdam,"Full HD",Sencor,Linux,22.202.18.220 +1196,ptU8Gm3XKo,Paris,"Full HD",Philips,Linux,228.184.21.21 +1197,mlWKnTc,Berlin,"Full HD",Samsung,Android,56.116.123.100 +1198,VjxSbs,Berlin,"Full HD",Philips,Ubuntu,29.18.201.146 +1199,tnVEkRC,Paris,4K,Sencor,Linux,21.212.50.177 +1200,6otKJn,Paris,"Full HD",Samsung,Linux,133.74.136.179 +1201,XpvLm64,Warsaw,4K,LG,Linux,14.71.63.250 +1202,R2v9Cq5wS,Amsterdam,4K,Sencor,Android,131.159.29.240 +1203,s1Ky0ncx,Amsterdam,4K,Philips,Android,183.130.208.135 +1204,BRDp17eTot,Berlin,"Full HD",Philips,Ubuntu,8.162.32.98 +1205,u1qgApO,Amsterdam,4K,Samsung,Linux,16.67.201.53 +1206,iS6xoaWK9,Paris,"Full HD",Sencor,Linux,92.37.156.178 +1207,UcZTRlDv,Amsterdam,4K,LG,Ubuntu,204.202.188.100 +1208,MTbn9KQ,Warsaw,4K,LG,Ubuntu,33.197.233.186 +1209,RNnTLf,Berlin,4K,LG,Android,139.105.157.178 +1210,jG94pl,Amsterdam,4K,LG,Linux,158.52.147.138 +1211,0B4P5WGM,Warsaw,4K,Sencor,Linux,10.87.207.67 +1212,8p2oUba5,Berlin,"Full HD",Sencor,Linux,153.150.247.216 +1213,qM2uIpdY,Berlin,4K,Sencor,Ubuntu,187.131.9.52 +1214,10vzi,Warsaw,"Full HD",Samsung,Android,128.82.116.184 +1215,X2kSg,Paris,4K,Philips,Linux,203.246.70.11 +1216,64fCmIo,Amsterdam,"Full HD",Samsung,Linux,197.252.155.35 +1217,9rngb,Amsterdam,"Full HD",Sencor,Ubuntu,164.152.93.254 +1218,cgRwoPi,Amsterdam,4K,Samsung,Ubuntu,231.57.105.230 +1219,Wk6G2LKntp,Paris,"Full HD",Philips,Android,107.68.58.55 +1220,4bgTiqt,Amsterdam,4K,Samsung,Android,10.139.32.78 +1221,xeX5LgKla,Paris,"Full HD",LG,Linux,119.25.145.95 +1222,KAVCf03Tlt,Warsaw,4K,LG,Android,207.164.126.225 +1223,gJ2tXCvT,Berlin,"Full HD",Samsung,Android,212.3.81.205 +1224,Fjcg7J3DpG,Berlin,"Full HD",Sencor,Linux,107.23.70.228 +1225,SGIWTXA12,Amsterdam,"Full HD",LG,Ubuntu,232.63.207.102 +1226,niHNdwEWj,Amsterdam,4K,LG,Ubuntu,103.252.156.58 +1227,3EPum7fH,Paris,4K,Sencor,Android,206.18.248.200 +1228,aREWHqxCQ,Amsterdam,4K,LG,Linux,68.4.217.37 +1229,5Qdvl4M,Warsaw,"Full HD",LG,Linux,88.158.131.113 +1230,rEQxF,Amsterdam,4K,Samsung,Android,236.73.221.98 +1231,iPOusc,Berlin,4K,Philips,Ubuntu,231.233.12.251 +1232,sO3WD,Berlin,4K,Sencor,Ubuntu,199.46.51.40 +1233,F2d8Yo,Berlin,"Full HD",Sencor,Android,123.91.128.119 +1234,OLhdj,Amsterdam,4K,Philips,Android,181.96.15.163 +1235,o3sK91Du7,Berlin,"Full HD",LG,Android,124.1.245.227 +1236,dB4STH7DN,Paris,"Full HD",Philips,Android,26.210.116.195 +1237,76y01,Berlin,4K,LG,Linux,97.122.165.2 +1238,KNqHZXVLEp,Berlin,"Full HD",LG,Android,70.107.243.161 +1239,75VX1ygpYA,Amsterdam,4K,LG,Ubuntu,189.19.30.240 +1240,Z4XHEoP3Gm,Amsterdam,4K,Samsung,Android,218.131.16.97 +1241,UVuK3MloB,Warsaw,"Full HD",LG,Android,71.161.191.176 +1242,EIjR8eF,Paris,"Full HD",Samsung,Android,21.95.72.150 +1243,Fhj05,Paris,4K,Philips,Ubuntu,248.228.169.166 +1244,fIOPe6g,Paris,"Full HD",Sencor,Linux,194.53.67.105 +1245,6Qlc5XeOMU,Paris,"Full HD",Sencor,Ubuntu,61.0.41.104 +1246,UYAEi,Paris,"Full HD",Philips,Android,12.251.172.209 +1247,EtJi0nG,Berlin,4K,LG,Android,148.138.66.108 +1248,yIGzEhof8Q,Paris,"Full HD",Sencor,Ubuntu,82.60.39.246 +1249,vMflNr5m,Warsaw,4K,Philips,Linux,151.126.22.124 +1250,T2PqySl,Berlin,4K,LG,Linux,251.174.41.127 +1251,U4oJLEbwq,Paris,"Full HD",Philips,Linux,201.41.182.189 +1252,O3uxSa,Amsterdam,4K,LG,Linux,113.55.223.185 +1253,STyvKuj,Paris,4K,Samsung,Linux,133.3.241.140 +1254,2RHJnXT,Paris,4K,Sencor,Ubuntu,213.33.122.122 +1255,qdIOjCvU9,Warsaw,"Full HD",Sencor,Ubuntu,119.49.153.125 +1256,1SMGwNuO3,Berlin,"Full HD",Philips,Ubuntu,1.182.149.73 +1257,oWQn7RV,Warsaw,"Full HD",Samsung,Ubuntu,66.212.78.11 +1258,wUxsJ,Amsterdam,4K,Samsung,Android,223.174.209.58 +1259,lwKznV,Warsaw,4K,Philips,Android,245.165.232.223 +1260,hrTsF0cSwu,Berlin,4K,Samsung,Ubuntu,10.219.63.178 +1261,jbsKVYrHEq,Amsterdam,"Full HD",Sencor,Ubuntu,152.138.24.101 +1262,76Oab,Paris,"Full HD",Sencor,Linux,30.1.134.143 +1263,DilOYJb,Berlin,4K,LG,Android,86.65.104.113 +1264,JpbNs0Y,Berlin,4K,LG,Android,77.45.15.87 +1265,zVmpJhA0,Warsaw,4K,Samsung,Linux,136.65.160.128 +1266,m0vDoY,Warsaw,"Full HD",Philips,Ubuntu,104.174.186.90 +1267,ATzSgJGH6v,Paris,4K,Sencor,Android,62.182.158.54 +1268,j1z57my20,Berlin,4K,Philips,Ubuntu,237.81.60.58 +1269,Mae1HL,Warsaw,4K,Philips,Linux,46.38.243.232 +1270,egbdw,Warsaw,4K,Sencor,Ubuntu,66.89.163.138 +1271,o27rU,Warsaw,4K,Samsung,Ubuntu,89.54.139.144 +1272,LYZXWcIHf,Paris,"Full HD",Samsung,Ubuntu,146.203.43.242 +1273,BshlMET74,Warsaw,4K,Philips,Android,120.158.120.123 +1274,SOkYRfFZ0,Berlin,4K,Philips,Android,167.142.145.186 +1275,MFn2p5GVk,Berlin,4K,Philips,Android,66.9.215.68 +1276,8AlNOHm,Amsterdam,4K,Philips,Linux,64.14.205.171 +1277,r7tJX,Paris,"Full HD",Samsung,Android,160.26.27.138 +1278,sTv1r8tOIV,Berlin,"Full HD",Samsung,Ubuntu,83.222.25.158 +1279,zi5q1AaQk,Amsterdam,"Full HD",Philips,Ubuntu,181.24.37.105 +1280,9abdGiEngO,Warsaw,4K,Sencor,Ubuntu,120.131.139.96 +1281,41by3RqV,Amsterdam,4K,Samsung,Ubuntu,171.242.170.90 +1282,E8aL0GfAB,Paris,"Full HD",LG,Android,175.228.144.76 +1283,adxYwL,Berlin,4K,Sencor,Linux,44.254.98.250 +1284,a8hoALi1,Berlin,4K,Philips,Linux,224.183.190.11 +1285,e2JblAF0g8,Amsterdam,4K,Samsung,Android,79.39.78.158 +1286,GMOxg7dhQ,Warsaw,4K,Sencor,Linux,196.150.134.167 +1287,6pgUNafvl,Warsaw,"Full HD",LG,Android,133.71.187.125 +1288,HRmChbld,Paris,"Full HD",Samsung,Linux,136.17.231.112 +1289,SpqGNP5h,Warsaw,"Full HD",Philips,Ubuntu,58.31.115.42 +1290,B8co1Hu2W,Berlin,"Full HD",Samsung,Linux,85.221.15.172 +1291,SLY1n9,Amsterdam,4K,Sencor,Android,144.93.80.31 +1292,xWeadRo,Warsaw,"Full HD",LG,Linux,147.48.3.158 +1293,f46Lc2a,Paris,4K,Samsung,Linux,25.21.228.230 +1294,EqcplAM3b,Paris,"Full HD",LG,Android,37.41.236.254 +1295,3yhRbC,Berlin,"Full HD",Sencor,Android,7.93.71.198 +1296,3MbNK7OY,Amsterdam,4K,Sencor,Android,130.135.41.15 +1297,cIDQUEt,Paris,"Full HD",Philips,Linux,112.211.100.79 +1298,yTM9KDC0,Amsterdam,4K,Philips,Ubuntu,152.25.45.175 +1299,LxX2poMdT,Amsterdam,4K,Philips,Linux,254.148.154.233 +1300,Ar7T3clp,Warsaw,4K,LG,Linux,12.10.92.86 +1301,Msrm4XqkV,Paris,4K,Philips,Android,30.143.70.94 +1302,GJWto,Berlin,"Full HD",Samsung,Android,46.147.108.229 +1303,KcPaxbCm3A,Berlin,4K,Sencor,Linux,215.244.115.38 +1304,Q0NFg,Paris,"Full HD",Sencor,Ubuntu,172.193.126.69 +1305,qoIfxZ4KN,Paris,4K,LG,Ubuntu,27.12.16.92 +1306,5chTyw,Amsterdam,"Full HD",Philips,Linux,143.14.95.203 +1307,zEtxN7dfrn,Amsterdam,4K,Philips,Android,122.151.141.158 +1308,OR5fzcvQU,Paris,4K,Sencor,Android,121.88.57.161 +1309,RpbwhDKP,Warsaw,"Full HD",Samsung,Linux,143.202.56.61 +1310,ZCegQ4,Berlin,4K,Sencor,Linux,107.65.98.236 +1311,eyYbaD,Berlin,"Full HD",Philips,Linux,90.216.251.231 +1312,DGJzqeBL,Amsterdam,4K,LG,Linux,139.19.66.161 +1313,f6GFlV,Berlin,4K,Sencor,Android,99.223.159.38 +1314,KnbyLok,Warsaw,"Full HD",LG,Android,47.166.116.221 +1315,Ka2AeGh6,Paris,4K,Samsung,Android,174.138.204.63 +1316,QNpoudkymC,Warsaw,"Full HD",Philips,Ubuntu,146.117.191.174 +1317,MztpHUjE1,Berlin,"Full HD",Philips,Ubuntu,78.239.3.242 +1318,H3xkUm8C6,Amsterdam,4K,Philips,Ubuntu,147.57.75.129 +1319,PNbAX,Paris,"Full HD",Philips,Android,129.76.231.36 +1320,o5ZxrO70y,Paris,4K,Samsung,Ubuntu,33.44.167.176 +1321,DzJtlCG0,Amsterdam,4K,Sencor,Linux,231.103.28.235 +1322,t10pioKMyW,Amsterdam,"Full HD",Philips,Ubuntu,203.199.147.144 +1323,A0eRSJQL,Paris,4K,LG,Linux,186.174.212.65 +1324,3vAPTJQS,Paris,"Full HD",LG,Ubuntu,209.81.134.38 +1325,ioXWZOtdsg,Paris,4K,Sencor,Linux,103.203.157.157 +1326,ghWzHf2Ao,Paris,"Full HD",Samsung,Linux,46.206.167.126 +1327,wvAn4qI1,Paris,"Full HD",LG,Android,169.83.197.210 +1328,eD2CVfz8,Warsaw,4K,Philips,Linux,95.118.32.41 +1329,jPakVh3UH,Amsterdam,4K,Sencor,Android,173.93.33.134 +1330,U8BoZufW,Amsterdam,"Full HD",Samsung,Ubuntu,96.82.122.86 +1331,3407NI,Warsaw,4K,LG,Linux,65.193.64.240 +1332,8fcE5ej,Warsaw,"Full HD",Philips,Linux,71.73.171.132 +1333,AgsByHe,Warsaw,4K,LG,Android,168.63.233.245 +1334,DE9nv,Berlin,4K,Sencor,Android,201.193.58.61 +1335,gu2t0bZ,Paris,4K,Sencor,Ubuntu,198.175.53.9 +1336,HpQn0k3,Berlin,"Full HD",Sencor,Ubuntu,221.108.160.248 +1337,NH9UrK,Amsterdam,4K,Samsung,Ubuntu,137.182.50.39 +1338,HlEqnym,Paris,4K,Philips,Linux,120.164.221.39 +1339,aK6tL,Paris,4K,LG,Ubuntu,142.215.201.32 +1340,UGSduMlYAc,Berlin,4K,Philips,Linux,1.128.19.218 +1341,dbHYXe,Warsaw,"Full HD",Samsung,Linux,77.167.192.49 +1342,SWsEQal7,Paris,"Full HD",LG,Android,216.209.119.172 +1343,OZr2L,Amsterdam,4K,Philips,Android,226.78.142.234 +1344,W2oZ0,Amsterdam,4K,Samsung,Android,39.36.25.103 +1345,lfYgHoMbrI,Paris,"Full HD",Philips,Ubuntu,213.9.182.185 +1346,9aBgZ,Berlin,4K,LG,Ubuntu,151.104.46.15 +1347,Zaze8,Warsaw,"Full HD",Sencor,Linux,193.126.135.205 +1348,NlKXyo,Paris,"Full HD",Samsung,Linux,18.102.21.6 +1349,ifGWCk,Paris,4K,Philips,Linux,250.224.224.148 +1350,dIOp0A,Paris,"Full HD",LG,Ubuntu,185.32.139.245 +1351,3iHZtSPE,Amsterdam,"Full HD",LG,Linux,102.101.112.202 +1352,zBA9Xg,Warsaw,"Full HD",Samsung,Ubuntu,94.86.61.32 +1353,LaOvWko,Berlin,"Full HD",LG,Ubuntu,211.251.178.180 +1354,sYC5e,Warsaw,4K,Samsung,Ubuntu,232.119.208.94 +1355,KcCxsOW,Warsaw,"Full HD",Samsung,Linux,67.31.188.76 +1356,zyH0INXv,Berlin,"Full HD",LG,Linux,55.159.30.40 +1357,hNswzVcbW,Warsaw,4K,LG,Ubuntu,178.27.15.128 +1358,MVoeZg8WU,Warsaw,"Full HD",Samsung,Linux,33.254.82.149 +1359,yCdJr,Berlin,"Full HD",Philips,Ubuntu,255.251.38.41 +1360,FAVK8MJb,Berlin,4K,Samsung,Ubuntu,12.50.174.40 +1361,sfUy9S,Paris,4K,Sencor,Android,98.248.114.18 +1362,3ypuU,Paris,4K,Philips,Linux,81.223.123.2 +1363,VDAioyEk7x,Paris,4K,Samsung,Ubuntu,155.134.62.95 +1364,FbWxv0,Warsaw,"Full HD",Sencor,Linux,58.124.222.113 +1365,fLF6k,Berlin,"Full HD",LG,Ubuntu,6.251.111.119 +1366,uUXVh,Berlin,4K,Philips,Linux,254.147.232.118 +1367,vQVwLlI,Amsterdam,"Full HD",Philips,Ubuntu,241.3.112.68 +1368,6Amdft,Amsterdam,"Full HD",Samsung,Linux,81.94.173.32 +1369,fBqSEDZlC,Warsaw,4K,Philips,Ubuntu,111.223.22.204 +1370,b3HPut4LU,Paris,"Full HD",Sencor,Linux,159.44.38.131 +1371,dyTIDA,Berlin,"Full HD",Philips,Linux,220.34.221.51 +1372,1NmJ8,Amsterdam,4K,LG,Ubuntu,114.30.40.46 +1373,yYxB95Z,Paris,"Full HD",LG,Android,197.7.55.104 +1374,onbgM4,Paris,4K,Philips,Linux,137.179.129.194 +1375,jbtk1RK,Paris,4K,LG,Android,241.243.150.3 +1376,hBAsgfkDnb,Amsterdam,"Full HD",LG,Ubuntu,236.198.77.120 +1377,Cef82btG,Warsaw,"Full HD",LG,Ubuntu,0.68.56.200 +1378,MWSYC0R,Berlin,"Full HD",Philips,Ubuntu,152.131.54.223 +1379,NlAO2,Warsaw,4K,LG,Android,129.243.249.117 +1380,CbtnfF3,Amsterdam,4K,Philips,Android,42.201.161.141 +1381,SslabCT0U1,Paris,"Full HD",Philips,Android,242.132.199.108 +1382,og1wTxy0W,Warsaw,4K,Sencor,Ubuntu,200.76.43.157 +1383,vUo4yb0,Paris,4K,Sencor,Linux,11.123.62.75 +1384,BmUxu,Paris,"Full HD",LG,Linux,222.72.209.164 +1385,DM7a9qHpw,Berlin,4K,Philips,Ubuntu,121.18.232.136 +1386,FrQcu,Paris,"Full HD",Philips,Ubuntu,111.62.173.68 +1387,4QX17Dvb,Paris,4K,Samsung,Android,183.106.22.239 +1388,Cj8kJVy4,Paris,4K,Samsung,Ubuntu,59.240.254.12 +1389,tAGkMdc,Paris,4K,Philips,Ubuntu,32.117.139.30 +1390,pLseY9PQ,Paris,4K,Sencor,Android,121.131.168.241 +1391,4LwVfYTvnP,Amsterdam,4K,Samsung,Linux,34.15.208.222 +1392,MaKJU,Amsterdam,4K,Samsung,Linux,124.61.216.21 +1393,Q7oaJg,Berlin,"Full HD",LG,Linux,69.203.110.150 +1394,XpB3tnz,Amsterdam,"Full HD",Samsung,Linux,201.110.44.41 +1395,Qj3KCPx,Berlin,"Full HD",Philips,Linux,43.240.170.112 +1396,E7qNfRtG,Warsaw,"Full HD",LG,Android,119.251.116.232 +1397,EumvjBy,Berlin,4K,Samsung,Android,251.55.30.233 +1398,1X4pzOEwS,Berlin,"Full HD",LG,Ubuntu,161.18.189.174 +1399,bqwR9U5,Paris,"Full HD",Samsung,Android,68.81.60.21 +1400,ZUyw8J2C,Warsaw,4K,Philips,Ubuntu,22.133.141.235 +1401,q6sVWAOj9,Amsterdam,4K,Samsung,Linux,227.5.3.136 +1402,uJFlViOm9,Warsaw,4K,LG,Android,160.3.250.213 +1403,r9z2uQ7x,Berlin,4K,Sencor,Android,73.9.151.11 +1404,cwGiklqnQ,Amsterdam,"Full HD",Philips,Ubuntu,188.109.193.83 +1405,ZS1POw,Berlin,"Full HD",LG,Ubuntu,215.255.78.44 +1406,83UFSXhGE,Berlin,4K,Sencor,Linux,178.6.225.67 +1407,cXrMxIu,Paris,"Full HD",Sencor,Ubuntu,67.39.133.153 +1408,YRJtkeAH,Warsaw,4K,Philips,Ubuntu,4.91.90.251 +1409,bY68zONI1,Warsaw,4K,LG,Android,126.42.161.61 +1410,rsERo7,Amsterdam,"Full HD",Sencor,Linux,76.236.83.29 +1411,YoDvAG0,Paris,"Full HD",LG,Ubuntu,2.137.217.99 +1412,3ukamUjFhE,Berlin,"Full HD",LG,Android,18.98.223.11 +1413,6gfHNMA4iX,Berlin,"Full HD",LG,Ubuntu,250.152.249.123 +1414,zrRKAh1,Amsterdam,4K,LG,Linux,7.114.241.98 +1415,Of4KmI,Paris,"Full HD",Philips,Android,254.115.46.135 +1416,8ubQcoJ,Amsterdam,4K,Philips,Ubuntu,114.141.168.183 +1417,vnwkV,Berlin,"Full HD",Sencor,Android,71.218.93.40 +1418,9WixLq2T,Amsterdam,4K,Sencor,Linux,226.114.145.161 +1419,W31DVB,Warsaw,"Full HD",Samsung,Ubuntu,194.133.56.125 +1420,95nEcVU3Bv,Berlin,"Full HD",LG,Android,38.205.90.252 +1421,nbJ3PGOljQ,Amsterdam,"Full HD",Sencor,Ubuntu,130.68.165.171 +1422,Zvp45B,Berlin,"Full HD",Sencor,Linux,172.90.169.232 +1423,B5ryYcp2x,Paris,"Full HD",LG,Ubuntu,184.210.232.176 +1424,qyCYVXof,Warsaw,4K,LG,Android,182.139.190.198 +1425,tPgiDyW,Berlin,4K,LG,Android,200.162.27.19 +1426,Ao5hY,Warsaw,4K,LG,Android,146.112.80.103 +1427,uUKVtEI,Berlin,"Full HD",Philips,Ubuntu,232.239.119.58 +1428,iKBxuCT2D6,Paris,"Full HD",Philips,Ubuntu,117.112.88.31 +1429,Fc4TUAdesJ,Berlin,"Full HD",Sencor,Android,142.82.187.141 +1430,5kTOSm,Berlin,4K,Philips,Linux,229.34.129.122 +1431,bNInUJ,Paris,"Full HD",Sencor,Ubuntu,240.230.106.67 +1432,GPwn5l,Amsterdam,4K,Philips,Linux,103.108.102.247 +1433,IpmbAj,Berlin,4K,LG,Ubuntu,109.88.6.231 +1434,1dQZD8,Berlin,"Full HD",LG,Ubuntu,31.8.178.216 +1435,2DXYBnwR,Amsterdam,4K,Samsung,Ubuntu,155.44.188.100 +1436,LW5tfno,Amsterdam,"Full HD",Philips,Ubuntu,8.61.158.62 +1437,udTrfOS,Berlin,"Full HD",Samsung,Linux,31.149.168.229 +1438,6IDdsH,Amsterdam,"Full HD",LG,Ubuntu,206.192.106.64 +1439,I5gKw0X,Paris,4K,Sencor,Ubuntu,28.66.229.55 +1440,Y6nNvjf,Paris,"Full HD",LG,Android,199.112.39.9 +1441,XWf3kE,Paris,"Full HD",LG,Android,34.36.228.114 +1442,XThbSEKc2i,Amsterdam,"Full HD",LG,Ubuntu,138.194.136.219 +1443,rCgPvF,Paris,"Full HD",Philips,Linux,208.254.150.47 +1444,f45w2Hz,Paris,4K,Samsung,Ubuntu,213.180.194.70 +1445,Ahodw,Amsterdam,"Full HD",Philips,Linux,0.134.17.204 +1446,c14vxf3Ju,Paris,4K,Samsung,Linux,12.4.197.25 +1447,xi1QLZy,Warsaw,"Full HD",Sencor,Linux,184.67.162.182 +1448,EwR35SqVk,Amsterdam,4K,Philips,Android,4.14.200.142 +1449,9XjHPZeCay,Paris,4K,Sencor,Android,46.138.201.201 +1450,EL7WvoAdUu,Amsterdam,4K,Sencor,Linux,20.217.172.122 +1451,qQBr1no2JS,Berlin,"Full HD",LG,Linux,89.198.19.45 +1452,LZjBbHoW,Paris,4K,Philips,Android,118.23.206.57 +1453,8QMarH9,Warsaw,4K,LG,Android,138.46.165.12 +1454,ejr9lJgo,Amsterdam,4K,Philips,Android,135.233.211.245 +1455,yD9IES5,Berlin,"Full HD",Philips,Android,71.97.247.120 +1456,ah4tdeB,Paris,4K,Sencor,Linux,68.193.170.113 +1457,eLT2O,Paris,"Full HD",Sencor,Android,165.23.230.219 +1458,d4aHB,Berlin,"Full HD",Sencor,Ubuntu,56.37.160.173 +1459,dH8C4,Berlin,4K,Sencor,Android,179.172.162.29 +1460,kXgj96,Paris,"Full HD",Philips,Linux,39.96.222.25 +1461,Lf7dwlB,Amsterdam,4K,Samsung,Ubuntu,41.176.60.236 +1462,pE8OM,Warsaw,4K,LG,Android,220.190.241.194 +1463,UhY5IqXtxC,Amsterdam,"Full HD",LG,Ubuntu,148.169.91.135 +1464,olUGR1s,Amsterdam,4K,LG,Linux,24.48.147.10 +1465,pobV21dyRJ,Berlin,4K,Samsung,Ubuntu,74.146.13.234 +1466,Yjd24n6,Amsterdam,4K,Sencor,Linux,59.199.137.230 +1467,bgvl2,Warsaw,"Full HD",LG,Android,85.45.92.22 +1468,DthCYXHGMy,Berlin,4K,LG,Android,178.204.137.54 +1469,83NKQpoHvV,Paris,"Full HD",Samsung,Linux,244.106.75.241 +1470,g68sO5toVE,Warsaw,"Full HD",LG,Linux,233.17.98.4 +1471,7Rxm0hjc,Berlin,4K,LG,Ubuntu,73.191.140.219 +1472,gPHIAd,Paris,4K,LG,Linux,217.105.202.177 +1473,feTJhb,Warsaw,"Full HD",Philips,Linux,162.70.144.87 +1474,gqCojFXTl8,Amsterdam,4K,LG,Ubuntu,83.58.14.78 +1475,6sumI,Paris,"Full HD",Philips,Android,3.200.41.254 +1476,t5XefBMFJC,Berlin,4K,LG,Ubuntu,52.231.234.168 +1477,PnGJDX3KWv,Amsterdam,"Full HD",LG,Android,136.157.89.55 +1478,zODbx1,Berlin,"Full HD",Sencor,Android,87.195.82.112 +1479,Bpo4HQOCzg,Paris,4K,Sencor,Ubuntu,45.106.43.68 +1480,CDV8Rvp,Berlin,4K,Samsung,Ubuntu,119.165.214.103 +1481,OyILM6s34Z,Berlin,"Full HD",LG,Linux,146.55.189.138 +1482,2iQ34h,Warsaw,4K,Philips,Android,151.200.176.37 +1483,A8rPz,Berlin,"Full HD",LG,Linux,31.109.28.154 +1484,onak5BTMgv,Paris,"Full HD",Sencor,Ubuntu,38.1.54.157 +1485,8OKvV,Paris,"Full HD",Sencor,Android,158.147.73.79 +1486,T4Z8kx,Warsaw,4K,Philips,Ubuntu,137.96.213.253 +1487,R5q1LKpi,Berlin,"Full HD",LG,Ubuntu,51.51.203.214 +1488,sGcHdu5qnT,Warsaw,4K,Philips,Linux,199.65.39.18 +1489,RW0vr,Amsterdam,"Full HD",Samsung,Ubuntu,167.251.221.112 +1490,XDTxk26J,Paris,"Full HD",Samsung,Linux,67.25.54.15 +1491,6f5tuhB,Amsterdam,"Full HD",Samsung,Linux,5.64.104.216 +1492,ABZnc,Paris,"Full HD",Philips,Linux,215.238.11.95 +1493,3OIzkCMA,Amsterdam,"Full HD",LG,Ubuntu,185.63.40.238 +1494,GxdHMDLE,Warsaw,"Full HD",Philips,Linux,214.214.96.86 +1495,fPJDEFOH2,Amsterdam,4K,LG,Android,65.239.9.216 +1496,unchGeDS,Berlin,"Full HD",Philips,Android,235.136.135.34 +1497,T5ZDSA,Paris,"Full HD",Sencor,Linux,206.20.231.243 +1498,g20X3FTH,Amsterdam,4K,Sencor,Android,253.204.142.122 +1499,neaZk,Amsterdam,"Full HD",LG,Android,228.205.74.247 +1500,kpcni,Warsaw,"Full HD",Sencor,Linux,58.215.164.7 +1501,8YXeUJZ4kd,Paris,"Full HD",Samsung,Linux,178.243.236.216 +1502,eVR0vnz,Amsterdam,4K,Philips,Ubuntu,157.59.226.29 +1503,t5nV3ie,Paris,"Full HD",LG,Ubuntu,181.135.31.16 +1504,nZslvEDh,Amsterdam,"Full HD",Samsung,Linux,38.23.107.202 +1505,y3h6KCgZzt,Amsterdam,"Full HD",Philips,Linux,109.45.65.59 +1506,P9cHZNgUO,Amsterdam,"Full HD",Philips,Ubuntu,4.51.242.39 +1507,t8nlehDZ9,Paris,4K,LG,Ubuntu,65.176.103.63 +1508,gPtLWzN,Warsaw,4K,Philips,Ubuntu,24.194.49.35 +1509,vPpDk5,Paris,4K,Sencor,Android,65.130.54.30 +1510,9Xtf4O,Paris,4K,LG,Ubuntu,175.33.61.54 +1511,6PVTQ4,Amsterdam,"Full HD",Samsung,Android,110.9.149.53 +1512,vWqA79T2Bj,Paris,4K,LG,Linux,128.15.228.67 +1513,jwt2m18Ta,Berlin,"Full HD",Samsung,Android,77.159.80.13 +1514,czxjS4,Berlin,"Full HD",LG,Ubuntu,101.251.33.41 +1515,gCWIyX,Berlin,4K,Samsung,Android,160.158.22.140 +1516,Jcs4Mbqwa,Paris,4K,Samsung,Linux,224.121.131.50 +1517,IhKCBmT,Warsaw,"Full HD",Samsung,Ubuntu,163.122.145.251 +1518,PgSVTnE,Paris,"Full HD",Sencor,Android,28.31.100.249 +1519,XcDnLIGW0,Paris,"Full HD",LG,Android,35.10.146.218 +1520,JHYTEil,Amsterdam,4K,LG,Android,187.54.59.208 +1521,8dVXAwY5IR,Paris,"Full HD",Samsung,Android,192.86.57.137 +1522,xO1p9Fq,Paris,4K,Philips,Android,223.158.134.119 +1523,LNqeBt,Warsaw,"Full HD",Samsung,Android,27.38.117.22 +1524,SY6kF3,Warsaw,4K,LG,Android,164.140.41.75 +1525,SPb5Ns,Berlin,4K,Philips,Android,122.33.120.24 +1526,HukNOxU,Amsterdam,4K,LG,Linux,20.25.188.208 +1527,dEDAY9,Amsterdam,"Full HD",Philips,Ubuntu,241.133.199.187 +1528,BvA6sJ1,Warsaw,"Full HD",Samsung,Ubuntu,60.0.4.41 +1529,ydCDct5,Amsterdam,"Full HD",Philips,Linux,97.227.215.148 +1530,uYRez8W9U,Berlin,"Full HD",Sencor,Linux,22.172.225.174 +1531,7yMIBXavW,Berlin,"Full HD",Philips,Ubuntu,181.119.120.73 +1532,So8Cn3,Paris,4K,LG,Android,149.228.39.255 +1533,XhbQLr8R2,Warsaw,"Full HD",Samsung,Android,33.27.129.192 +1534,en1MR,Warsaw,4K,Philips,Linux,235.165.80.136 +1535,LjpkXi0t,Berlin,4K,Philips,Android,197.95.174.79 +1536,V6N4Al5vz,Berlin,4K,Philips,Linux,98.113.9.230 +1537,aM918CRNB,Warsaw,4K,Philips,Android,153.230.19.214 +1538,06eJQpOW,Berlin,"Full HD",Sencor,Linux,162.86.186.194 +1539,JGl8ZU3,Berlin,"Full HD",Sencor,Ubuntu,160.139.73.170 +1540,32Nnj6sv,Paris,4K,LG,Ubuntu,212.161.81.83 +1541,gSk9VWewO,Paris,4K,LG,Android,114.186.114.169 +1542,MLf4Q,Warsaw,4K,Philips,Ubuntu,206.246.142.18 +1543,Y2qicBAo,Amsterdam,4K,Sencor,Linux,85.228.59.111 +1544,DyGcZWO16L,Warsaw,4K,LG,Linux,9.249.232.149 +1545,2eEWoPQSm8,Amsterdam,4K,Philips,Android,30.83.119.60 +1546,4j06UDpH,Paris,"Full HD",Samsung,Android,197.255.239.132 +1547,zM4b2Lg9,Warsaw,"Full HD",Sencor,Ubuntu,187.8.152.218 +1548,0oOPyuHlb6,Amsterdam,"Full HD",Philips,Linux,231.207.131.33 +1549,nlE2yX,Berlin,4K,Philips,Android,189.159.62.59 +1550,FKpvYCQ,Berlin,"Full HD",LG,Android,196.34.52.154 +1551,BewrvOW9dx,Amsterdam,4K,Philips,Linux,51.94.248.115 +1552,SpuB2JA5,Warsaw,"Full HD",Philips,Android,197.142.218.92 +1553,VdS3zADem,Warsaw,"Full HD",Sencor,Linux,35.169.24.216 +1554,MPy3dHL,Paris,"Full HD",LG,Linux,223.27.254.145 +1555,VuwGESO,Paris,"Full HD",Philips,Android,43.248.177.235 +1556,Z0CbidO,Amsterdam,4K,Samsung,Ubuntu,253.11.142.78 +1557,S1VUMkD,Berlin,"Full HD",Philips,Android,138.177.38.88 +1558,I4Srsb,Amsterdam,"Full HD",Samsung,Android,130.237.131.123 +1559,Kj8ivT,Warsaw,"Full HD",Philips,Linux,35.175.219.172 +1560,egZQ72V,Berlin,"Full HD",Philips,Linux,229.98.25.172 +1561,jCxXLYZl,Paris,4K,Samsung,Ubuntu,139.251.70.223 +1562,LZBYO,Amsterdam,4K,Samsung,Ubuntu,230.150.184.191 +1563,7dtYIGzM,Warsaw,"Full HD",LG,Ubuntu,241.74.133.176 +1564,LfWwS,Paris,4K,LG,Linux,252.219.247.22 +1565,djbco,Warsaw,"Full HD",Sencor,Ubuntu,117.153.160.83 +1566,tdKHwAYr,Paris,"Full HD",Philips,Android,220.68.76.171 +1567,8gi1tOYNXJ,Amsterdam,"Full HD",Sencor,Ubuntu,120.34.175.203 +1568,ehSiqQkBx,Berlin,"Full HD",Sencor,Linux,14.61.145.36 +1569,KLnN53a,Amsterdam,"Full HD",Philips,Linux,86.30.56.0 +1570,hAJvT0gBI,Warsaw,"Full HD",Samsung,Ubuntu,157.156.183.128 +1571,Q6rS8RFd3,Warsaw,"Full HD",Philips,Linux,190.186.213.242 +1572,JkTDRt,Paris,4K,Samsung,Ubuntu,74.142.205.194 +1573,EMYLZuy3,Paris,"Full HD",Sencor,Android,153.184.130.224 +1574,YZ2NWpIl,Amsterdam,4K,Philips,Linux,110.13.77.56 +1575,9nu1J,Berlin,"Full HD",Sencor,Android,116.169.115.11 +1576,VsofbD,Berlin,"Full HD",Sencor,Android,128.133.174.53 +1577,rJyNOVqPRB,Warsaw,4K,LG,Linux,1.145.128.220 +1578,jPOc2Rs7u,Amsterdam,4K,Philips,Ubuntu,136.246.180.222 +1579,uMyZH01,Berlin,4K,Samsung,Ubuntu,1.230.172.18 +1580,6woZkc,Warsaw,"Full HD",Sencor,Android,207.194.212.249 +1581,2oQdrw9P,Amsterdam,"Full HD",LG,Linux,184.158.117.155 +1582,4zUahCMO,Amsterdam,4K,LG,Android,5.114.228.27 +1583,7NDHeEl1kx,Warsaw,"Full HD",Philips,Linux,95.196.149.205 +1584,myc5UtI8i,Warsaw,4K,Philips,Linux,92.36.20.86 +1585,UDWKJNp6QO,Paris,4K,LG,Linux,59.165.86.135 +1586,a1r5wdifO,Berlin,4K,LG,Android,182.212.208.191 +1587,c5AU0PkR1,Berlin,4K,Philips,Android,102.128.132.200 +1588,kynmcvRd7N,Amsterdam,4K,LG,Linux,32.6.223.148 +1589,DBUkd,Warsaw,"Full HD",Sencor,Ubuntu,151.3.208.54 +1590,M3AtY8wGxS,Berlin,"Full HD",Sencor,Ubuntu,238.181.17.117 +1591,N3BCf,Amsterdam,4K,Samsung,Ubuntu,143.154.124.62 +1592,UO9YpD,Amsterdam,4K,Samsung,Android,120.121.135.196 +1593,LFiqEZ09d,Amsterdam,4K,Samsung,Linux,82.141.20.144 +1594,iZ98b,Berlin,4K,Sencor,Linux,172.111.54.244 +1595,NUVkI,Warsaw,4K,LG,Ubuntu,182.219.45.111 +1596,EUsBjZ,Berlin,4K,LG,Linux,233.166.208.99 +1597,8GUlVcMb,Berlin,"Full HD",Philips,Android,221.234.162.201 +1598,F3My01KL,Amsterdam,"Full HD",LG,Android,93.70.222.24 +1599,NkMAF0,Berlin,4K,Samsung,Linux,35.102.14.186 +1600,AsDYtF9vT,Amsterdam,"Full HD",LG,Linux,120.208.110.241 +1601,rqZNbaUP,Berlin,4K,Samsung,Android,36.187.26.234 +1602,LtuMvcOy,Warsaw,4K,Sencor,Ubuntu,136.91.75.18 +1603,U3jqL,Warsaw,4K,LG,Android,47.197.82.107 +1604,2kaJvZ,Paris,"Full HD",Philips,Linux,93.19.21.191 +1605,UJD8ciB,Paris,4K,LG,Ubuntu,165.24.214.95 +1606,9U7aXTmwG,Berlin,4K,LG,Linux,149.36.2.115 +1607,sM8A4,Paris,"Full HD",Samsung,Ubuntu,109.34.183.27 +1608,PIcrM,Paris,4K,Philips,Ubuntu,222.95.231.181 +1609,GfvihI7olA,Berlin,"Full HD",Samsung,Linux,112.235.252.65 +1610,GrYP2Ctpnz,Amsterdam,"Full HD",Samsung,Linux,192.87.131.113 +1611,Jr4Ct,Paris,"Full HD",LG,Linux,211.110.214.137 +1612,MOpWqy,Warsaw,4K,Sencor,Android,148.34.208.62 +1613,Rb3Zs,Warsaw,"Full HD",Samsung,Ubuntu,44.60.206.95 +1614,DyehftsS2,Warsaw,"Full HD",LG,Linux,206.69.31.242 +1615,go5sZ,Berlin,"Full HD",Sencor,Android,51.110.229.23 +1616,TKusOI2CR,Warsaw,"Full HD",Philips,Android,109.158.71.107 +1617,PRpDz068,Warsaw,4K,Sencor,Ubuntu,20.19.163.105 +1618,gPvBAbuF2Z,Paris,"Full HD",Sencor,Android,154.19.123.90 +1619,AP9kHWzn,Paris,"Full HD",LG,Ubuntu,169.84.73.8 +1620,eZQkizVY,Berlin,"Full HD",Sencor,Linux,122.113.64.194 +1621,1DfAI7Mhx,Berlin,"Full HD",Sencor,Ubuntu,147.110.113.202 +1622,BQNJM,Amsterdam,"Full HD",Samsung,Linux,111.141.244.132 +1623,t6b72C,Warsaw,4K,LG,Ubuntu,69.224.205.228 +1624,EfQYJ6i8a,Paris,"Full HD",LG,Android,7.48.65.105 +1625,gKVkJzTL,Paris,"Full HD",Sencor,Ubuntu,141.133.36.165 +1626,DemprF,Paris,4K,LG,Linux,113.45.153.129 +1627,WyCmjTa,Berlin,"Full HD",Sencor,Android,97.247.133.226 +1628,kXC0mtSK,Warsaw,4K,Philips,Android,108.247.61.241 +1629,v9bTtwhZ,Amsterdam,4K,Philips,Ubuntu,110.91.131.38 +1630,Ms2iTrY39X,Paris,4K,Philips,Android,195.147.130.235 +1631,JgyTKWH,Amsterdam,4K,Philips,Android,151.21.208.231 +1632,UB8Kg,Berlin,"Full HD",Philips,Ubuntu,36.163.4.165 +1633,pEAGL,Berlin,4K,Samsung,Linux,192.76.255.22 +1634,Ds6p3,Warsaw,4K,Samsung,Android,129.185.111.65 +1635,OAViy,Berlin,"Full HD",LG,Android,132.227.177.226 +1636,67Ggs1RcT,Warsaw,"Full HD",Philips,Linux,112.70.172.132 +1637,LY35wPKMh,Warsaw,4K,Philips,Ubuntu,243.231.27.88 +1638,KPdj8Co,Warsaw,"Full HD",Samsung,Android,236.242.26.223 +1639,4UjwlRYK,Amsterdam,"Full HD",LG,Android,137.184.46.76 +1640,TP3Lm,Paris,4K,Philips,Ubuntu,88.1.249.162 +1641,f0mwWDne,Paris,4K,LG,Android,86.201.206.192 +1642,CunQOx,Berlin,4K,LG,Ubuntu,201.74.184.184 +1643,GTfp56bJis,Amsterdam,4K,Sencor,Android,121.79.158.68 +1644,oAG9PR,Amsterdam,4K,Samsung,Ubuntu,166.168.133.86 +1645,0qZAW9x2,Warsaw,"Full HD",LG,Android,232.249.37.29 +1646,ZmpKWVJh4,Warsaw,"Full HD",LG,Android,62.51.54.134 +1647,IUVXP,Berlin,4K,Sencor,Linux,10.118.34.18 +1648,GAOwgLjTK,Warsaw,"Full HD",Philips,Android,154.121.225.67 +1649,JTrQm,Warsaw,"Full HD",Philips,Linux,107.155.97.148 +1650,DmvMU4QCSP,Berlin,"Full HD",LG,Ubuntu,115.166.168.153 +1651,eJQHSli,Amsterdam,4K,Sencor,Linux,56.191.158.134 +1652,ufRIFviH,Berlin,4K,Philips,Ubuntu,18.194.229.76 +1653,t8gk4LNeA,Warsaw,"Full HD",Samsung,Android,167.55.100.27 +1654,nDCYHjGZ9a,Berlin,4K,Sencor,Android,47.201.246.206 +1655,cpYIRe3ZjT,Amsterdam,4K,Philips,Ubuntu,43.0.176.164 +1656,rKhEFGHB5,Warsaw,"Full HD",LG,Linux,187.87.181.135 +1657,kOeHpRJ,Berlin,4K,LG,Ubuntu,69.63.82.68 +1658,teaQFLObMu,Paris,4K,Sencor,Linux,89.159.209.190 +1659,UToWJ6HV,Berlin,4K,Samsung,Android,165.95.51.224 +1660,3pua8vmHO,Warsaw,4K,Philips,Linux,220.182.27.19 +1661,Szopt,Amsterdam,"Full HD",Philips,Linux,185.41.192.80 +1662,hQr8n4,Warsaw,"Full HD",Philips,Ubuntu,250.246.133.16 +1663,wfqWryJbz,Amsterdam,"Full HD",LG,Linux,219.243.230.246 +1664,Ap4qtsxP5,Amsterdam,"Full HD",Samsung,Ubuntu,243.200.205.47 +1665,2JnpX,Warsaw,"Full HD",Sencor,Linux,226.15.237.161 +1666,2N3GlIX,Paris,4K,Samsung,Android,41.237.74.203 +1667,9mZRbC,Warsaw,4K,Philips,Linux,158.24.229.224 +1668,pl3iCPS4gb,Warsaw,4K,Samsung,Android,224.155.240.191 +1669,M1anPFLy,Paris,"Full HD",Philips,Ubuntu,88.25.0.235 +1670,By6F1iQMx,Warsaw,4K,Samsung,Linux,65.205.177.170 +1671,RPpK5Z3yC,Berlin,"Full HD",LG,Android,49.93.52.75 +1672,vOmyBSo,Paris,"Full HD",LG,Ubuntu,170.116.135.166 +1673,hCDNHGYk,Amsterdam,4K,Samsung,Ubuntu,153.208.68.71 +1674,ot7mY3SQ,Paris,4K,Sencor,Android,29.7.164.42 +1675,Ju0eE5KgT,Paris,"Full HD",LG,Android,118.41.220.222 +1676,j5o8yHw,Amsterdam,4K,Philips,Linux,79.55.236.45 +1677,LGyOuDR3,Berlin,"Full HD",Samsung,Linux,72.220.188.17 +1678,EzIqYJ,Paris,4K,Philips,Android,20.147.83.79 +1679,tAksr8,Warsaw,"Full HD",Philips,Linux,68.94.69.131 +1680,RZrzAB,Amsterdam,4K,Sencor,Android,3.207.64.144 +1681,BwkVxP,Paris,"Full HD",Samsung,Linux,120.223.243.3 +1682,4EHLF,Paris,"Full HD",LG,Linux,2.134.53.149 +1683,ZQI3d6DR,Amsterdam,4K,Philips,Linux,25.174.236.249 +1684,93AhaOFpU,Berlin,"Full HD",Philips,Android,120.207.70.108 +1685,jpQe69S,Amsterdam,"Full HD",Samsung,Android,49.53.29.140 +1686,P9ep7JLHo,Berlin,"Full HD",Philips,Linux,232.106.138.219 +1687,LONE2,Berlin,"Full HD",LG,Ubuntu,106.69.87.250 +1688,3q1v0XyFus,Amsterdam,"Full HD",LG,Ubuntu,99.117.157.41 +1689,XR1taBO4,Paris,"Full HD",Samsung,Android,157.66.42.228 +1690,YrtSE1m,Berlin,4K,Philips,Ubuntu,102.109.17.136 +1691,ukzGlD1pE,Amsterdam,4K,Sencor,Android,164.31.153.185 +1692,M06ErbOyo,Berlin,"Full HD",LG,Linux,18.30.116.64 +1693,kSZQbv,Amsterdam,4K,Sencor,Android,106.91.41.138 +1694,xfEFDlIX,Amsterdam,4K,Philips,Ubuntu,108.175.20.141 +1695,JNtFh,Warsaw,"Full HD",Samsung,Android,56.113.174.244 +1696,UTX6C,Amsterdam,4K,Philips,Android,56.202.172.234 +1697,md3rB,Berlin,"Full HD",Samsung,Ubuntu,183.3.202.107 +1698,7jIhkQ0F,Warsaw,"Full HD",Samsung,Ubuntu,205.125.177.241 +1699,c9P2aoN1Cj,Amsterdam,"Full HD",Samsung,Ubuntu,136.75.161.97 +1700,ZM1rqYQuv,Amsterdam,"Full HD",LG,Linux,143.222.13.89 +1701,v3GRA5,Berlin,4K,Philips,Ubuntu,124.204.26.69 +1702,k5Je7x,Amsterdam,"Full HD",LG,Android,16.4.144.5 +1703,k2FeG,Amsterdam,"Full HD",Sencor,Android,89.108.137.77 +1704,hDzCVArFLg,Warsaw,4K,Sencor,Android,164.243.157.176 +1705,rpQMwjRUk,Berlin,4K,Samsung,Linux,220.117.87.39 +1706,s6K4E,Amsterdam,"Full HD",Philips,Linux,222.211.211.68 +1707,rQTX6A,Warsaw,"Full HD",Philips,Linux,35.0.130.171 +1708,Lid9A3xh7,Amsterdam,4K,Sencor,Ubuntu,190.110.214.204 +1709,0ArYSqBV2M,Amsterdam,"Full HD",LG,Ubuntu,123.143.242.240 +1710,v0VBO,Berlin,4K,LG,Linux,29.13.148.149 +1711,LI39wF,Berlin,"Full HD",Samsung,Linux,16.145.140.78 +1712,m95HyvC0F,Berlin,4K,Philips,Android,95.111.125.66 +1713,t07SpFi9R,Warsaw,"Full HD",Sencor,Ubuntu,140.133.235.67 +1714,KEC32Yh,Amsterdam,"Full HD",Philips,Android,207.120.229.98 +1715,O1XqWfJQ,Berlin,"Full HD",Philips,Ubuntu,40.155.155.143 +1716,jDwde1Losn,Berlin,"Full HD",Sencor,Ubuntu,250.159.49.160 +1717,I42Wsty,Paris,4K,Sencor,Linux,221.200.216.112 +1718,7TUs4O,Amsterdam,"Full HD",Samsung,Ubuntu,8.241.101.91 +1719,wCkxs,Warsaw,"Full HD",Philips,Android,41.213.193.20 +1720,dKz6Oh7po,Paris,4K,LG,Android,71.199.47.213 +1721,yahdr4Sq70,Berlin,4K,Sencor,Android,90.229.255.26 +1722,IkxQ9if6Zz,Paris,"Full HD",LG,Ubuntu,253.142.146.206 +1723,hTkdeBv,Paris,4K,Philips,Linux,171.217.228.89 +1724,FdWBiefvY,Paris,4K,Philips,Ubuntu,51.11.154.163 +1725,fD0yz,Berlin,4K,Philips,Ubuntu,138.236.236.85 +1726,wuOKsk,Paris,4K,LG,Linux,113.24.145.191 +1727,2Ai8l6wuBH,Warsaw,"Full HD",LG,Android,250.247.248.230 +1728,knlQx,Paris,4K,Sencor,Android,185.89.153.59 +1729,Zbe4UK5s1z,Berlin,4K,Sencor,Ubuntu,9.20.216.170 +1730,BkreNP,Amsterdam,4K,LG,Ubuntu,43.170.93.161 +1731,hdbx5YoN,Warsaw,"Full HD",Samsung,Ubuntu,138.178.82.90 +1732,56EW1DePkB,Berlin,4K,Samsung,Linux,93.30.58.240 +1733,ek9Tqi8az,Berlin,"Full HD",Sencor,Linux,167.62.243.15 +1734,ma81PYWdl,Berlin,"Full HD",Philips,Linux,102.215.36.27 +1735,JKpNztV,Berlin,4K,Philips,Android,98.254.139.142 +1736,Cn0BsD,Amsterdam,4K,LG,Linux,181.87.67.67 +1737,Tl1uz7,Amsterdam,"Full HD",Philips,Android,130.151.55.2 +1738,orhbWe0F4,Warsaw,"Full HD",Sencor,Linux,82.156.110.128 +1739,rEhKYi,Warsaw,4K,Sencor,Android,47.129.209.131 +1740,NZtXMVKFv,Amsterdam,"Full HD",Philips,Linux,225.226.19.217 +1741,YFJqTkgjcf,Warsaw,4K,Sencor,Linux,6.25.164.246 +1742,UBnGY,Paris,"Full HD",LG,Linux,140.179.226.77 +1743,3cFQivIS,Warsaw,"Full HD",Philips,Android,175.13.179.79 +1744,UjWNq,Warsaw,4K,Philips,Linux,213.131.23.69 +1745,lYb8XSi,Berlin,"Full HD",Sencor,Linux,29.68.69.49 +1746,zxVYXjuqD,Amsterdam,4K,Sencor,Linux,251.172.179.13 +1747,3DT8u,Amsterdam,4K,Sencor,Linux,149.210.128.162 +1748,8FWTY2fQxj,Berlin,"Full HD",Sencor,Android,233.245.75.101 +1749,7GWQPdgb,Warsaw,4K,Sencor,Android,120.177.54.182 +1750,l1kapX,Amsterdam,4K,Philips,Ubuntu,253.126.136.130 +1751,aml6948KQL,Amsterdam,"Full HD",Samsung,Android,197.172.142.87 +1752,dphof,Amsterdam,4K,Sencor,Ubuntu,50.164.154.203 +1753,F5Pftk,Paris,4K,Philips,Linux,99.140.134.52 +1754,oLKYN8,Warsaw,"Full HD",LG,Linux,35.49.163.59 +1755,a4uU8Q,Berlin,4K,Sencor,Ubuntu,78.166.29.194 +1756,U2OsXgyc9,Warsaw,4K,Philips,Linux,55.238.47.173 +1757,z2bcp,Amsterdam,"Full HD",Sencor,Android,12.98.105.57 +1758,SXuWDgds,Warsaw,4K,Philips,Linux,149.64.226.168 +1759,Q8HYV,Amsterdam,"Full HD",Sencor,Ubuntu,221.115.132.107 +1760,19Cnc4sqFo,Paris,"Full HD",Samsung,Linux,224.157.124.158 +1761,vPeIM0,Paris,"Full HD",Sencor,Android,158.79.5.207 +1762,Ht52Khz7cP,Berlin,4K,LG,Android,82.24.71.118 +1763,45Bztj,Paris,"Full HD",LG,Android,186.152.232.18 +1764,1TEQVhfX,Berlin,"Full HD",Philips,Linux,167.211.193.66 +1765,I86zeyNo,Amsterdam,4K,Sencor,Android,224.211.156.248 +1766,nhzaWr,Amsterdam,4K,LG,Ubuntu,176.180.14.18 +1767,4LwfWnX,Warsaw,"Full HD",Philips,Ubuntu,49.33.221.193 +1768,saj9nRl5,Amsterdam,"Full HD",LG,Linux,243.50.159.25 +1769,yI5QUR,Berlin,4K,Sencor,Ubuntu,11.151.247.92 +1770,vRAkWVNt,Berlin,"Full HD",LG,Android,98.233.44.117 +1771,1JohEanA,Warsaw,4K,Samsung,Android,83.203.217.20 +1772,iwohVMZBAp,Warsaw,"Full HD",Sencor,Linux,67.222.236.20 +1773,K2PQlkXGO,Warsaw,4K,Philips,Ubuntu,95.255.197.178 +1774,Wc0s5ESuaD,Berlin,"Full HD",Philips,Android,0.92.115.120 +1775,3gCWK,Warsaw,"Full HD",Philips,Android,157.236.236.191 +1776,QVKb2Y4hqD,Paris,"Full HD",Sencor,Android,118.84.17.77 +1777,qsfATIKniM,Warsaw,4K,Philips,Ubuntu,217.152.69.140 +1778,WBMFuc7H,Amsterdam,4K,LG,Ubuntu,32.102.71.63 +1779,P9HBEZ,Berlin,"Full HD",Samsung,Ubuntu,212.226.1.191 +1780,A6e9qfc,Warsaw,"Full HD",LG,Ubuntu,145.177.230.217 +1781,au8139Void,Paris,"Full HD",Samsung,Linux,36.95.90.180 +1782,Bp2Qgbye,Warsaw,"Full HD",LG,Linux,77.66.63.251 +1783,kGT0uL3,Amsterdam,4K,Samsung,Android,211.47.78.250 +1784,OjtNVF1DW,Amsterdam,"Full HD",Samsung,Ubuntu,103.221.109.153 +1785,AnVt7mHD1y,Warsaw,4K,Sencor,Ubuntu,77.208.38.237 +1786,Pp9q1TcsS,Berlin,4K,Sencor,Android,192.56.212.219 +1787,gY5PLvTC,Berlin,4K,LG,Ubuntu,21.250.47.162 +1788,RcG012EhQ,Amsterdam,"Full HD",Sencor,Linux,230.206.120.22 +1789,4XHVYmMyrv,Paris,"Full HD",Samsung,Linux,242.184.68.174 +1790,qD1hVmWnv,Warsaw,4K,Philips,Android,37.229.91.55 +1791,ZR5ahni,Berlin,"Full HD",Philips,Ubuntu,43.177.159.20 +1792,kSIuhM,Amsterdam,"Full HD",LG,Android,193.92.104.29 +1793,u7iECxg,Berlin,"Full HD",LG,Linux,244.47.244.35 +1794,2DhsHdq,Paris,4K,Philips,Android,73.236.19.193 +1795,XL5PJ,Berlin,"Full HD",LG,Ubuntu,89.142.8.220 +1796,vkTbSyQzRx,Warsaw,"Full HD",Sencor,Ubuntu,161.174.130.47 +1797,j405SeXgmi,Warsaw,"Full HD",Philips,Ubuntu,82.111.171.165 +1798,KEfFNe,Berlin,4K,LG,Android,154.44.39.208 +1799,uUxlw9s0,Amsterdam,4K,Sencor,Ubuntu,105.33.138.113 +1800,J4cRw7A5y,Berlin,"Full HD",LG,Linux,226.125.32.15 +1801,k1NMZ,Berlin,"Full HD",Samsung,Linux,247.206.14.37 +1802,1EY3Oty9,Paris,4K,Philips,Ubuntu,7.245.13.58 +1803,03VmWX,Warsaw,4K,Sencor,Ubuntu,178.193.195.28 +1804,P9s8odnj2,Warsaw,4K,Sencor,Ubuntu,185.198.231.229 +1805,wg2u5EOl,Amsterdam,4K,Samsung,Ubuntu,220.237.204.61 +1806,eT0lcIt2Z,Berlin,4K,Sencor,Android,229.122.205.215 +1807,D7fkFNewz,Amsterdam,4K,Samsung,Android,204.183.221.70 +1808,PkmEuWFszD,Paris,"Full HD",LG,Ubuntu,17.88.20.45 +1809,v0VowNUqd,Paris,"Full HD",Philips,Android,239.45.100.87 +1810,AZaSUysh8,Warsaw,4K,Philips,Android,130.224.121.221 +1811,5Swqgb,Warsaw,"Full HD",Sencor,Android,204.217.201.147 +1812,NWx72pID,Amsterdam,"Full HD",Sencor,Android,192.70.83.54 +1813,ZusMlc,Amsterdam,4K,LG,Linux,184.81.116.181 +1814,sSF7QWifNb,Warsaw,"Full HD",LG,Android,229.8.71.36 +1815,qguBE,Paris,4K,Sencor,Linux,42.131.131.148 +1816,CBS1Xf04,Amsterdam,"Full HD",Sencor,Linux,66.208.5.200 +1817,oQ3480O,Paris,"Full HD",Philips,Ubuntu,231.125.210.128 +1818,8Bwfud,Berlin,"Full HD",Samsung,Linux,141.61.224.35 +1819,Hl7ZmSv3,Paris,"Full HD",LG,Linux,6.162.103.190 +1820,nby4h6kci,Paris,"Full HD",Sencor,Ubuntu,87.30.232.92 +1821,QRFMg,Paris,4K,LG,Linux,107.207.91.155 +1822,qHBLAIc,Paris,"Full HD",Samsung,Linux,146.160.184.6 +1823,HyY4ZAS,Amsterdam,"Full HD",Sencor,Linux,93.228.147.43 +1824,JoFME,Warsaw,4K,Samsung,Ubuntu,150.242.22.205 +1825,MtwO6k,Amsterdam,"Full HD",Philips,Android,62.204.203.17 +1826,F2cu4WGv,Warsaw,4K,LG,Android,150.146.213.90 +1827,BTfH1OtE,Warsaw,"Full HD",LG,Ubuntu,23.34.91.35 +1828,J3eEX,Paris,"Full HD",Philips,Android,245.53.91.215 +1829,byKBZET2,Amsterdam,"Full HD",Philips,Linux,28.34.184.186 +1830,lnrzEo7,Paris,4K,LG,Ubuntu,129.47.79.8 +1831,DZ6q9j5,Amsterdam,"Full HD",Sencor,Android,87.77.204.21 +1832,y2r9fPuq,Paris,4K,Philips,Ubuntu,149.100.211.232 +1833,yvKsrziEhb,Amsterdam,"Full HD",Sencor,Linux,28.252.183.34 +1834,aXBUi,Warsaw,"Full HD",Philips,Linux,117.211.237.158 +1835,3uAmWMCj8y,Paris,4K,LG,Ubuntu,164.110.29.209 +1836,HGDXFs1RTJ,Amsterdam,4K,LG,Ubuntu,21.255.124.184 +1837,89EgqVPB,Warsaw,"Full HD",Philips,Ubuntu,218.47.80.72 +1838,PL1stBDN,Warsaw,4K,Philips,Ubuntu,33.159.171.140 +1839,zEXQUZPaCh,Amsterdam,"Full HD",LG,Android,234.241.53.38 +1840,83urk,Paris,"Full HD",LG,Linux,100.224.1.75 +1841,aLQGJK1Olr,Berlin,4K,Samsung,Ubuntu,223.130.74.18 +1842,srVB4L5,Amsterdam,4K,Philips,Linux,122.138.60.240 +1843,BfK3goQLCR,Paris,4K,LG,Ubuntu,89.46.54.234 +1844,9BCAF,Amsterdam,"Full HD",Samsung,Linux,118.78.87.168 +1845,QTa5h,Amsterdam,"Full HD",Samsung,Ubuntu,231.253.113.13 +1846,ABwTLncWR,Paris,4K,Sencor,Ubuntu,32.179.4.128 +1847,qXcx3DdW,Amsterdam,"Full HD",LG,Ubuntu,91.42.186.59 +1848,85VFN2Hv,Paris,4K,Sencor,Ubuntu,230.146.34.52 +1849,BnwFuW,Warsaw,4K,Philips,Android,75.129.52.67 +1850,2ASdXy,Berlin,4K,Philips,Ubuntu,135.32.189.58 +1851,d7vNu,Warsaw,"Full HD",Samsung,Android,225.41.123.255 +1852,bV8p1fT,Warsaw,"Full HD",LG,Android,59.16.69.247 +1853,fAroamKJ,Warsaw,"Full HD",LG,Linux,37.129.212.209 +1854,2hjADMPX,Amsterdam,"Full HD",Samsung,Ubuntu,69.110.77.232 +1855,5RIJWce,Paris,4K,LG,Ubuntu,167.172.117.18 +1856,iVxObJ1,Berlin,4K,Samsung,Linux,238.176.246.147 +1857,VhdgWEl7T,Paris,4K,Sencor,Android,175.206.95.61 +1858,28p5kQH,Paris,"Full HD",Samsung,Linux,46.32.68.96 +1859,6nr53Btf,Paris,"Full HD",Samsung,Linux,249.34.247.145 +1860,06FOhK5,Warsaw,"Full HD",Sencor,Linux,75.127.107.34 +1861,jfT3E458Mo,Paris,4K,Sencor,Ubuntu,231.189.143.160 +1862,hpWaRli,Amsterdam,4K,Samsung,Linux,14.225.237.123 +1863,9Hh3CjtKUF,Warsaw,"Full HD",Philips,Linux,199.36.34.190 +1864,kjrhvPl794,Warsaw,"Full HD",Samsung,Ubuntu,155.85.244.144 +1865,bv5zQs,Warsaw,"Full HD",Samsung,Ubuntu,55.110.157.47 +1866,Wh6N18ve,Berlin,4K,LG,Linux,56.89.182.48 +1867,jb7OF,Warsaw,"Full HD",LG,Ubuntu,217.243.135.158 +1868,xAtq8eIKN,Berlin,"Full HD",Sencor,Ubuntu,139.137.161.147 +1869,xN4f0SDO,Amsterdam,4K,LG,Android,116.138.183.66 +1870,9LDSoyqNn,Berlin,4K,Philips,Linux,4.18.251.22 +1871,6qtX9ZjsMk,Warsaw,"Full HD",Samsung,Android,157.140.33.251 +1872,tgCkG9cZ,Paris,"Full HD",LG,Ubuntu,4.120.117.186 +1873,1RObg,Berlin,4K,Philips,Android,101.195.225.4 +1874,hGWRjAON,Amsterdam,"Full HD",Samsung,Ubuntu,245.177.214.119 +1875,T2qcR,Berlin,"Full HD",Samsung,Ubuntu,102.82.197.9 +1876,6fIb0,Warsaw,"Full HD",Philips,Ubuntu,93.179.93.187 +1877,BMxv9GZP,Warsaw,"Full HD",LG,Ubuntu,35.232.118.92 +1878,Cx6AWTZv,Paris,4K,Samsung,Android,2.199.95.95 +1879,wzvRuIFi,Amsterdam,4K,Sencor,Android,215.220.129.18 +1880,8RUrgOzW7L,Berlin,"Full HD",LG,Ubuntu,192.231.57.26 +1881,MsED1C,Warsaw,4K,Philips,Ubuntu,127.153.88.237 +1882,sKA94Rq5Zv,Amsterdam,4K,Philips,Ubuntu,58.113.148.232 +1883,A5w7JkgmUe,Warsaw,"Full HD",Sencor,Android,187.168.69.157 +1884,tVElFhKBn,Warsaw,"Full HD",Samsung,Linux,28.112.47.132 +1885,vtd3N,Berlin,"Full HD",Samsung,Ubuntu,71.94.220.218 +1886,3fsKmUkFJy,Amsterdam,4K,Sencor,Ubuntu,206.42.128.66 +1887,7BkmnpFy,Berlin,"Full HD",Samsung,Android,29.95.107.210 +1888,hcLy23Ol1,Amsterdam,4K,Sencor,Linux,101.32.91.175 +1889,PivjFuBX9,Berlin,"Full HD",Samsung,Ubuntu,179.174.221.31 +1890,d5mBUl,Berlin,4K,LG,Linux,134.147.213.164 +1891,0N4SwH9bt,Berlin,"Full HD",Samsung,Linux,228.85.114.255 +1892,mNnsg,Amsterdam,4K,LG,Linux,116.245.178.233 +1893,QFR8Iui,Warsaw,"Full HD",Samsung,Linux,3.29.36.252 +1894,4cQ0ohNb,Amsterdam,"Full HD",Sencor,Linux,153.211.17.147 +1895,vz68d3NZV,Paris,4K,Samsung,Android,77.242.120.24 +1896,Z6mChM4c,Berlin,4K,Samsung,Ubuntu,214.195.51.188 +1897,AyLfw9xvB8,Berlin,4K,Philips,Ubuntu,80.249.197.215 +1898,cuStB,Warsaw,"Full HD",Samsung,Android,186.167.161.227 +1899,95YaGey,Paris,4K,Samsung,Ubuntu,172.29.135.157 +1900,RmTHnPyBF,Warsaw,"Full HD",LG,Linux,99.199.175.176 +1901,cC8Hpt,Warsaw,4K,Samsung,Ubuntu,81.134.137.96 +1902,1nMIuW,Berlin,"Full HD",LG,Android,177.125.158.243 +1903,lzGTn,Paris,"Full HD",Samsung,Android,239.76.135.166 +1904,5NtATfg1e,Amsterdam,4K,LG,Ubuntu,151.85.104.206 +1905,KdpnuP6Rk,Warsaw,"Full HD",LG,Android,220.156.145.162 +1906,0cQZB,Warsaw,"Full HD",Philips,Linux,72.175.30.18 +1907,Ete67ji9I,Warsaw,"Full HD",Sencor,Ubuntu,221.193.183.94 +1908,CSz5UyAPft,Warsaw,4K,Samsung,Android,228.189.245.236 +1909,eS1ovdtH,Warsaw,4K,Samsung,Android,234.172.135.16 +1910,oiqvYeNA,Amsterdam,"Full HD",Samsung,Android,251.152.77.211 +1911,vNuibh,Amsterdam,4K,Sencor,Ubuntu,209.212.3.110 +1912,5FVwNa,Warsaw,"Full HD",LG,Android,208.173.180.167 +1913,J9ZhIiXg,Warsaw,"Full HD",Samsung,Ubuntu,123.188.89.99 +1914,ikpwc6Gy,Amsterdam,4K,Samsung,Ubuntu,46.164.33.161 +1915,CpFtqfc97,Paris,4K,Samsung,Ubuntu,132.235.33.203 +1916,hZRK3c,Paris,"Full HD",Sencor,Linux,250.233.22.127 +1917,q612fo8G,Paris,"Full HD",Philips,Linux,232.249.177.102 +1918,fb2wiaO,Warsaw,"Full HD",Samsung,Android,189.142.81.99 +1919,krsCQ,Warsaw,4K,Samsung,Linux,29.94.180.78 +1920,J4LmqS,Paris,"Full HD",Samsung,Ubuntu,176.111.203.163 +1921,HKnESaUA,Paris,"Full HD",LG,Ubuntu,123.182.252.182 +1922,f3HY8P,Warsaw,"Full HD",Samsung,Android,96.38.114.174 +1923,dqHTfI18RE,Warsaw,"Full HD",Samsung,Linux,233.194.48.105 +1924,JtpTGMXdev,Paris,4K,Sencor,Ubuntu,103.132.81.21 +1925,HRaBDwqoO,Paris,"Full HD",Samsung,Linux,197.36.209.86 +1926,lCXBAgR6i,Berlin,4K,Sencor,Linux,136.204.253.93 +1927,HwM6s5u,Amsterdam,"Full HD",Sencor,Android,20.183.212.135 +1928,wurE1H9F,Amsterdam,4K,Sencor,Linux,255.177.99.226 +1929,LDVT47orh,Paris,"Full HD",Samsung,Android,123.105.224.139 +1930,fyDZMUHpx,Paris,"Full HD",Philips,Linux,72.119.116.102 +1931,5eEvxfhqJ9,Berlin,4K,Sencor,Ubuntu,10.160.240.145 +1932,GwMBzCc53W,Amsterdam,"Full HD",Sencor,Android,94.147.218.166 +1933,RNkSZKM2,Warsaw,4K,Samsung,Linux,39.243.185.253 +1934,7rfLRSqI4d,Paris,4K,Sencor,Ubuntu,131.154.86.233 +1935,LK1D0vX,Warsaw,"Full HD",Philips,Ubuntu,249.77.219.61 +1936,cOqDkJ,Amsterdam,"Full HD",Philips,Linux,116.193.226.211 +1937,fRLv7uWmN,Berlin,4K,Philips,Android,16.171.159.205 +1938,bp20Yi,Paris,4K,Philips,Linux,87.230.212.220 +1939,KiJbUv,Warsaw,4K,Samsung,Ubuntu,198.109.128.200 +1940,JySmBxfnj3,Amsterdam,"Full HD",Sencor,Android,191.11.85.88 +1941,evNdkUS,Warsaw,"Full HD",Philips,Ubuntu,44.64.224.37 +1942,cxVP1h8sK,Warsaw,"Full HD",Philips,Linux,84.199.204.212 +1943,BKtfPN8o,Berlin,"Full HD",Philips,Android,184.152.54.22 +1944,jsbZYQo,Berlin,4K,Philips,Linux,190.239.168.16 +1945,ie3IPXvNE,Warsaw,"Full HD",Sencor,Ubuntu,124.212.255.106 +1946,qUpZRKMQ,Berlin,"Full HD",Sencor,Ubuntu,23.147.251.158 +1947,RI6dngJ,Paris,"Full HD",Samsung,Linux,183.13.218.240 +1948,HfK6RE,Warsaw,4K,Samsung,Ubuntu,12.252.252.58 +1949,vJXG51T2,Amsterdam,"Full HD",Philips,Android,116.114.120.47 +1950,nZJLl,Berlin,4K,Samsung,Linux,239.40.166.174 +1951,OEUyvSHwm,Paris,4K,Sencor,Linux,33.65.30.247 +1952,5HGtmbq,Warsaw,4K,Samsung,Ubuntu,158.205.246.85 +1953,LNnkVJh,Amsterdam,"Full HD",Philips,Linux,142.78.178.154 +1954,unaor3fpK,Berlin,"Full HD",LG,Android,243.175.157.76 +1955,iLOIRm,Warsaw,"Full HD",Samsung,Android,218.246.40.185 +1956,K2HoLOi96Q,Amsterdam,4K,LG,Android,165.108.251.95 +1957,DjTXyoCA,Amsterdam,4K,Sencor,Android,193.206.223.164 +1958,4sVU0y8B,Paris,"Full HD",Samsung,Ubuntu,31.144.66.17 +1959,pTKkU87,Warsaw,4K,Philips,Android,192.45.28.76 +1960,cqHny4Ujob,Warsaw,"Full HD",LG,Linux,91.209.142.86 +1961,DP1B5,Berlin,"Full HD",Samsung,Android,188.65.31.162 +1962,vimTPuAXeO,Paris,4K,Samsung,Android,216.52.161.165 +1963,COVQtZ89j,Paris,4K,LG,Linux,183.117.92.115 +1964,l2Z5Lsk,Berlin,"Full HD",Philips,Linux,209.84.124.206 +1965,MFCNUDJ,Paris,"Full HD",Samsung,Linux,128.188.188.174 +1966,y9h6zRa,Berlin,4K,LG,Linux,194.142.52.10 +1967,ZpXzhv8,Amsterdam,4K,Sencor,Ubuntu,21.185.63.242 +1968,mrQzlJ736,Amsterdam,"Full HD",Philips,Linux,81.237.2.162 +1969,QLjAl23MqC,Paris,4K,Philips,Android,171.201.216.202 +1970,2cZeTh38y,Berlin,4K,Philips,Android,73.51.205.134 +1971,1EvuYdPo,Warsaw,"Full HD",LG,Linux,138.208.174.21 +1972,9zgSUNxV,Paris,"Full HD",LG,Linux,153.42.121.90 +1973,duBbmRgN,Warsaw,4K,LG,Android,98.121.246.153 +1974,HiPc7,Warsaw,4K,Samsung,Android,178.44.253.105 +1975,z3hx2tH,Amsterdam,4K,Samsung,Ubuntu,18.177.109.140 +1976,hBwJI76A,Berlin,4K,LG,Android,5.107.86.207 +1977,H5MiuPO,Berlin,"Full HD",Philips,Linux,228.182.6.127 +1978,9OdwzIuVSP,Paris,"Full HD",Sencor,Linux,87.158.143.39 +1979,Yi07xP1g,Berlin,4K,Sencor,Linux,1.68.184.57 +1980,70qC1sOn,Paris,4K,Samsung,Ubuntu,245.123.19.35 +1981,ofFij,Paris,"Full HD",Philips,Android,142.150.240.228 +1982,wQukm,Warsaw,4K,Philips,Android,26.6.160.182 +1983,iq9vShO,Warsaw,4K,LG,Linux,193.3.209.87 +1984,o4nPVUbKY,Warsaw,"Full HD",LG,Android,24.250.223.60 +1985,teFWb,Amsterdam,4K,LG,Linux,172.140.38.201 +1986,Pjcik14,Berlin,"Full HD",Philips,Linux,49.163.20.76 +1987,nRBamt5,Amsterdam,4K,Sencor,Ubuntu,137.240.98.142 +1988,UD3y0x6d,Paris,"Full HD",Samsung,Android,186.40.174.169 +1989,32FA18Vr,Warsaw,"Full HD",Philips,Android,100.1.176.227 +1990,SzP896wj,Berlin,4K,Philips,Android,61.191.206.83 +1991,h4M9kcxveX,Paris,"Full HD",Sencor,Ubuntu,177.87.38.31 +1992,uGMpIQ69,Warsaw,4K,LG,Ubuntu,230.138.189.151 +1993,4L3nTduwtN,Paris,"Full HD",Sencor,Ubuntu,111.144.87.191 +1994,5VXqWcFd,Paris,4K,Sencor,Ubuntu,130.17.234.123 +1995,4a605MlRd,Paris,4K,Philips,Android,44.63.246.38 +1996,eCgsOlh,Paris,4K,LG,Ubuntu,109.39.103.58 +1997,ZiDAPs,Paris,"Full HD",Samsung,Ubuntu,165.221.223.168 +1998,SDCmL4YPwQ,Warsaw,4K,LG,Ubuntu,62.41.165.85 +1999,D63mC20,Amsterdam,"Full HD",LG,Ubuntu,210.106.37.145 +2000,vtCfUsD5,Berlin,4K,LG,Android,90.142.93.142 +2001,QChl2avR,Amsterdam,4K,Sencor,Linux,93.211.142.219 +2002,A5ogGVl,Amsterdam,4K,LG,Linux,241.121.235.39 +2003,4aZxbwOle,Berlin,"Full HD",Samsung,Ubuntu,22.69.142.255 +2004,XC8EIaNy,Amsterdam,4K,LG,Android,214.178.67.178 +2005,kz0bpf,Berlin,4K,LG,Android,247.32.139.27 +2006,YNfUCArn,Berlin,"Full HD",LG,Linux,246.211.132.113 +2007,oHSlWp2M,Warsaw,4K,Philips,Android,254.206.126.150 +2008,wynGPFuNoQ,Warsaw,"Full HD",LG,Ubuntu,144.174.215.252 +2009,SFWaughbRr,Paris,"Full HD",Samsung,Ubuntu,27.57.65.16 +2010,R2J9WVgo,Warsaw,4K,LG,Android,114.9.223.138 +2011,6y07ZD5,Warsaw,"Full HD",LG,Linux,20.144.226.193 +2012,hjMaiT8o,Paris,"Full HD",Philips,Android,15.120.110.170 +2013,zCANJFmf,Berlin,"Full HD",Samsung,Ubuntu,101.104.196.31 +2014,J5Lz9YiPsK,Amsterdam,"Full HD",LG,Linux,163.86.161.208 +2015,V0mct,Berlin,"Full HD",Samsung,Ubuntu,103.189.218.96 +2016,AoihM,Berlin,4K,LG,Ubuntu,111.158.156.25 +2017,63hZS0O,Amsterdam,"Full HD",LG,Ubuntu,128.28.211.41 +2018,zjK6ly,Amsterdam,4K,Philips,Ubuntu,148.28.55.90 +2019,xmhZsl,Warsaw,4K,Samsung,Ubuntu,88.101.142.29 +2020,sAtunPcF,Berlin,"Full HD",Philips,Linux,91.68.19.235 +2021,6KArOBY9D,Amsterdam,4K,Samsung,Linux,205.10.85.35 +2022,Fn0T5Rot,Warsaw,"Full HD",Sencor,Ubuntu,251.8.42.142 +2023,UesfgP,Amsterdam,"Full HD",Sencor,Linux,49.183.214.199 +2024,cfBx7T2Ot,Warsaw,4K,LG,Linux,164.86.123.22 +2025,LcQ2hiA,Warsaw,4K,LG,Ubuntu,14.76.176.56 +2026,zXGjOfYWpm,Paris,"Full HD",Samsung,Android,242.167.176.200 +2027,zkK0EAvR,Berlin,"Full HD",Samsung,Android,153.96.62.31 +2028,OLukig814s,Warsaw,4K,Philips,Ubuntu,236.255.161.45 +2029,NxnbM,Paris,"Full HD",Sencor,Linux,81.226.90.124 +2030,0QPqwbS,Paris,"Full HD",Sencor,Linux,125.71.252.21 +2031,2lP3KyBj,Paris,"Full HD",Sencor,Linux,46.63.191.248 +2032,JB1Dv,Berlin,"Full HD",LG,Linux,175.130.2.80 +2033,jZ1SF,Berlin,"Full HD",Samsung,Android,119.110.110.91 +2034,ps6aNY,Berlin,"Full HD",Philips,Ubuntu,60.12.104.55 +2035,HYavCuw,Paris,"Full HD",Philips,Linux,38.139.240.22 +2036,seQLGbhv,Paris,4K,Samsung,Ubuntu,225.236.74.59 +2037,MieHsrUaj,Warsaw,4K,Sencor,Linux,211.58.235.250 +2038,LOfqasSAT,Paris,"Full HD",LG,Android,39.251.218.47 +2039,cRyBj,Warsaw,"Full HD",LG,Linux,233.60.172.208 +2040,DPElrqpG0,Berlin,4K,Philips,Ubuntu,199.219.146.46 +2041,j0AJW,Paris,"Full HD",Philips,Ubuntu,184.240.82.50 +2042,1xaRB9,Amsterdam,4K,Sencor,Linux,138.58.122.191 +2043,BeSzVFPR,Amsterdam,4K,Philips,Android,20.11.52.0 +2044,cgF02xN,Warsaw,4K,Samsung,Linux,101.163.142.15 +2045,a5eJq4Eg1l,Paris,4K,Samsung,Ubuntu,45.237.155.229 +2046,NsvConO2xh,Warsaw,4K,Sencor,Android,41.136.186.210 +2047,N3Bwzuck,Berlin,"Full HD",Sencor,Ubuntu,60.155.27.145 +2048,mpfCec9HL,Berlin,4K,Samsung,Ubuntu,156.178.55.92 +2049,B8pOoRI,Paris,4K,Samsung,Linux,159.136.134.85 +2050,TgwOox5QU,Amsterdam,"Full HD",Sencor,Android,160.169.54.80 +2051,TxFqMru,Berlin,4K,Philips,Linux,43.140.127.146 +2052,VfL4g3E,Warsaw,4K,Philips,Android,122.68.0.195 +2053,mnMlZ,Warsaw,"Full HD",Sencor,Linux,202.194.132.241 +2054,VyiO8I,Warsaw,4K,Sencor,Linux,19.134.98.165 +2055,MHsTLeF,Warsaw,"Full HD",Sencor,Android,79.14.84.254 +2056,MPQq6,Berlin,"Full HD",Philips,Ubuntu,94.27.18.174 +2057,pysIo9Px,Amsterdam,4K,LG,Android,189.219.105.236 +2058,q4p8k3X,Paris,4K,LG,Linux,155.221.152.33 +2059,D2tXp,Berlin,"Full HD",Sencor,Android,95.136.35.36 +2060,WhpTd70j,Warsaw,"Full HD",Samsung,Android,133.55.122.80 +2061,rZkBPjm20,Paris,"Full HD",Sencor,Android,255.216.106.14 +2062,ncxlNY6J,Amsterdam,4K,Philips,Ubuntu,30.12.78.175 +2063,9YuPw6,Berlin,"Full HD",Sencor,Android,46.71.21.184 +2064,JpBoG4,Amsterdam,4K,Philips,Linux,68.86.227.208 +2065,m4skN,Paris,4K,Sencor,Ubuntu,83.225.77.255 +2066,gioxGNE,Paris,"Full HD",Samsung,Android,123.240.180.11 +2067,q0ZnXK3,Berlin,4K,Sencor,Linux,69.100.129.150 +2068,MQJgG,Berlin,4K,Sencor,Ubuntu,56.111.18.170 +2069,FqHI7CYN,Berlin,"Full HD",Sencor,Ubuntu,147.252.46.198 +2070,AlByX,Amsterdam,"Full HD",LG,Android,71.74.211.169 +2071,50veUVEw,Warsaw,4K,Samsung,Ubuntu,30.168.189.2 +2072,eZMcE,Paris,"Full HD",Samsung,Linux,89.237.154.142 +2073,AiPg8pqzFn,Paris,"Full HD",LG,Linux,86.181.200.72 +2074,yTgmsb9J3,Paris,"Full HD",Sencor,Linux,73.159.178.5 +2075,eH0yVxSlq,Berlin,4K,Sencor,Linux,188.165.156.125 +2076,iKpuFTeEMb,Warsaw,"Full HD",LG,Ubuntu,189.232.119.178 +2077,RVHji,Berlin,"Full HD",Samsung,Linux,244.177.24.228 +2078,e89jPb2Et,Amsterdam,"Full HD",Sencor,Linux,33.189.237.218 +2079,dVB23,Warsaw,4K,Philips,Linux,78.37.242.145 +2080,BpxcJyav,Amsterdam,"Full HD",LG,Linux,147.167.145.249 +2081,WKQ8w6vmF,Paris,"Full HD",Philips,Android,106.79.187.151 +2082,iBxU0qcHV,Warsaw,4K,Samsung,Ubuntu,67.38.78.105 +2083,gqrOZn,Amsterdam,4K,Sencor,Linux,216.83.13.50 +2084,G4UAjs,Warsaw,4K,Sencor,Linux,9.143.1.106 +2085,75ucD,Warsaw,"Full HD",LG,Ubuntu,15.107.195.105 +2086,cylzkuXZgC,Paris,4K,Sencor,Android,86.134.183.65 +2087,mjVPT7,Berlin,"Full HD",Samsung,Android,107.62.112.199 +2088,rU1ktzTWbO,Warsaw,4K,LG,Linux,107.143.161.121 +2089,SU4Eig,Berlin,"Full HD",Samsung,Ubuntu,217.20.230.71 +2090,YHdFp,Paris,4K,Samsung,Ubuntu,25.21.183.193 +2091,cj4XMLpOW0,Berlin,4K,Philips,Linux,137.2.229.197 +2092,z0n6NKJuQU,Warsaw,4K,Samsung,Android,72.32.216.50 +2093,E9Qype,Amsterdam,4K,Sencor,Android,99.87.138.226 +2094,DLb7JHKXvd,Paris,4K,LG,Linux,109.81.224.166 +2095,6Dvk4,Paris,"Full HD",Sencor,Android,143.23.94.181 +2096,8Y5sqj4X,Paris,"Full HD",LG,Linux,112.30.187.49 +2097,qteOWj5UV,Amsterdam,4K,Sencor,Linux,230.209.83.133 +2098,cD9uJw,Amsterdam,4K,Philips,Android,141.62.120.3 +2099,mASnZGL1,Warsaw,4K,LG,Linux,105.52.173.178 +2100,YTOVbj,Paris,"Full HD",Sencor,Android,131.75.206.58 +2101,y4f7RjS,Warsaw,"Full HD",Philips,Android,207.78.141.210 +2102,XRLpI,Warsaw,4K,Philips,Android,153.159.184.220 +2103,TeZaDxhkS,Warsaw,"Full HD",Samsung,Linux,198.159.128.100 +2104,rdRxAaqGT9,Paris,"Full HD",Samsung,Linux,79.175.27.148 +2105,THW8BGOM,Warsaw,4K,Philips,Ubuntu,239.62.96.154 +2106,CG9t0T3cv,Paris,4K,Sencor,Android,51.182.25.103 +2107,0QD91,Warsaw,"Full HD",Samsung,Linux,211.111.109.42 +2108,8LDdNV9,Warsaw,"Full HD",Philips,Linux,20.34.129.211 +2109,lPJ7d,Berlin,4K,Samsung,Ubuntu,122.17.146.187 +2110,yFArP,Warsaw,"Full HD",Sencor,Ubuntu,191.216.32.83 +2111,zeUW6J,Berlin,4K,Sencor,Ubuntu,57.139.168.211 +2112,HNjw8I,Warsaw,"Full HD",Sencor,Linux,167.2.31.140 +2113,90MJZ,Amsterdam,"Full HD",Samsung,Linux,238.24.233.12 +2114,rJQyui,Berlin,4K,Philips,Android,50.219.186.223 +2115,SXcv5,Berlin,"Full HD",LG,Ubuntu,120.1.177.191 +2116,4QfFmyWsG,Warsaw,4K,LG,Android,164.161.144.141 +2117,MOf5J,Paris,4K,Philips,Linux,197.140.110.8 +2118,U57mSif,Paris,4K,Samsung,Ubuntu,136.157.126.110 +2119,9KUaPuGi8v,Warsaw,4K,Sencor,Android,201.87.35.65 +2120,e0yjk4rYZ,Warsaw,"Full HD",LG,Linux,234.80.203.90 +2121,RGmL4q,Amsterdam,"Full HD",Philips,Android,167.9.227.54 +2122,Ts27t1hDX,Berlin,4K,Sencor,Android,232.212.189.78 +2123,YJuC8TirXd,Amsterdam,"Full HD",Samsung,Android,59.144.244.8 +2124,Mt5Ds7G6TV,Paris,"Full HD",LG,Linux,223.72.34.10 +2125,pOhN7Jv,Warsaw,4K,Philips,Ubuntu,78.140.171.34 +2126,ZEoy18C,Warsaw,"Full HD",Samsung,Linux,228.105.255.122 +2127,Q3VkKRx,Paris,"Full HD",LG,Android,157.137.38.242 +2128,cYh8A,Berlin,4K,LG,Linux,228.37.236.108 +2129,5jqxz,Amsterdam,4K,Sencor,Android,203.69.88.136 +2130,B6eUxZi,Berlin,"Full HD",Philips,Android,179.118.10.219 +2131,4wX2ysYb,Warsaw,4K,Samsung,Linux,85.247.131.2 +2132,tnLuM5eq,Berlin,4K,LG,Ubuntu,69.240.136.21 +2133,mFiKrj,Amsterdam,"Full HD",LG,Android,185.157.182.59 +2134,lKNIt,Paris,"Full HD",Samsung,Linux,81.230.16.188 +2135,XWNL8Dxp92,Paris,4K,LG,Linux,59.42.67.98 +2136,QeknCtKA,Amsterdam,"Full HD",Samsung,Android,226.247.91.183 +2137,UEGw3sVI,Paris,4K,Samsung,Ubuntu,9.91.37.159 +2138,PCG1zUkR,Amsterdam,"Full HD",Philips,Android,69.45.182.107 +2139,yl0DX,Paris,4K,Philips,Android,21.31.62.230 +2140,D5dBgoQn,Warsaw,4K,LG,Ubuntu,162.76.98.40 +2141,ENmT9O2Dbv,Paris,4K,Samsung,Linux,36.134.29.72 +2142,RHb7tL,Warsaw,"Full HD",LG,Ubuntu,28.240.216.236 +2143,OqITi,Paris,4K,Samsung,Linux,210.32.172.108 +2144,BuE6v5I4t,Amsterdam,4K,LG,Ubuntu,177.143.43.228 +2145,sjaT2fqYZK,Warsaw,"Full HD",Samsung,Linux,78.68.249.227 +2146,LKnu87WMxG,Berlin,4K,Philips,Linux,65.242.177.110 +2147,ypfuiH2,Amsterdam,"Full HD",Samsung,Android,24.214.48.182 +2148,JujO4Kto,Paris,4K,Sencor,Android,246.40.251.65 +2149,mFL1Oq5,Warsaw,"Full HD",Philips,Android,129.181.2.129 +2150,ANuhBIwmc,Berlin,"Full HD",Sencor,Linux,139.223.108.104 +2151,X3H1RQxN,Berlin,"Full HD",Philips,Android,97.84.202.54 +2152,GhBjK5,Berlin,"Full HD",Samsung,Android,7.107.54.254 +2153,UhDVxJnM,Berlin,4K,LG,Android,139.66.71.138 +2154,zplVh1Tts,Amsterdam,4K,Sencor,Linux,57.156.148.240 +2155,g9RH1eZm,Amsterdam,"Full HD",Samsung,Linux,189.185.67.169 +2156,wvj8F7geHR,Warsaw,4K,LG,Android,98.200.233.45 +2157,Na5D8d,Paris,"Full HD",Samsung,Android,248.138.107.143 +2158,hOmvCtNrcQ,Berlin,4K,Samsung,Linux,236.169.104.129 +2159,9RnVe8,Paris,4K,Philips,Linux,194.197.146.147 +2160,dB4LFk,Berlin,4K,LG,Android,65.214.60.73 +2161,mRDIt3ykEZ,Amsterdam,"Full HD",Philips,Android,71.209.211.60 +2162,JLhdPWTF,Paris,4K,LG,Ubuntu,121.208.212.136 +2163,FWbDH,Paris,"Full HD",Samsung,Android,39.171.136.207 +2164,LZqS43U,Warsaw,4K,LG,Android,154.250.143.149 +2165,LNSAF04xB8,Paris,4K,LG,Linux,147.92.214.144 +2166,vd5bu9,Paris,4K,Samsung,Ubuntu,126.20.188.162 +2167,UArgjObIx,Amsterdam,4K,Philips,Android,134.113.93.185 +2168,WXb6re,Warsaw,4K,Philips,Linux,205.123.148.89 +2169,krLq0bEC,Amsterdam,4K,Philips,Linux,244.87.101.104 +2170,4U6zeEW,Paris,4K,Sencor,Linux,247.22.219.35 +2171,9Crhw,Berlin,"Full HD",Sencor,Ubuntu,208.236.202.220 +2172,aBo0Wq,Warsaw,"Full HD",Samsung,Android,6.100.75.230 +2173,CWNPLGbOeJ,Berlin,4K,Philips,Linux,98.219.199.215 +2174,Yu8AEt1,Berlin,4K,Sencor,Linux,172.236.3.105 +2175,bU1ElMO9,Paris,4K,LG,Ubuntu,32.149.186.178 +2176,9zHXyN,Amsterdam,"Full HD",LG,Linux,218.41.166.211 +2177,PqMZ8NGXi1,Paris,"Full HD",LG,Android,64.197.39.186 +2178,RcwZKoXq,Amsterdam,4K,Samsung,Android,134.29.49.191 +2179,qhskny,Warsaw,"Full HD",Philips,Linux,7.242.149.210 +2180,VW0IQCYqf,Berlin,"Full HD",LG,Ubuntu,59.121.55.111 +2181,1ioQsmTYf6,Paris,4K,Sencor,Ubuntu,176.10.234.141 +2182,QglCtEPUy,Berlin,"Full HD",Samsung,Android,64.152.68.249 +2183,zfXVD,Paris,4K,Samsung,Android,70.29.99.78 +2184,QJ5aZt9,Paris,"Full HD",Samsung,Linux,62.238.199.104 +2185,mg2bqOle,Berlin,"Full HD",LG,Ubuntu,23.236.116.171 +2186,Bi4bAJ9w7z,Amsterdam,"Full HD",LG,Android,82.194.101.111 +2187,SJjEWu,Paris,"Full HD",Samsung,Ubuntu,159.78.211.96 +2188,qINfe,Paris,"Full HD",Sencor,Android,175.42.40.93 +2189,yipdshfg1W,Paris,4K,LG,Android,124.128.140.186 +2190,JydSDNGIAR,Warsaw,4K,Sencor,Android,102.190.20.250 +2191,HfGPaEmbA,Berlin,"Full HD",Samsung,Android,53.149.123.146 +2192,Bzbgxfwn,Warsaw,"Full HD",Philips,Linux,119.187.187.62 +2193,O2s3paju,Paris,4K,LG,Ubuntu,127.87.206.246 +2194,WBUSR,Warsaw,"Full HD",Samsung,Linux,16.109.217.234 +2195,CxK7TmRsA,Paris,4K,Samsung,Android,36.2.2.152 +2196,euRCpYa3,Berlin,4K,Sencor,Linux,116.111.163.98 +2197,2K9ih,Paris,4K,Philips,Ubuntu,137.106.196.240 +2198,pevTUVk,Paris,"Full HD",Philips,Ubuntu,205.107.115.87 +2199,IJlt9Y6kCM,Berlin,"Full HD",Sencor,Ubuntu,124.191.218.116 +2200,6V0kh,Amsterdam,4K,Philips,Android,59.98.240.42 +2201,gSNex,Paris,4K,LG,Android,183.10.67.230 +2202,teiTEzL7d0,Berlin,4K,Sencor,Android,235.41.253.125 +2203,YQyNMh,Paris,"Full HD",Sencor,Ubuntu,94.40.141.181 +2204,mKrziU,Berlin,"Full HD",Sencor,Android,140.170.51.180 +2205,10vsTryV,Amsterdam,"Full HD",Philips,Linux,184.74.235.12 +2206,aQXzeUO,Berlin,4K,Samsung,Ubuntu,165.126.217.138 +2207,JUzm0ShZ5,Warsaw,"Full HD",LG,Linux,14.32.108.153 +2208,Dk9aV,Berlin,"Full HD",LG,Android,25.248.69.20 +2209,7ho0RHQ,Berlin,"Full HD",Samsung,Ubuntu,63.156.178.150 +2210,iDGI9H2,Warsaw,"Full HD",Sencor,Android,187.58.232.132 +2211,f7TQO,Paris,"Full HD",Samsung,Linux,79.107.169.169 +2212,wH6JgdT,Berlin,4K,Sencor,Ubuntu,24.204.56.165 +2213,N1uQqnfU,Paris,"Full HD",Sencor,Android,143.180.108.227 +2214,TGUQ1I,Warsaw,"Full HD",Philips,Linux,251.92.93.211 +2215,1Bb4NgDcEW,Berlin,4K,Philips,Ubuntu,241.184.23.209 +2216,SeUGd,Warsaw,"Full HD",Sencor,Android,156.42.218.152 +2217,dYbVIA,Berlin,4K,Samsung,Ubuntu,230.193.111.222 +2218,HlEi4WfzG,Berlin,"Full HD",Samsung,Ubuntu,43.81.250.171 +2219,dL5RygOq6V,Berlin,"Full HD",Samsung,Ubuntu,6.11.150.50 +2220,1AYsW,Paris,4K,Philips,Linux,182.231.167.24 +2221,H3tVXi,Warsaw,4K,Sencor,Android,111.36.7.47 +2222,ncHgAxM,Paris,"Full HD",Samsung,Linux,135.31.240.148 +2223,TglWmdB,Warsaw,"Full HD",Philips,Linux,118.147.143.133 +2224,Tjt3MWC,Paris,4K,Philips,Ubuntu,152.139.216.249 +2225,Ehlca1r9,Amsterdam,"Full HD",Samsung,Ubuntu,31.127.244.147 +2226,qDhXEy5ZM,Berlin,4K,LG,Linux,135.44.249.59 +2227,VJ68CyYj,Amsterdam,"Full HD",LG,Ubuntu,100.115.170.123 +2228,0JM1DgC,Paris,4K,Samsung,Linux,242.132.230.87 +2229,kHDmzZO0Ye,Warsaw,"Full HD",Samsung,Ubuntu,102.149.201.212 +2230,6QLWepCn,Warsaw,"Full HD",Sencor,Linux,218.184.6.197 +2231,ClEBc7T,Berlin,4K,Philips,Android,139.58.164.72 +2232,QKLUPcD,Berlin,4K,Philips,Ubuntu,90.44.247.64 +2233,VQIGK74,Berlin,4K,Philips,Android,28.62.196.51 +2234,mVI163,Amsterdam,4K,Samsung,Linux,106.142.103.153 +2235,VZTufYmWEg,Warsaw,"Full HD",LG,Android,113.0.28.165 +2236,3fC9w,Paris,4K,Samsung,Android,159.154.126.125 +2237,t37jFVMWw,Paris,"Full HD",LG,Ubuntu,43.242.210.174 +2238,fyJzLb,Amsterdam,4K,Philips,Linux,83.213.66.56 +2239,h0pRHt,Berlin,4K,Sencor,Android,73.109.155.221 +2240,rX3PKxgViS,Amsterdam,4K,LG,Ubuntu,178.96.197.55 +2241,2GmdNOHBf,Berlin,4K,LG,Linux,225.85.172.105 +2242,qM1IJ0vs4,Warsaw,4K,LG,Android,107.53.113.47 +2243,FiY4n,Warsaw,"Full HD",Sencor,Linux,180.75.11.106 +2244,2iHDlEM,Warsaw,4K,LG,Linux,208.180.195.12 +2245,lm0AJZBk,Warsaw,"Full HD",LG,Android,56.13.41.155 +2246,o3CH0,Warsaw,"Full HD",Samsung,Android,246.191.105.165 +2247,5IAr3dKbj,Berlin,"Full HD",Sencor,Linux,225.249.152.100 +2248,pHC38k,Amsterdam,4K,LG,Ubuntu,29.225.29.40 +2249,iH8BdqaRP,Amsterdam,"Full HD",Samsung,Ubuntu,9.193.29.70 +2250,nXIFUDKvg,Warsaw,4K,Samsung,Linux,14.120.217.75 +2251,EZ6N0,Warsaw,4K,Sencor,Android,212.153.199.184 +2252,WJrwlKcz,Berlin,"Full HD",LG,Android,173.53.43.158 +2253,XPMFCERLu,Paris,4K,LG,Android,230.125.40.66 +2254,30V2dA,Berlin,4K,Samsung,Linux,89.163.26.117 +2255,Dzyu4plF2,Paris,"Full HD",Philips,Ubuntu,191.141.176.209 +2256,pWZluTh67i,Warsaw,"Full HD",Samsung,Android,190.179.7.78 +2257,MdEiBrXTRz,Amsterdam,"Full HD",Samsung,Android,211.242.93.195 +2258,2oNLJHSmhZ,Berlin,4K,Philips,Ubuntu,228.140.176.206 +2259,Xj1Sch,Paris,"Full HD",Samsung,Android,152.240.4.216 +2260,eJwpCHxITR,Paris,4K,Philips,Ubuntu,118.131.141.139 +2261,uUW3j98,Warsaw,4K,Philips,Android,159.92.19.141 +2262,fq5mPyE,Amsterdam,"Full HD",Sencor,Ubuntu,19.110.70.176 +2263,G1cHwqXg,Paris,"Full HD",LG,Linux,6.123.149.41 +2264,fUNTdg,Amsterdam,4K,Philips,Linux,181.125.121.112 +2265,4YK8n,Berlin,4K,LG,Android,105.130.152.142 +2266,V5Br2FN,Berlin,4K,Philips,Ubuntu,6.161.136.163 +2267,Z8uYzTHE,Amsterdam,"Full HD",Sencor,Ubuntu,117.83.109.77 +2268,s3p1WghoU,Amsterdam,"Full HD",LG,Linux,120.8.66.27 +2269,Tx4WP9od,Berlin,4K,Samsung,Linux,57.39.213.128 +2270,3Kin0pg,Berlin,"Full HD",Samsung,Android,58.239.225.157 +2271,aSUiqAQX,Paris,4K,Sencor,Ubuntu,147.11.1.31 +2272,V2Mzm8G,Berlin,"Full HD",Samsung,Android,35.74.138.5 +2273,0aJhLI7HbA,Paris,4K,Samsung,Android,213.253.244.220 +2274,CGOSyh,Warsaw,"Full HD",Sencor,Ubuntu,66.120.93.213 +2275,1Vbhs,Berlin,4K,Philips,Linux,226.24.162.142 +2276,mhqCAa,Warsaw,4K,Samsung,Android,163.237.169.234 +2277,kNModX,Paris,"Full HD",LG,Android,148.183.192.148 +2278,IpWXszxTg,Berlin,4K,Philips,Ubuntu,64.207.222.71 +2279,7TPbSZIql,Berlin,4K,LG,Android,39.22.45.235 +2280,yZqMNeictF,Amsterdam,"Full HD",Philips,Android,137.232.8.212 +2281,L8AU31,Berlin,"Full HD",Sencor,Linux,191.111.175.177 +2282,DfH5ir,Berlin,4K,Samsung,Android,141.143.255.30 +2283,nOqFCpVQa,Paris,4K,Samsung,Android,196.183.12.65 +2284,2omtMU60,Warsaw,4K,Philips,Ubuntu,117.27.28.38 +2285,EOPhbjcyA,Warsaw,"Full HD",LG,Ubuntu,229.124.184.32 +2286,iN2vo,Paris,"Full HD",Sencor,Android,30.166.227.12 +2287,RUStNxvl6,Warsaw,"Full HD",LG,Android,252.218.195.56 +2288,eDc2UwjC9i,Paris,"Full HD",Philips,Linux,60.195.252.33 +2289,WD7a25UZqY,Berlin,"Full HD",LG,Ubuntu,13.177.7.65 +2290,sx3Ttgm0O,Paris,4K,Philips,Ubuntu,22.224.37.195 +2291,7GZUArM9w,Berlin,4K,Philips,Ubuntu,164.0.197.90 +2292,0xcmZh,Warsaw,4K,Sencor,Ubuntu,229.184.168.6 +2293,F3cRozSGw,Warsaw,"Full HD",Samsung,Ubuntu,231.135.128.149 +2294,9iCygLxJFe,Berlin,4K,LG,Android,115.15.254.67 +2295,LcFof7U,Amsterdam,"Full HD",Sencor,Android,190.253.249.226 +2296,HINVky,Amsterdam,4K,Philips,Ubuntu,93.95.50.209 +2297,HiyfYq,Amsterdam,"Full HD",Samsung,Android,209.80.216.3 +2298,sm6eYx9,Amsterdam,4K,Philips,Linux,207.185.12.91 +2299,QZuB9eJFh,Paris,"Full HD",Sencor,Android,192.182.175.49 +2300,0ctUrL8Vso,Warsaw,4K,LG,Android,89.140.15.38 +2301,QZyt17VPf,Paris,"Full HD",Samsung,Ubuntu,130.243.163.167 +2302,x59WmGV,Berlin,"Full HD",Sencor,Ubuntu,10.215.90.154 +2303,9lhULIMr,Amsterdam,4K,Sencor,Android,233.83.222.165 +2304,a21Y0gJKxo,Warsaw,4K,Philips,Linux,233.196.186.36 +2305,Eiue3y,Warsaw,"Full HD",Philips,Ubuntu,70.54.39.135 +2306,DpWzuV,Amsterdam,"Full HD",Sencor,Linux,172.147.208.78 +2307,pObmGeWB,Berlin,4K,Samsung,Ubuntu,215.109.237.217 +2308,QFbnMVwq,Warsaw,4K,Samsung,Ubuntu,236.211.150.125 +2309,TVw1t,Paris,4K,Samsung,Ubuntu,214.178.32.210 +2310,FSr3d5,Amsterdam,4K,LG,Linux,97.230.244.72 +2311,DhHQJyO1bm,Paris,"Full HD",LG,Linux,27.240.22.203 +2312,F41GnJpBIx,Berlin,4K,Sencor,Linux,250.207.84.231 +2313,8mFuDINtp,Berlin,"Full HD",Philips,Android,23.158.42.114 +2314,RscIUeiaH,Paris,"Full HD",Philips,Linux,155.190.170.236 +2315,y4YTP,Warsaw,"Full HD",LG,Android,39.106.219.104 +2316,3fwL5m,Warsaw,"Full HD",Sencor,Android,13.246.40.74 +2317,813Ng,Warsaw,4K,Sencor,Linux,214.197.155.233 +2318,tlepV,Paris,4K,Sencor,Android,209.57.24.208 +2319,zBerQ4w,Amsterdam,4K,Samsung,Android,20.48.111.139 +2320,fnjUYaWd,Amsterdam,4K,Philips,Ubuntu,177.102.100.160 +2321,WZj7KfDC,Berlin,"Full HD",Sencor,Ubuntu,36.116.20.117 +2322,Zade45,Amsterdam,"Full HD",Philips,Android,167.110.89.32 +2323,Xz3vUF,Warsaw,"Full HD",Samsung,Ubuntu,62.147.22.77 +2324,SD7sXpB,Amsterdam,4K,Philips,Android,209.25.143.195 +2325,rqCMa7,Berlin,"Full HD",Samsung,Ubuntu,97.112.128.110 +2326,4q7tWxF,Berlin,4K,Sencor,Ubuntu,218.39.104.142 +2327,WjJhuHZyXQ,Berlin,4K,LG,Linux,249.122.107.96 +2328,Pp15NXq6G,Amsterdam,"Full HD",Sencor,Linux,46.13.248.137 +2329,dUXJYBzwl1,Paris,"Full HD",Sencor,Linux,187.71.238.36 +2330,2LpZsAOtn,Paris,"Full HD",Sencor,Android,25.74.126.35 +2331,tm7Tb,Paris,4K,Sencor,Linux,221.171.115.28 +2332,TUYPNy1,Amsterdam,4K,Philips,Linux,207.162.175.207 +2333,NouaS,Warsaw,"Full HD",Philips,Ubuntu,171.57.24.53 +2334,3BoMID20gL,Paris,4K,LG,Android,17.149.175.143 +2335,WRA5oz,Berlin,4K,Sencor,Linux,222.100.101.69 +2336,GNqDY,Berlin,"Full HD",Sencor,Ubuntu,89.240.87.90 +2337,1tKny,Berlin,4K,Sencor,Android,253.59.141.206 +2338,sZYWG,Berlin,4K,Philips,Linux,136.144.240.248 +2339,1IxrDMp,Paris,4K,Sencor,Linux,64.38.21.243 +2340,IxjG31,Paris,"Full HD",Philips,Ubuntu,55.105.241.47 +2341,2Blb6uU,Warsaw,4K,Sencor,Ubuntu,198.52.63.207 +2342,52dF6Z,Warsaw,"Full HD",Samsung,Ubuntu,160.71.179.19 +2343,3Ji6Dyc,Warsaw,"Full HD",LG,Ubuntu,147.42.26.104 +2344,2iW0JskXcF,Paris,4K,LG,Ubuntu,12.100.144.41 +2345,KtVEsyZR,Berlin,"Full HD",Philips,Android,217.251.106.61 +2346,Nf0Ln8P,Warsaw,"Full HD",Sencor,Android,82.83.250.107 +2347,NuG0hicO,Paris,"Full HD",Philips,Ubuntu,90.249.57.216 +2348,kejWr7NIM,Paris,"Full HD",Samsung,Ubuntu,33.175.131.124 +2349,zF893hndY,Berlin,4K,Samsung,Ubuntu,254.167.136.54 +2350,pNsMHJAT,Paris,4K,Philips,Linux,146.97.44.146 +2351,0e4EB,Paris,"Full HD",Samsung,Ubuntu,118.251.35.231 +2352,mEX8tjgobT,Paris,"Full HD",LG,Linux,35.147.215.70 +2353,bTdHmxA,Berlin,"Full HD",Samsung,Android,182.238.79.127 +2354,EqQB4U,Warsaw,4K,Samsung,Linux,128.5.168.58 +2355,0483VHSoN,Berlin,4K,Samsung,Android,116.32.145.117 +2356,Qv92c,Paris,"Full HD",Sencor,Ubuntu,249.217.12.4 +2357,8tM15uFy,Paris,4K,Sencor,Linux,253.232.227.244 +2358,sei8HN6,Berlin,"Full HD",Sencor,Ubuntu,184.69.142.91 +2359,iCWqMeFA,Berlin,"Full HD",Samsung,Linux,233.36.52.100 +2360,hONTXa,Amsterdam,"Full HD",Philips,Android,198.14.6.29 +2361,lriSk4,Paris,"Full HD",Samsung,Ubuntu,53.204.3.113 +2362,O4PXC7vwJ0,Amsterdam,"Full HD",Philips,Android,135.207.208.104 +2363,MEulSt,Warsaw,4K,LG,Android,243.107.16.175 +2364,4IEgcDl,Warsaw,4K,LG,Ubuntu,41.158.79.228 +2365,v5JFHql,Paris,4K,Philips,Ubuntu,236.21.25.153 +2366,6k4hyzp,Berlin,"Full HD",Philips,Android,209.52.155.17 +2367,INfgj5,Amsterdam,"Full HD",Sencor,Linux,228.3.67.153 +2368,hW7lUu43,Amsterdam,"Full HD",Samsung,Android,53.27.107.40 +2369,ZPtgUGEY1l,Berlin,"Full HD",LG,Android,187.191.33.154 +2370,psxRAn,Paris,4K,Samsung,Linux,53.204.33.70 +2371,y45AuOCxT,Paris,"Full HD",LG,Linux,133.55.113.138 +2372,Lf0mUh,Warsaw,4K,LG,Android,125.19.52.54 +2373,fgoDOI81wK,Warsaw,"Full HD",Sencor,Android,92.16.206.16 +2374,tvdl2I4T,Amsterdam,4K,Philips,Ubuntu,41.210.59.142 +2375,uhlFY40Kg,Warsaw,4K,Samsung,Android,209.230.75.140 +2376,YLD3S1F,Berlin,"Full HD",LG,Linux,172.212.228.47 +2377,EyONABZ0gt,Warsaw,"Full HD",Philips,Linux,27.4.192.175 +2378,FVXPKSW,Amsterdam,"Full HD",Sencor,Ubuntu,186.122.109.158 +2379,axc3myKW,Paris,"Full HD",Samsung,Ubuntu,34.224.164.28 +2380,0Fq1QfjG,Warsaw,4K,Samsung,Android,200.51.225.220 +2381,JjqM32il0,Amsterdam,4K,Samsung,Linux,67.101.77.37 +2382,Bw0z9ZAh,Amsterdam,4K,Samsung,Android,153.218.11.195 +2383,JWdPs,Paris,4K,Samsung,Android,47.41.72.133 +2384,p4aJEi,Paris,4K,LG,Linux,193.228.89.144 +2385,qSN1j6GRW,Berlin,4K,LG,Android,72.225.144.55 +2386,eKCJ1,Berlin,4K,Sencor,Ubuntu,75.91.155.26 +2387,wRXE5,Amsterdam,4K,Samsung,Ubuntu,198.188.26.130 +2388,unoidwzZ7,Paris,4K,Philips,Linux,76.91.29.239 +2389,hKZM8w,Amsterdam,"Full HD",Philips,Ubuntu,187.68.167.35 +2390,Ox0TGKYE,Paris,"Full HD",LG,Linux,157.190.82.100 +2391,uNp8410R,Amsterdam,4K,Samsung,Linux,235.132.151.236 +2392,OD7xhmcRuf,Amsterdam,4K,Samsung,Ubuntu,213.57.59.80 +2393,zhH0JLIb,Warsaw,4K,Samsung,Android,255.178.135.102 +2394,d2RcgNJIlf,Berlin,"Full HD",Sencor,Linux,85.83.81.217 +2395,8HphvCT,Paris,"Full HD",Philips,Linux,36.70.43.53 +2396,ja2GcV,Amsterdam,4K,LG,Ubuntu,101.161.175.212 +2397,JAwqZip6y,Warsaw,4K,LG,Ubuntu,99.241.218.15 +2398,in0CfIQbVp,Paris,4K,Samsung,Linux,14.58.65.249 +2399,OFAQYyDadv,Berlin,4K,Samsung,Linux,222.210.244.250 +2400,30AYQ1x,Berlin,4K,LG,Ubuntu,12.46.220.173 +2401,qIgUasn,Berlin,"Full HD",LG,Linux,43.4.55.128 +2402,3Kcof6,Amsterdam,4K,Samsung,Android,27.59.203.148 +2403,vc5do,Paris,4K,LG,Linux,218.105.69.154 +2404,jLkH7wp2r1,Warsaw,"Full HD",LG,Linux,129.34.141.199 +2405,eg5qBU,Amsterdam,"Full HD",Philips,Ubuntu,98.184.34.109 +2406,rDiwP,Paris,"Full HD",LG,Linux,46.15.7.119 +2407,XHtTE2,Berlin,"Full HD",LG,Ubuntu,221.185.68.94 +2408,49leOiGqKP,Paris,4K,Philips,Linux,101.193.52.85 +2409,fu6ga,Paris,"Full HD",Samsung,Ubuntu,2.14.204.214 +2410,ABY79hwtL,Warsaw,4K,Sencor,Linux,174.67.98.58 +2411,vxy09Zj,Amsterdam,"Full HD",Sencor,Linux,2.253.62.56 +2412,LghTudAq4,Berlin,"Full HD",Philips,Android,124.187.9.169 +2413,Dao3C8A,Amsterdam,"Full HD",Sencor,Ubuntu,135.188.205.170 +2414,KEgrncP2d,Paris,"Full HD",LG,Android,102.250.136.40 +2415,ChrAldI,Paris,"Full HD",LG,Android,179.188.207.54 +2416,4DdLOo,Paris,"Full HD",Sencor,Ubuntu,119.164.197.236 +2417,kZXzDO,Warsaw,"Full HD",Philips,Linux,238.73.160.230 +2418,wVMAY,Amsterdam,4K,LG,Android,55.172.254.120 +2419,QFe7ZWy2v,Berlin,"Full HD",Philips,Linux,181.103.133.147 +2420,rOn7Zh8Ea1,Berlin,4K,Philips,Android,21.232.187.26 +2421,C5lqO,Amsterdam,"Full HD",LG,Android,68.232.163.226 +2422,bNkvE7Vm,Berlin,"Full HD",Samsung,Ubuntu,241.112.102.23 +2423,twZHhs,Paris,4K,Samsung,Ubuntu,156.71.30.120 +2424,u8Exi,Paris,4K,Philips,Linux,185.234.186.124 +2425,5GhKvD,Amsterdam,"Full HD",Philips,Linux,189.190.35.46 +2426,7Vsf5AMzHW,Berlin,"Full HD",Sencor,Linux,233.150.237.90 +2427,PWsxlydj,Amsterdam,"Full HD",LG,Ubuntu,40.3.43.39 +2428,JRBUKiI,Amsterdam,4K,Philips,Linux,179.183.54.189 +2429,OTA7BZWLD,Amsterdam,"Full HD",Philips,Ubuntu,11.253.42.142 +2430,8zjCRV,Paris,"Full HD",Philips,Ubuntu,245.65.194.89 +2431,8Ph2RG,Amsterdam,"Full HD",Sencor,Linux,177.164.221.246 +2432,m3NPArJ,Berlin,"Full HD",LG,Ubuntu,145.116.9.215 +2433,KJSV6YXH,Paris,4K,Sencor,Linux,76.178.63.156 +2434,k9Ko6,Warsaw,4K,Samsung,Android,138.180.236.216 +2435,fHVFwOj,Amsterdam,"Full HD",Samsung,Android,109.112.66.3 +2436,ibldp3,Paris,4K,LG,Linux,241.155.130.229 +2437,eo7TwUn,Amsterdam,"Full HD",Samsung,Android,239.205.50.183 +2438,74PRryEp3W,Paris,"Full HD",Sencor,Linux,44.149.156.122 +2439,QaE2OL,Paris,"Full HD",Samsung,Android,69.144.164.6 +2440,C3smjMEP,Amsterdam,4K,Sencor,Android,15.242.162.28 +2441,JbyraqFozX,Warsaw,"Full HD",LG,Ubuntu,47.74.208.214 +2442,i2mRYJ,Warsaw,"Full HD",Samsung,Linux,66.132.133.87 +2443,BwQVHTLN68,Paris,4K,LG,Android,147.61.44.51 +2444,87yPQ,Berlin,4K,LG,Linux,250.221.110.170 +2445,2Hb9NJ,Paris,4K,Samsung,Android,116.146.56.154 +2446,SZp5EtQkvf,Paris,"Full HD",Philips,Linux,167.113.116.33 +2447,7BKwrGhg6,Amsterdam,4K,Sencor,Ubuntu,84.137.170.207 +2448,5uMYh0P,Warsaw,4K,Philips,Linux,175.24.169.122 +2449,vdAZi2,Paris,4K,Philips,Ubuntu,124.2.5.184 +2450,EVopv,Berlin,4K,Samsung,Ubuntu,195.148.203.34 +2451,lwAFVDLub,Amsterdam,"Full HD",Philips,Android,189.79.107.94 +2452,5g3PVI,Berlin,"Full HD",Philips,Linux,155.172.87.22 +2453,5Ms2chxP,Berlin,4K,LG,Linux,103.227.135.13 +2454,DHz908,Amsterdam,"Full HD",Samsung,Ubuntu,32.83.101.19 +2455,HyPRtk6V,Warsaw,"Full HD",Philips,Ubuntu,146.188.106.23 +2456,P9dU3E7h,Paris,"Full HD",LG,Linux,101.107.194.0 +2457,SnAEO,Berlin,4K,Philips,Linux,125.116.199.130 +2458,Q15Wd7,Berlin,"Full HD",Samsung,Android,100.114.19.113 +2459,ejbaB2,Amsterdam,"Full HD",Samsung,Linux,41.52.106.155 +2460,n0xTj7Gkrc,Paris,4K,Philips,Ubuntu,131.253.129.14 +2461,SgiX87J,Warsaw,"Full HD",Sencor,Ubuntu,67.219.80.208 +2462,gsiGEoDN,Berlin,"Full HD",Philips,Android,197.11.138.216 +2463,Q4FKk5,Warsaw,"Full HD",Sencor,Ubuntu,55.53.252.121 +2464,8ElUpk,Warsaw,4K,Sencor,Ubuntu,252.177.32.201 +2465,S1X2mfuNg,Amsterdam,"Full HD",LG,Android,16.5.232.83 +2466,TUp2rXOEac,Berlin,4K,Philips,Android,195.7.172.164 +2467,amc2WT4Lj,Amsterdam,"Full HD",Samsung,Ubuntu,39.97.252.37 +2468,5rkhl,Paris,4K,LG,Linux,207.27.43.173 +2469,rMPLhUcE5X,Warsaw,"Full HD",Samsung,Ubuntu,152.104.113.115 +2470,ZEOqt8,Amsterdam,4K,Samsung,Ubuntu,195.233.132.31 +2471,Nik4VGuJw,Berlin,"Full HD",Sencor,Android,121.173.219.182 +2472,Lce0pwBdG,Paris,4K,Sencor,Ubuntu,113.148.173.37 +2473,Cd6YLb,Amsterdam,"Full HD",Sencor,Ubuntu,101.20.3.98 +2474,12N7W,Warsaw,4K,Samsung,Android,92.237.79.116 +2475,QLHfPwA,Warsaw,4K,Sencor,Android,171.97.165.109 +2476,tSU4oMx,Warsaw,"Full HD",Samsung,Linux,13.164.17.42 +2477,4kGKf,Berlin,"Full HD",Philips,Ubuntu,246.183.170.29 +2478,NSwTysvp,Amsterdam,4K,Philips,Ubuntu,78.173.187.182 +2479,K9LUAWC8,Warsaw,4K,LG,Linux,172.76.218.95 +2480,aCHEKhm,Warsaw,4K,Sencor,Android,38.227.187.232 +2481,0bDyjmewf,Warsaw,4K,Philips,Android,153.191.73.235 +2482,FvKDVt,Amsterdam,"Full HD",LG,Linux,54.179.161.198 +2483,BCG9lwNug,Amsterdam,4K,Sencor,Linux,248.117.159.151 +2484,5APogy,Amsterdam,4K,Sencor,Ubuntu,32.19.75.206 +2485,Zf24ADCzwq,Amsterdam,"Full HD",LG,Ubuntu,78.216.236.97 +2486,mNKJl,Amsterdam,4K,Samsung,Linux,122.26.107.204 +2487,mtASh,Warsaw,"Full HD",Samsung,Android,38.195.156.208 +2488,0nyCIc2U,Berlin,"Full HD",LG,Linux,38.143.191.183 +2489,tHyksUj,Berlin,"Full HD",LG,Linux,69.158.148.74 +2490,iTS6FeL,Warsaw,4K,Sencor,Android,185.27.215.185 +2491,IeDuc,Paris,4K,Philips,Ubuntu,244.91.201.253 +2492,TGz8cqK,Paris,"Full HD",Sencor,Ubuntu,34.1.48.194 +2493,TVHxQaN,Amsterdam,"Full HD",Samsung,Ubuntu,237.162.58.61 +2494,SqKO1z,Amsterdam,"Full HD",Sencor,Ubuntu,136.67.67.96 +2495,fWQAavq6,Amsterdam,"Full HD",Samsung,Android,226.71.187.2 +2496,YIBel,Warsaw,"Full HD",LG,Android,47.8.155.209 +2497,gOVwmEUu,Warsaw,"Full HD",Samsung,Linux,102.78.107.46 +2498,yRnZf3W,Warsaw,4K,Philips,Linux,147.252.85.71 +2499,Jl1hAkiqb,Warsaw,4K,Philips,Linux,112.13.100.38 +2500,Wpv6kLXt4,Warsaw,4K,Philips,Android,155.87.165.93 +2501,kPJRKsaXZm,Warsaw,4K,LG,Android,35.143.67.82 +2502,r57tiezd,Paris,"Full HD",LG,Android,11.93.115.187 +2503,F2kr6Q,Warsaw,4K,Sencor,Linux,19.121.97.152 +2504,bj6SKy,Berlin,4K,LG,Linux,145.30.102.138 +2505,WNE5bZL8h,Amsterdam,"Full HD",Sencor,Linux,192.108.11.116 +2506,fC1bB,Amsterdam,"Full HD",Sencor,Ubuntu,254.164.164.170 +2507,WsPu2LY,Paris,4K,Samsung,Linux,152.126.77.177 +2508,REWAI,Paris,4K,Philips,Ubuntu,49.188.151.139 +2509,v9MDuXm,Amsterdam,"Full HD",Philips,Ubuntu,102.129.153.100 +2510,CoD9hxcYQ,Berlin,"Full HD",Philips,Linux,189.97.143.3 +2511,jifzWM,Berlin,4K,Philips,Android,15.64.143.126 +2512,bLA1es,Warsaw,"Full HD",LG,Android,71.81.162.57 +2513,qBLxJ,Amsterdam,"Full HD",Philips,Ubuntu,115.193.134.39 +2514,5qyI0i,Berlin,4K,Philips,Linux,36.72.190.34 +2515,jgAYyqmQhL,Amsterdam,4K,Sencor,Ubuntu,4.76.196.197 +2516,MA3CVxNd,Warsaw,"Full HD",Philips,Android,50.154.233.58 +2517,GYDFj,Berlin,"Full HD",Samsung,Linux,164.51.122.0 +2518,3UPGhV0X6,Paris,4K,Samsung,Ubuntu,80.14.15.108 +2519,PLrGN,Warsaw,4K,Samsung,Android,118.50.20.201 +2520,WKu6ba1D,Warsaw,"Full HD",Samsung,Android,154.39.227.33 +2521,foYCNVzM2,Berlin,4K,Samsung,Android,1.58.190.13 +2522,VwRNAHDz,Berlin,"Full HD",Philips,Ubuntu,43.96.254.99 +2523,LVhg9eZP,Berlin,4K,LG,Ubuntu,206.74.23.114 +2524,iuUEQpWn,Paris,4K,Samsung,Android,208.55.129.124 +2525,Hyz29qf7,Paris,"Full HD",Sencor,Android,81.125.115.252 +2526,zBDVmdURjK,Berlin,4K,LG,Android,192.219.128.225 +2527,Zv6DWR,Amsterdam,4K,Samsung,Android,83.76.160.200 +2528,5YI6QcV,Amsterdam,"Full HD",LG,Linux,88.62.48.151 +2529,YVCrlgmW5,Berlin,"Full HD",Sencor,Ubuntu,147.137.62.223 +2530,K2HMBc09xS,Berlin,"Full HD",Sencor,Ubuntu,159.7.252.219 +2531,8KWJoG,Paris,"Full HD",Sencor,Android,29.109.14.102 +2532,ALSO5eM,Amsterdam,"Full HD",Samsung,Android,19.99.178.154 +2533,OZaumfC,Warsaw,4K,LG,Android,17.92.131.21 +2534,JD4KP870E,Warsaw,"Full HD",LG,Ubuntu,77.157.237.146 +2535,qsjv78NiY,Warsaw,4K,Philips,Linux,214.233.154.30 +2536,Oz318R,Warsaw,"Full HD",LG,Android,241.104.4.35 +2537,BVqDlGp8w,Berlin,"Full HD",LG,Android,203.152.152.131 +2538,LMT8d40P,Paris,"Full HD",Samsung,Linux,48.139.56.138 +2539,94ECOjoUsJ,Amsterdam,4K,Samsung,Linux,243.129.50.187 +2540,rzaMWuI5G,Berlin,"Full HD",Sencor,Android,164.138.72.141 +2541,vap7is,Paris,4K,Philips,Ubuntu,85.46.57.59 +2542,ONTXhZlKpb,Warsaw,"Full HD",Samsung,Ubuntu,232.114.2.213 +2543,IaAYOUVu,Berlin,"Full HD",Samsung,Ubuntu,233.188.28.64 +2544,ymsTh3,Amsterdam,4K,LG,Android,208.99.145.103 +2545,yfDSzd8J,Berlin,"Full HD",LG,Android,169.198.221.176 +2546,xBNlRXHPU,Warsaw,4K,Sencor,Ubuntu,105.129.237.184 +2547,YkzRX,Paris,"Full HD",Samsung,Ubuntu,227.157.71.137 +2548,cC5mWsF,Berlin,"Full HD",Samsung,Linux,111.121.189.213 +2549,hl6mF,Amsterdam,"Full HD",Sencor,Android,113.97.149.83 +2550,CLh0e9Mcf,Amsterdam,"Full HD",LG,Android,72.95.133.135 +2551,JZ6L4QuDE,Warsaw,4K,Philips,Ubuntu,30.44.167.125 +2552,Okcgo,Paris,4K,Samsung,Ubuntu,114.17.238.226 +2553,ywgBokm,Berlin,4K,Philips,Linux,78.188.179.82 +2554,FDbwu,Paris,4K,Sencor,Android,234.85.248.11 +2555,J46gAu,Warsaw,4K,Sencor,Android,46.198.191.195 +2556,IbraPvt,Amsterdam,4K,LG,Android,96.14.232.6 +2557,fOIL6H,Paris,4K,LG,Ubuntu,215.128.230.85 +2558,KFNkCfS,Amsterdam,"Full HD",Philips,Linux,77.59.154.176 +2559,rCqZOV,Paris,"Full HD",Philips,Ubuntu,108.226.223.213 +2560,JfAtFcDN,Warsaw,"Full HD",Philips,Ubuntu,252.121.142.239 +2561,75Lwh3QGrl,Berlin,"Full HD",Samsung,Linux,176.180.102.13 +2562,NKJQ0FzItP,Paris,"Full HD",LG,Linux,148.38.189.73 +2563,oTRwLWmF,Berlin,4K,LG,Ubuntu,152.56.108.137 +2564,LTx8i,Paris,4K,Philips,Ubuntu,15.11.65.236 +2565,uatDrHC,Berlin,"Full HD",Sencor,Linux,244.255.111.108 +2566,LlivFSWUPj,Warsaw,"Full HD",Sencor,Android,144.35.159.30 +2567,dPwyVxIL,Amsterdam,"Full HD",LG,Linux,160.150.186.221 +2568,scGq8VL2Y,Amsterdam,"Full HD",LG,Ubuntu,111.166.94.193 +2569,5oGSuziF6,Warsaw,4K,Philips,Linux,214.7.115.86 +2570,w2s47KS,Paris,4K,Samsung,Ubuntu,94.238.87.103 +2571,2BTEW7,Paris,"Full HD",Sencor,Android,130.40.24.165 +2572,nLBlS4DW17,Amsterdam,"Full HD",Philips,Linux,52.188.228.86 +2573,pBMgGy,Amsterdam,"Full HD",Samsung,Android,224.82.234.227 +2574,BbwedkV7ic,Berlin,"Full HD",LG,Ubuntu,192.255.41.178 +2575,AzOLv8,Amsterdam,"Full HD",Philips,Android,236.139.144.147 +2576,3W1j9oJT,Warsaw,4K,Sencor,Ubuntu,245.235.66.28 +2577,FNaCDtA,Paris,4K,Samsung,Ubuntu,149.37.4.118 +2578,FDvyP,Amsterdam,4K,Samsung,Android,217.44.220.49 +2579,To9zBWcU,Paris,4K,Samsung,Linux,76.252.67.201 +2580,rvINWK4Fi,Warsaw,"Full HD",LG,Linux,229.69.182.119 +2581,yJd9Un3w57,Paris,4K,LG,Android,54.113.169.232 +2582,eSdjv3,Berlin,4K,Philips,Linux,160.145.226.131 +2583,tFuLZ,Berlin,"Full HD",Samsung,Android,71.250.25.114 +2584,pAO17ixtYd,Berlin,4K,Philips,Linux,234.3.77.187 +2585,5jxuTC3zqQ,Berlin,4K,Philips,Android,133.99.255.65 +2586,PAK9V,Warsaw,"Full HD",Samsung,Ubuntu,238.64.129.225 +2587,sW5LXTthg,Berlin,4K,LG,Android,224.151.146.215 +2588,0Iyzat,Paris,"Full HD",Samsung,Linux,240.231.151.20 +2589,jx2RcUV8AZ,Amsterdam,"Full HD",Sencor,Ubuntu,217.39.78.9 +2590,AXIKNR3dh,Paris,"Full HD",Philips,Linux,120.234.219.72 +2591,vcCej,Amsterdam,4K,Sencor,Linux,186.123.119.185 +2592,S619tNX,Paris,"Full HD",LG,Android,1.129.193.239 +2593,LrDCey2,Warsaw,4K,Sencor,Linux,148.51.130.248 +2594,lfbX9,Amsterdam,4K,Philips,Android,201.230.50.185 +2595,hbGxs8S,Berlin,4K,Sencor,Linux,206.65.18.247 +2596,SAcWQ,Berlin,4K,Sencor,Ubuntu,129.153.150.168 +2597,WHMnTL,Warsaw,4K,Philips,Ubuntu,39.19.172.216 +2598,GB2xH,Warsaw,4K,Philips,Android,229.200.146.246 +2599,QS7cvGJr,Warsaw,4K,Sencor,Android,73.233.37.231 +2600,6Y9i2e4,Warsaw,"Full HD",LG,Linux,119.70.253.106 +2601,2wiVYyFA,Paris,4K,Samsung,Linux,72.236.240.140 +2602,De6uJ,Amsterdam,"Full HD",Philips,Ubuntu,229.76.173.223 +2603,jEtz5O,Paris,4K,LG,Android,2.204.13.157 +2604,niprU,Berlin,4K,Philips,Linux,213.200.181.158 +2605,aSd1vC,Warsaw,4K,Sencor,Android,234.36.48.12 +2606,pDw9NHRX,Warsaw,"Full HD",Philips,Ubuntu,212.80.177.34 +2607,1EZDhT,Berlin,"Full HD",Sencor,Android,113.32.252.237 +2608,8t6hBkRT4,Warsaw,"Full HD",Philips,Ubuntu,125.147.63.184 +2609,NK217,Paris,4K,Philips,Linux,48.228.229.200 +2610,x4yHSFfI,Berlin,"Full HD",LG,Ubuntu,185.148.9.41 +2611,gBSkLp15r,Paris,"Full HD",Philips,Ubuntu,34.72.198.191 +2612,TQ4jPCB,Amsterdam,"Full HD",Samsung,Linux,166.148.130.2 +2613,0jN5k,Berlin,4K,Sencor,Linux,169.249.91.229 +2614,yv9LbSa,Amsterdam,"Full HD",Philips,Linux,111.140.235.109 +2615,qUC41rG,Warsaw,"Full HD",Samsung,Linux,78.217.191.95 +2616,bqrn6AaIyH,Amsterdam,4K,Sencor,Ubuntu,211.103.68.192 +2617,U5ez4W9q,Amsterdam,"Full HD",Samsung,Android,162.17.82.169 +2618,gQxiHERuw,Warsaw,"Full HD",LG,Ubuntu,254.147.132.197 +2619,fMHtgaZR6z,Berlin,"Full HD",Philips,Android,240.152.72.207 +2620,QOzdIBi2,Amsterdam,"Full HD",Samsung,Android,98.2.165.19 +2621,AjxpdKm5Jt,Paris,"Full HD",LG,Linux,57.45.182.189 +2622,HkQ8oSNCJz,Paris,"Full HD",Sencor,Android,61.211.26.31 +2623,Wqd9Bo,Warsaw,4K,Sencor,Linux,123.145.158.182 +2624,3ALwOtae,Warsaw,"Full HD",Philips,Ubuntu,129.114.154.182 +2625,Nq8pc,Berlin,4K,LG,Ubuntu,80.80.235.230 +2626,afQ7Y3FbI,Amsterdam,"Full HD",Sencor,Android,86.99.178.161 +2627,K2zDmFe7M,Warsaw,4K,Samsung,Linux,157.111.41.138 +2628,SPCRt8n3,Berlin,"Full HD",LG,Linux,227.106.110.165 +2629,XPAguCS,Amsterdam,4K,Philips,Linux,247.135.252.33 +2630,26Rxt,Warsaw,"Full HD",LG,Linux,13.250.54.232 +2631,Sv4whE7,Amsterdam,4K,Samsung,Android,65.85.38.153 +2632,FqAlmkT,Amsterdam,4K,Sencor,Android,130.24.230.158 +2633,7pkfvA,Berlin,4K,LG,Ubuntu,152.226.251.146 +2634,le9KwZVpn,Warsaw,4K,LG,Ubuntu,69.169.83.209 +2635,JcNYHB,Berlin,"Full HD",Philips,Ubuntu,2.209.223.78 +2636,2OPHEnVzZ,Warsaw,4K,Philips,Ubuntu,28.9.150.178 +2637,XOiawho,Amsterdam,"Full HD",Sencor,Linux,27.49.80.169 +2638,qe8t42vxa,Warsaw,"Full HD",Samsung,Linux,106.41.172.113 +2639,o34Fefglxw,Paris,4K,Philips,Ubuntu,66.46.129.172 +2640,Axi8vc,Berlin,"Full HD",Philips,Android,60.184.233.55 +2641,VSHei,Berlin,"Full HD",Samsung,Android,149.94.99.149 +2642,UHb9nD,Amsterdam,"Full HD",Sencor,Android,249.127.121.123 +2643,ETCKdw21,Warsaw,4K,Sencor,Ubuntu,120.18.11.143 +2644,XykvE,Paris,4K,Sencor,Ubuntu,127.186.244.68 +2645,HAix0q6eY1,Warsaw,4K,Philips,Ubuntu,174.60.224.22 +2646,9aiV6,Amsterdam,4K,LG,Linux,136.123.103.10 +2647,nk4i95PUo,Berlin,"Full HD",Samsung,Linux,110.63.146.211 +2648,0MCeVoshk,Paris,4K,Sencor,Linux,45.132.42.124 +2649,HzDMIGc,Paris,4K,LG,Linux,205.66.72.48 +2650,jlP9ogrQ,Amsterdam,"Full HD",Samsung,Ubuntu,28.31.195.122 +2651,NrLB1,Warsaw,4K,Philips,Android,230.108.105.14 +2652,R0HYtoT,Amsterdam,4K,Sencor,Linux,207.209.50.5 +2653,9cWLJnTfl,Paris,4K,Sencor,Linux,71.240.97.105 +2654,uFzYKwqec,Berlin,"Full HD",Philips,Android,202.22.233.138 +2655,kUJDdo,Warsaw,"Full HD",Samsung,Ubuntu,47.76.172.239 +2656,7bYWXu6,Warsaw,4K,Samsung,Ubuntu,43.197.130.235 +2657,CSLYu6Q,Amsterdam,4K,Sencor,Linux,166.7.247.214 +2658,S8buZqUI,Warsaw,4K,Sencor,Android,107.208.255.41 +2659,dyE5vGSMX,Berlin,4K,Samsung,Ubuntu,167.91.103.210 +2660,cwWT0Sa,Warsaw,"Full HD",Philips,Ubuntu,48.244.173.4 +2661,dUa3iHw,Paris,4K,Philips,Android,223.181.94.236 +2662,GDJhb,Paris,"Full HD",Sencor,Ubuntu,228.229.230.17 +2663,d3t0FJqVP,Paris,"Full HD",Philips,Linux,82.115.139.224 +2664,Ke2Rv,Amsterdam,"Full HD",Samsung,Android,72.143.146.125 +2665,WiKu8Y,Warsaw,"Full HD",Samsung,Ubuntu,193.199.142.73 +2666,VzNGDi,Warsaw,4K,Samsung,Android,158.255.236.131 +2667,VHt20wEJWr,Warsaw,4K,Samsung,Ubuntu,77.77.0.186 +2668,ATjc7GL8,Paris,4K,Samsung,Android,135.5.134.161 +2669,WbyVo,Berlin,"Full HD",Samsung,Linux,243.82.23.179 +2670,IuKxkDy,Paris,"Full HD",Philips,Android,17.141.68.34 +2671,vem7W,Warsaw,4K,Samsung,Linux,228.13.34.250 +2672,uSp3X6n,Warsaw,4K,LG,Ubuntu,215.16.247.144 +2673,Fm7siXUO,Berlin,"Full HD",Sencor,Ubuntu,222.155.224.215 +2674,uB2RVm0,Berlin,4K,Samsung,Linux,204.177.236.22 +2675,pxf1k5sBb,Paris,"Full HD",Philips,Linux,97.101.131.89 +2676,0rSiI5PQ,Warsaw,"Full HD",Philips,Ubuntu,94.1.101.48 +2677,ld5Z3,Amsterdam,4K,Sencor,Linux,248.19.215.134 +2678,S7q42LGtc,Paris,4K,Samsung,Android,17.99.83.129 +2679,1j6iw,Berlin,4K,LG,Android,248.135.86.244 +2680,lMAgm04,Warsaw,4K,Samsung,Android,182.109.49.30 +2681,BzELeDwi21,Amsterdam,4K,Sencor,Linux,180.70.143.77 +2682,VO1rCtS,Berlin,"Full HD",Philips,Ubuntu,253.108.238.128 +2683,K0rkmBnIhG,Paris,4K,Samsung,Linux,76.83.154.99 +2684,7gtH9YZcW,Paris,"Full HD",Philips,Android,106.103.234.2 +2685,oyNBHKAzZ7,Amsterdam,"Full HD",Sencor,Linux,128.206.195.43 +2686,u569TAzm,Paris,4K,LG,Android,9.14.122.174 +2687,prBDtv9Yq,Berlin,"Full HD",LG,Linux,65.27.57.14 +2688,4T3uPVb,Warsaw,"Full HD",Samsung,Ubuntu,243.127.171.53 +2689,gXSLkJt,Berlin,"Full HD",Philips,Android,72.82.252.43 +2690,HzX5wB4Yt,Paris,"Full HD",Philips,Android,52.125.126.202 +2691,MhS34,Berlin,"Full HD",Samsung,Android,184.203.235.99 +2692,9HBgqKsvo,Amsterdam,"Full HD",LG,Linux,87.195.137.149 +2693,dmVxM,Paris,"Full HD",Sencor,Ubuntu,250.224.152.97 +2694,0Bhv3idP7,Amsterdam,4K,Philips,Android,128.43.86.63 +2695,ve5UW6Y1Ry,Berlin,4K,Philips,Android,230.209.137.65 +2696,np5hTD,Berlin,4K,Philips,Linux,250.118.137.158 +2697,kPa2E,Berlin,4K,Philips,Android,47.176.42.81 +2698,4QbI6mCu9l,Berlin,4K,Philips,Android,138.13.188.119 +2699,ldB3artMb,Amsterdam,4K,LG,Ubuntu,124.92.215.15 +2700,qTNj1JP,Amsterdam,4K,LG,Ubuntu,144.33.147.192 +2701,eYwBc,Berlin,4K,Sencor,Linux,106.103.161.232 +2702,jqcSy72i,Berlin,4K,Sencor,Linux,71.225.96.61 +2703,nJ5wN7,Berlin,4K,Samsung,Linux,183.86.230.185 +2704,8vcIAg,Warsaw,"Full HD",Sencor,Ubuntu,92.151.78.201 +2705,BYx4P5f,Warsaw,4K,LG,Ubuntu,25.101.157.166 +2706,axJZzFd,Amsterdam,"Full HD",LG,Ubuntu,75.193.20.31 +2707,guiRGE,Paris,"Full HD",LG,Android,147.235.78.254 +2708,VehC2G8,Berlin,4K,Philips,Linux,156.13.40.70 +2709,eydiQbZ,Warsaw,"Full HD",LG,Android,24.109.95.241 +2710,Wxnui,Berlin,4K,Philips,Ubuntu,109.184.136.228 +2711,dqRMGP,Warsaw,"Full HD",Sencor,Linux,90.111.106.196 +2712,U21LPdFi,Amsterdam,"Full HD",Sencor,Android,156.131.253.136 +2713,PVN8OyC,Berlin,4K,Sencor,Ubuntu,154.141.201.181 +2714,Y5kVf,Amsterdam,"Full HD",Philips,Ubuntu,99.133.128.55 +2715,f5BbXceg,Paris,"Full HD",LG,Linux,246.193.200.196 +2716,Jqw4FNjc,Warsaw,"Full HD",Sencor,Ubuntu,188.50.54.152 +2717,3v4iDyg6,Paris,4K,Philips,Android,79.26.72.102 +2718,QPtkGsl7bZ,Berlin,"Full HD",Sencor,Android,234.105.65.137 +2719,DBiEr97G4k,Amsterdam,4K,Samsung,Android,139.185.252.202 +2720,Yml2tLA1Z4,Paris,4K,Philips,Linux,74.197.242.132 +2721,936CFjzGq,Warsaw,4K,LG,Linux,231.202.231.9 +2722,UXP7K,Berlin,"Full HD",Samsung,Ubuntu,244.142.76.5 +2723,jVNqsgdP2,Berlin,4K,Sencor,Android,69.222.179.236 +2724,3jRTdB,Paris,"Full HD",Sencor,Android,58.2.115.37 +2725,T3oSZC2dm,Warsaw,4K,Sencor,Android,51.73.135.225 +2726,1MaFpdU,Paris,4K,Sencor,Android,235.11.193.170 +2727,0M2n3BuGA,Amsterdam,"Full HD",Sencor,Linux,246.248.53.118 +2728,CwYnpNK,Warsaw,"Full HD",Sencor,Ubuntu,22.68.178.113 +2729,GJudR7Z,Berlin,"Full HD",Samsung,Linux,43.24.97.124 +2730,F5pPx,Warsaw,"Full HD",Samsung,Ubuntu,245.34.161.106 +2731,ZkyJ4XNDL,Paris,"Full HD",Philips,Linux,125.177.187.90 +2732,yew7RN5BrO,Paris,"Full HD",Sencor,Linux,47.144.217.25 +2733,lowv3sAX0M,Paris,"Full HD",Philips,Ubuntu,4.254.186.35 +2734,t35kLd8W7,Amsterdam,"Full HD",Sencor,Android,151.254.5.35 +2735,s5Ag0pq,Paris,4K,Sencor,Linux,212.106.60.174 +2736,dNyAw,Warsaw,4K,Samsung,Linux,94.72.200.119 +2737,JCxe43XP,Warsaw,"Full HD",Samsung,Android,220.120.19.28 +2738,WA4tL,Paris,4K,Samsung,Linux,179.211.222.95 +2739,EirWL4nT,Berlin,4K,LG,Android,167.214.96.142 +2740,ldGcxaMw,Paris,4K,Philips,Android,114.10.157.73 +2741,7V2aD,Amsterdam,"Full HD",Sencor,Linux,83.129.202.80 +2742,ONTPQ,Amsterdam,"Full HD",Sencor,Linux,16.198.252.90 +2743,4vibq,Berlin,4K,LG,Ubuntu,232.241.49.3 +2744,L0ZsPdNlXk,Amsterdam,"Full HD",Sencor,Linux,121.228.74.79 +2745,DCyosQ9,Warsaw,4K,Philips,Ubuntu,205.94.217.209 +2746,TABoa,Berlin,4K,Philips,Ubuntu,116.4.234.87 +2747,sfONuHTMGb,Berlin,4K,LG,Linux,174.91.39.0 +2748,e7fn2,Amsterdam,4K,LG,Ubuntu,101.129.199.21 +2749,wagPZu0,Amsterdam,"Full HD",LG,Ubuntu,190.38.113.209 +2750,hY0auV,Paris,"Full HD",Sencor,Ubuntu,130.214.251.254 +2751,HFW3qJap,Paris,4K,Sencor,Android,108.120.112.88 +2752,Jr4TBkmA,Berlin,"Full HD",LG,Ubuntu,237.176.113.225 +2753,D2pNLn,Warsaw,"Full HD",Samsung,Ubuntu,217.91.161.142 +2754,U7M3PKL,Paris,4K,Sencor,Ubuntu,80.85.73.183 +2755,LVJuwmdx,Paris,4K,Samsung,Android,87.129.234.89 +2756,Vbsx6t,Amsterdam,4K,Sencor,Linux,139.67.153.26 +2757,xDYiT,Paris,"Full HD",Sencor,Android,176.117.26.213 +2758,dEilJ4B9,Amsterdam,4K,Samsung,Ubuntu,110.43.35.89 +2759,JhMpxK,Warsaw,"Full HD",LG,Android,79.60.219.75 +2760,HbJlW7,Amsterdam,4K,Samsung,Linux,217.193.94.138 +2761,wDgCv,Berlin,"Full HD",Samsung,Android,72.230.22.63 +2762,38tk20fzH,Berlin,4K,Sencor,Android,143.152.163.39 +2763,Xb13o,Berlin,4K,LG,Linux,163.216.73.163 +2764,ByPQ2J,Amsterdam,4K,Sencor,Linux,219.182.6.2 +2765,yRK1dJVfl,Amsterdam,"Full HD",Philips,Android,194.121.80.249 +2766,axm5X6vA,Amsterdam,4K,Philips,Linux,12.176.58.80 +2767,4Zxtlw,Berlin,"Full HD",Samsung,Ubuntu,196.211.217.138 +2768,iaYdZ3B,Paris,4K,Philips,Ubuntu,1.93.205.0 +2769,VIfrsu5Cja,Warsaw,"Full HD",Philips,Ubuntu,81.222.101.217 +2770,s4Kxnpt,Berlin,"Full HD",Philips,Linux,178.87.148.223 +2771,wIgFeKA06,Warsaw,4K,LG,Ubuntu,32.30.136.57 +2772,MHQjJD,Warsaw,4K,Philips,Android,172.155.185.134 +2773,9wfN1,Paris,4K,LG,Ubuntu,201.37.69.181 +2774,4DVqRhXaus,Paris,4K,Sencor,Android,115.231.42.169 +2775,WPcEBVFagD,Warsaw,4K,Samsung,Android,194.24.232.6 +2776,1o2dRjfpga,Amsterdam,"Full HD",LG,Ubuntu,139.236.86.34 +2777,HhRdj,Berlin,"Full HD",LG,Linux,231.170.34.78 +2778,827imLshg,Warsaw,"Full HD",Sencor,Linux,181.42.195.30 +2779,3idlyB,Amsterdam,4K,Samsung,Android,74.223.249.233 +2780,o9PTJIEUH1,Berlin,"Full HD",Sencor,Android,178.86.21.25 +2781,h7Vlzx,Berlin,4K,Sencor,Android,39.53.182.93 +2782,DFO6AIJ,Amsterdam,4K,Samsung,Ubuntu,219.57.145.106 +2783,NsdtB,Warsaw,4K,Sencor,Ubuntu,3.107.108.55 +2784,vKxOwY,Amsterdam,"Full HD",Philips,Android,151.142.44.140 +2785,5qm32Acw,Amsterdam,4K,Samsung,Android,14.210.201.11 +2786,oAMKX,Warsaw,"Full HD",LG,Linux,63.185.115.87 +2787,yzl7ZBDMdw,Berlin,4K,Philips,Linux,142.187.84.56 +2788,AU7jxL,Berlin,4K,Samsung,Ubuntu,132.6.104.222 +2789,g4H8hDLCTi,Paris,4K,Philips,Linux,252.213.117.142 +2790,akIOLo,Warsaw,4K,Philips,Android,35.224.143.136 +2791,2zwZpKMu7y,Amsterdam,4K,Samsung,Ubuntu,33.28.235.47 +2792,jWuaHmt8G,Berlin,"Full HD",LG,Linux,174.91.60.51 +2793,k9gHtFn,Amsterdam,"Full HD",LG,Linux,156.64.179.142 +2794,z3U25n,Amsterdam,"Full HD",Samsung,Android,59.91.203.134 +2795,LFYsjU,Paris,"Full HD",Philips,Android,146.246.77.142 +2796,lr5Zpn9vqw,Warsaw,4K,Samsung,Ubuntu,196.151.126.147 +2797,OzRG2,Amsterdam,"Full HD",Samsung,Android,209.12.0.121 +2798,uFCnzGW,Warsaw,4K,LG,Android,151.25.186.245 +2799,xHM8qT,Paris,"Full HD",Samsung,Android,0.233.230.149 +2800,M0qJPtfx71,Berlin,"Full HD",Philips,Ubuntu,67.242.85.108 +2801,2GyVMIWpDF,Berlin,4K,LG,Ubuntu,73.78.114.17 +2802,HzWlq1Qg,Paris,4K,Sencor,Linux,238.115.199.179 +2803,6xCwODzI8,Paris,4K,LG,Linux,132.241.109.179 +2804,lVPbKW,Warsaw,"Full HD",Samsung,Ubuntu,54.77.39.99 +2805,7gFCOhoI,Amsterdam,4K,LG,Linux,60.32.194.23 +2806,qCTw3it,Berlin,4K,Samsung,Linux,67.234.52.35 +2807,H4IdjFoYp0,Warsaw,"Full HD",Philips,Android,124.15.61.186 +2808,HhjXZ,Paris,4K,Sencor,Linux,2.200.169.40 +2809,tz39BJGPN,Amsterdam,"Full HD",LG,Android,248.47.252.81 +2810,7QMcS0a,Berlin,4K,Samsung,Ubuntu,68.241.198.144 +2811,mjnEoa,Amsterdam,4K,Samsung,Android,185.184.176.222 +2812,iDJCFad,Berlin,4K,Samsung,Linux,157.230.11.10 +2813,Y1qwUre,Warsaw,4K,LG,Android,221.75.78.205 +2814,ockaOTdKbp,Berlin,4K,Philips,Linux,145.174.3.38 +2815,qwjoOG,Berlin,"Full HD",Samsung,Ubuntu,89.65.75.52 +2816,Lx5AfS,Warsaw,"Full HD",Philips,Android,9.24.247.74 +2817,8il3YRC2d,Paris,4K,Samsung,Ubuntu,225.56.229.68 +2818,kFjuI1x,Berlin,"Full HD",Samsung,Android,206.86.192.204 +2819,DhPSizoU4,Amsterdam,"Full HD",LG,Ubuntu,239.223.238.241 +2820,i7nkg3,Amsterdam,"Full HD",Sencor,Android,222.74.38.72 +2821,swat2,Warsaw,4K,LG,Android,221.200.120.85 +2822,OJ3Hn5u,Paris,"Full HD",Sencor,Ubuntu,172.167.17.147 +2823,c9UqRmG3,Berlin,"Full HD",Samsung,Android,161.25.12.71 +2824,GiDpCeIJF2,Amsterdam,4K,Philips,Android,233.135.162.104 +2825,mIGH3y89,Warsaw,"Full HD",Sencor,Linux,53.130.16.72 +2826,osUNiHzLSf,Warsaw,"Full HD",Sencor,Linux,11.213.37.150 +2827,liA10cy,Amsterdam,4K,Samsung,Linux,167.102.111.217 +2828,vEywd9xb,Berlin,"Full HD",Sencor,Ubuntu,213.170.115.99 +2829,lCUXiItB,Warsaw,"Full HD",Philips,Ubuntu,67.178.160.85 +2830,ZyJ7bjVD5,Amsterdam,4K,Samsung,Android,41.63.75.157 +2831,32PcDUi7S,Berlin,"Full HD",LG,Android,20.178.81.156 +2832,92eODL5,Paris,4K,Sencor,Linux,153.105.128.23 +2833,iM1LUv02TK,Berlin,4K,Philips,Ubuntu,32.63.38.47 +2834,uUGj0vsMzN,Warsaw,4K,LG,Linux,47.209.8.24 +2835,ku26HTlyJE,Berlin,"Full HD",Philips,Linux,22.25.179.169 +2836,rJ0h8IL,Berlin,4K,Philips,Linux,169.143.146.228 +2837,qEpZXGh,Berlin,"Full HD",Sencor,Ubuntu,144.107.231.139 +2838,VFqtSslcLy,Warsaw,4K,Samsung,Linux,111.182.69.188 +2839,v9ZLGx8lA,Paris,"Full HD",Samsung,Android,87.2.123.215 +2840,z05MG9D,Warsaw,"Full HD",Philips,Android,171.58.244.139 +2841,zdqWH,Berlin,4K,Samsung,Ubuntu,38.180.241.120 +2842,mB2704P,Amsterdam,"Full HD",Philips,Linux,58.200.118.107 +2843,m1LA82oMsX,Berlin,"Full HD",Philips,Ubuntu,209.245.105.87 +2844,T3UoSH7hZy,Warsaw,"Full HD",Philips,Ubuntu,160.192.171.109 +2845,KZe7I0S,Warsaw,4K,Sencor,Ubuntu,169.111.64.233 +2846,RXZGxyft2Y,Warsaw,4K,Sencor,Ubuntu,177.36.101.86 +2847,flezL,Berlin,4K,LG,Ubuntu,175.228.172.146 +2848,2Jo07YNS,Berlin,"Full HD",LG,Ubuntu,10.187.150.180 +2849,R28Xl,Amsterdam,4K,Sencor,Android,1.32.1.62 +2850,D5hreWJf,Warsaw,4K,LG,Linux,123.76.45.180 +2851,1QCXTcgpH,Paris,4K,Samsung,Linux,127.87.110.115 +2852,enwkf8HME,Warsaw,4K,Philips,Android,7.236.1.117 +2853,vHPjiB12q,Berlin,"Full HD",Sencor,Android,158.253.100.180 +2854,D6jag0iBJZ,Paris,4K,Philips,Ubuntu,43.194.20.233 +2855,MBJLtdX,Amsterdam,4K,Samsung,Android,203.138.157.122 +2856,dkvZPIQ,Warsaw,"Full HD",Sencor,Ubuntu,48.229.191.252 +2857,m2nv4Ful,Paris,4K,Philips,Linux,95.244.79.82 +2858,erBnL,Paris,"Full HD",LG,Android,80.133.178.193 +2859,wjduyFcY45,Paris,"Full HD",LG,Android,65.62.237.113 +2860,QER5adq,Berlin,"Full HD",Philips,Ubuntu,119.57.142.208 +2861,WGHtE,Paris,4K,LG,Linux,11.130.97.68 +2862,HrzE6,Warsaw,"Full HD",LG,Linux,186.239.201.246 +2863,YDpBUsbX,Paris,"Full HD",Samsung,Android,134.123.140.149 +2864,Elwpvi1,Berlin,4K,LG,Ubuntu,1.39.185.50 +2865,lNjOxMt56s,Warsaw,4K,LG,Linux,68.146.206.234 +2866,GrMlK,Paris,"Full HD",LG,Ubuntu,228.93.87.11 +2867,dNMpAFrU,Amsterdam,"Full HD",LG,Linux,200.200.78.88 +2868,Kb1Umco89M,Paris,"Full HD",LG,Linux,62.143.89.205 +2869,bZCwJgt,Berlin,4K,Sencor,Linux,120.251.1.160 +2870,PmIdxpos,Paris,4K,LG,Android,132.147.213.63 +2871,h5mis,Berlin,"Full HD",Philips,Android,173.139.95.64 +2872,syB7LT,Berlin,"Full HD",LG,Ubuntu,4.47.66.13 +2873,7yO8YMV,Berlin,"Full HD",Sencor,Android,141.152.245.90 +2874,8jgYK,Berlin,4K,Samsung,Ubuntu,252.240.206.193 +2875,oTpEzh9,Paris,"Full HD",LG,Linux,127.236.1.160 +2876,9xFvKEPt,Warsaw,4K,Philips,Android,12.193.73.215 +2877,iBFzVbrds,Berlin,"Full HD",LG,Ubuntu,104.111.57.61 +2878,RGbSdLge89,Warsaw,4K,Samsung,Android,188.31.146.117 +2879,uI2AvwbKl,Warsaw,"Full HD",LG,Linux,137.167.40.91 +2880,fM6w8I2n,Berlin,4K,Sencor,Linux,120.192.159.195 +2881,70NyFsIt,Berlin,4K,LG,Linux,130.11.92.147 +2882,O9mYM,Warsaw,4K,Philips,Ubuntu,70.93.183.82 +2883,ctuoL,Amsterdam,4K,Philips,Android,166.138.10.11 +2884,isPgy8E,Berlin,4K,LG,Linux,224.122.123.234 +2885,MKWn2q1s,Amsterdam,4K,Sencor,Linux,23.79.83.150 +2886,1JBLV,Berlin,"Full HD",Samsung,Ubuntu,143.136.167.154 +2887,vhNkyCS1,Berlin,4K,LG,Ubuntu,137.108.74.175 +2888,WlSPOad7HF,Amsterdam,"Full HD",LG,Android,243.30.138.210 +2889,rLAsT1hG,Warsaw,4K,Sencor,Linux,185.137.168.134 +2890,JqUlFW3Nj,Warsaw,4K,Philips,Linux,16.68.33.11 +2891,LJDOBiHp,Amsterdam,4K,Philips,Ubuntu,137.202.46.7 +2892,fYgQNX,Warsaw,"Full HD",Sencor,Linux,218.240.253.29 +2893,oihKTsRdUm,Amsterdam,4K,Sencor,Linux,48.207.130.133 +2894,vAhqJT,Warsaw,4K,Philips,Android,204.188.94.5 +2895,8Skjb,Paris,"Full HD",Samsung,Android,89.108.108.109 +2896,QCqiZn1,Amsterdam,"Full HD",Sencor,Linux,218.65.17.21 +2897,rD7AJwGQ28,Warsaw,4K,Philips,Ubuntu,153.196.173.103 +2898,9F5lk,Warsaw,4K,Philips,Android,236.119.43.10 +2899,8F0Amn,Warsaw,"Full HD",Sencor,Linux,40.213.4.45 +2900,1PlLiDuY,Warsaw,4K,Philips,Android,32.229.111.9 +2901,LXjmkd,Warsaw,"Full HD",LG,Ubuntu,12.142.98.111 +2902,u0BjvCVFt,Berlin,4K,Philips,Android,114.206.123.75 +2903,8BvDi9GV,Berlin,4K,Sencor,Android,160.43.202.164 +2904,kuOMJ2KtDI,Paris,4K,Sencor,Ubuntu,125.251.195.57 +2905,finYKV3ml,Paris,4K,LG,Linux,43.97.197.218 +2906,QA30W,Berlin,"Full HD",Samsung,Linux,147.222.246.11 +2907,Ke5UhX1At,Berlin,"Full HD",LG,Linux,157.81.234.227 +2908,kSBDN2E0X,Amsterdam,"Full HD",Samsung,Android,66.112.216.66 +2909,wC9Eh,Berlin,"Full HD",Samsung,Ubuntu,180.151.139.89 +2910,rEm0xguVD,Warsaw,"Full HD",Samsung,Linux,170.32.152.234 +2911,bRiyDKon,Berlin,"Full HD",Sencor,Android,188.45.132.100 +2912,HKRQqBzymF,Berlin,4K,Philips,Ubuntu,8.114.115.118 +2913,qjLN1,Warsaw,"Full HD",Sencor,Linux,87.226.149.167 +2914,GHtMEfI,Paris,4K,Philips,Ubuntu,208.54.125.57 +2915,mbvqL4KVSs,Berlin,4K,Philips,Linux,222.96.146.123 +2916,0uAUeq,Warsaw,4K,Philips,Ubuntu,113.165.188.136 +2917,uH1RFko3U,Amsterdam,4K,Sencor,Ubuntu,102.42.43.126 +2918,TC90xyk,Paris,4K,Philips,Ubuntu,191.49.152.251 +2919,wt6oRW,Paris,"Full HD",LG,Ubuntu,198.182.119.83 +2920,1bwBR5,Amsterdam,"Full HD",Samsung,Linux,117.5.18.174 +2921,BMnvK,Berlin,4K,Samsung,Linux,62.25.119.151 +2922,albQd,Paris,4K,LG,Linux,36.114.187.172 +2923,Qcaw9f,Paris,4K,LG,Ubuntu,185.37.48.59 +2924,HIF4BWGE,Berlin,4K,Samsung,Linux,200.16.241.73 +2925,Qn2Xw0ldm,Warsaw,"Full HD",Philips,Linux,35.3.147.47 +2926,WenQcXi7b,Warsaw,"Full HD",Sencor,Ubuntu,252.212.66.137 +2927,VNOEuY,Berlin,"Full HD",Philips,Android,50.203.35.217 +2928,DAo4lPBt5,Warsaw,4K,LG,Linux,35.17.165.67 +2929,eF7xW,Paris,4K,Philips,Ubuntu,252.80.209.135 +2930,PzJE6NgjIC,Paris,4K,Sencor,Linux,10.70.138.174 +2931,VlYGFnu,Berlin,"Full HD",Philips,Android,185.90.45.227 +2932,UA5yxp6,Berlin,4K,Philips,Linux,53.199.223.225 +2933,j04B215Va,Amsterdam,4K,Sencor,Linux,167.207.181.200 +2934,AfOjE,Amsterdam,"Full HD",LG,Ubuntu,131.138.252.116 +2935,3jlPuJRGfs,Paris,4K,Samsung,Linux,157.209.77.100 +2936,0vJc1RiC,Amsterdam,4K,LG,Linux,182.124.5.74 +2937,P7gDBck5SW,Amsterdam,4K,Philips,Android,172.51.238.107 +2938,NxLqiW,Amsterdam,"Full HD",Samsung,Linux,9.72.96.195 +2939,SnlxUeZ,Berlin,4K,Philips,Ubuntu,144.158.3.83 +2940,atyicUz,Amsterdam,"Full HD",Philips,Ubuntu,207.60.138.23 +2941,xHqPhX8Dl,Warsaw,4K,Philips,Ubuntu,124.159.235.141 +2942,Ng2GZ1I,Paris,"Full HD",Samsung,Ubuntu,196.50.17.207 +2943,vRuNz3Epa,Berlin,"Full HD",Philips,Ubuntu,82.141.149.110 +2944,qSJk3YCLM,Berlin,"Full HD",LG,Android,140.184.58.82 +2945,Eli2BPgz1,Warsaw,4K,Samsung,Ubuntu,137.255.27.224 +2946,owaEsdMh,Amsterdam,"Full HD",Philips,Android,187.139.218.223 +2947,qChbN,Berlin,4K,LG,Ubuntu,204.91.186.88 +2948,Flbvhpr,Berlin,"Full HD",Samsung,Android,100.32.41.244 +2949,wFD93uIPzK,Amsterdam,4K,LG,Android,118.45.166.228 +2950,hLECoAKw9V,Berlin,4K,LG,Ubuntu,133.83.56.159 +2951,e4pB2kdJyQ,Berlin,4K,Philips,Linux,172.142.57.210 +2952,0AbIod3N1M,Berlin,"Full HD",Samsung,Ubuntu,38.218.232.7 +2953,sRwOr1gM,Paris,"Full HD",LG,Linux,131.123.114.87 +2954,ZaLOIMQ,Berlin,4K,Samsung,Android,118.132.8.247 +2955,zVnPNXui,Paris,"Full HD",Samsung,Ubuntu,28.26.207.25 +2956,a79mFjIi,Berlin,4K,Samsung,Ubuntu,165.220.132.205 +2957,ya74reAQ,Warsaw,4K,Samsung,Ubuntu,166.81.249.7 +2958,GMmFsrw2,Warsaw,4K,Sencor,Android,200.132.213.168 +2959,NwYfkEnK6,Amsterdam,"Full HD",Samsung,Ubuntu,215.54.42.215 +2960,D5U09,Warsaw,"Full HD",LG,Android,0.27.69.206 +2961,tj1GoL5H,Amsterdam,"Full HD",Philips,Android,84.19.110.123 +2962,ykunEjp,Amsterdam,4K,Sencor,Linux,186.23.183.145 +2963,QStxAYIL,Warsaw,"Full HD",Samsung,Linux,66.31.240.144 +2964,TSmAE9r,Warsaw,4K,Samsung,Android,59.75.139.4 +2965,fdY4u,Paris,4K,LG,Linux,67.141.151.69 +2966,PKctH8Led,Amsterdam,"Full HD",LG,Linux,72.157.106.225 +2967,vUjMKSEk,Paris,"Full HD",LG,Ubuntu,30.80.13.175 +2968,tXsFQ9C,Paris,4K,LG,Ubuntu,79.225.111.184 +2969,dcfAzBr,Berlin,"Full HD",Sencor,Linux,183.220.98.50 +2970,Aw5E6sQH1j,Warsaw,"Full HD",Samsung,Android,114.151.23.36 +2971,Hup3jJdcv,Paris,4K,Sencor,Linux,136.170.165.81 +2972,sKvYJ3FDx,Paris,4K,LG,Android,244.69.127.231 +2973,QmcRnsMCUo,Amsterdam,4K,Sencor,Android,184.99.169.203 +2974,SO7lwWMe6d,Amsterdam,"Full HD",Philips,Ubuntu,201.166.149.139 +2975,8JUDVZIGmz,Amsterdam,"Full HD",Philips,Android,206.140.176.54 +2976,wa98pQXmy,Paris,4K,LG,Linux,157.182.200.96 +2977,eMLS6qD,Warsaw,4K,Philips,Linux,245.224.217.224 +2978,zpJFlgcIa,Warsaw,4K,Samsung,Ubuntu,251.199.233.243 +2979,WJz9ceksxV,Amsterdam,4K,Samsung,Ubuntu,102.207.206.244 +2980,nJOaHbuIB,Berlin,"Full HD",Philips,Linux,13.228.122.180 +2981,izFjMIYc,Berlin,4K,LG,Android,31.39.240.149 +2982,CgJh0j,Paris,"Full HD",Sencor,Linux,37.84.80.214 +2983,ZxVkD,Warsaw,4K,Philips,Android,146.248.218.121 +2984,7vDlAZqsb,Amsterdam,"Full HD",Samsung,Android,235.196.10.180 +2985,6Aj1eBP,Paris,4K,Sencor,Android,105.45.226.89 +2986,LUtjke,Amsterdam,"Full HD",Philips,Linux,152.238.94.78 +2987,4ASB2haIf,Paris,"Full HD",Sencor,Ubuntu,153.239.0.188 +2988,zMX9m,Paris,"Full HD",Philips,Android,208.64.224.157 +2989,FLkmvSPC,Warsaw,4K,Samsung,Android,200.140.239.189 +2990,M9LuK8,Paris,"Full HD",Samsung,Android,114.96.199.69 +2991,RXMOj,Paris,"Full HD",Philips,Ubuntu,52.128.48.115 +2992,l6Qo7Uc2pz,Amsterdam,"Full HD",Sencor,Ubuntu,118.252.167.201 +2993,Yd03VC,Warsaw,4K,Sencor,Ubuntu,4.145.194.188 +2994,JQ1Iz5,Berlin,"Full HD",Philips,Ubuntu,169.195.197.203 +2995,cuBH4,Warsaw,4K,Philips,Ubuntu,180.126.175.143 +2996,u1D8p,Berlin,"Full HD",Sencor,Ubuntu,188.138.133.166 +2997,Zo3Fi,Warsaw,4K,Samsung,Ubuntu,68.93.117.9 +2998,QI5xLa,Berlin,4K,Sencor,Linux,174.117.62.48 +2999,OC6JE,Warsaw,"Full HD",Samsung,Android,96.4.237.135 +3000,ECkTi9D,Amsterdam,4K,Samsung,Ubuntu,15.114.237.133 +3001,dQFPSx5uYe,Paris,"Full HD",LG,Linux,82.4.174.175 +3002,FORZKMVQz,Warsaw,4K,LG,Linux,116.138.152.8 +3003,I4Hu0mD,Amsterdam,4K,Philips,Linux,221.198.91.37 +3004,5SueyO,Paris,"Full HD",LG,Linux,59.241.244.154 +3005,CRZ7ONHMg,Paris,4K,Sencor,Linux,94.221.201.130 +3006,gASWptK,Amsterdam,"Full HD",Philips,Linux,214.124.220.126 +3007,YKbwN,Warsaw,4K,Samsung,Ubuntu,1.231.42.71 +3008,HbIya,Warsaw,4K,Sencor,Ubuntu,104.74.151.71 +3009,3weKLGm,Amsterdam,4K,Samsung,Android,20.198.46.127 +3010,EwDyCFLdlH,Warsaw,"Full HD",Sencor,Ubuntu,221.77.93.7 +3011,NFxkulE,Berlin,"Full HD",LG,Ubuntu,203.0.50.38 +3012,lue1Ts,Berlin,4K,Samsung,Linux,85.13.63.87 +3013,C7Kr1,Paris,4K,LG,Linux,34.110.24.117 +3014,6Th5y,Paris,"Full HD",LG,Android,159.127.247.8 +3015,qnOzWlVuR,Amsterdam,4K,LG,Android,139.124.132.231 +3016,HRLbNZ7c,Paris,"Full HD",Philips,Android,127.189.76.199 +3017,V8ZaLY,Berlin,"Full HD",Samsung,Android,154.173.250.101 +3018,rycaS4,Paris,"Full HD",Philips,Android,176.227.141.166 +3019,7LIxX2,Amsterdam,4K,LG,Ubuntu,239.216.117.190 +3020,d1S3Pa,Amsterdam,"Full HD",Sencor,Ubuntu,39.244.228.25 +3021,2YelbEQUd,Warsaw,"Full HD",Sencor,Linux,203.152.233.151 +3022,r9zN1QtC4u,Paris,"Full HD",Sencor,Linux,168.18.124.74 +3023,t19fA,Warsaw,"Full HD",Philips,Linux,180.241.134.227 +3024,wWihv5AC,Paris,4K,Sencor,Linux,187.230.168.231 +3025,g2GrPxbpi,Amsterdam,"Full HD",Philips,Linux,201.248.20.151 +3026,ewEFjKYq,Warsaw,4K,Samsung,Android,199.220.66.66 +3027,uIZlJk3f,Berlin,4K,LG,Linux,96.37.205.17 +3028,qIMtEb,Warsaw,"Full HD",Philips,Linux,24.243.86.54 +3029,cnQpEHbm,Paris,4K,Sencor,Android,120.80.228.84 +3030,pTyct6qFJ,Amsterdam,"Full HD",Samsung,Ubuntu,252.205.243.209 +3031,UG5W2o,Berlin,"Full HD",Samsung,Linux,194.18.3.220 +3032,j3uX2,Paris,"Full HD",Samsung,Android,158.217.202.136 +3033,wLtTpR5S4,Warsaw,"Full HD",Samsung,Ubuntu,179.34.200.172 +3034,hNucSf7,Amsterdam,4K,Philips,Android,99.115.189.7 +3035,Z1lYJ8gErv,Paris,4K,Philips,Linux,241.96.243.110 +3036,Fm4Zd,Berlin,4K,Samsung,Linux,219.95.114.120 +3037,nPVMDYkzv2,Paris,4K,Sencor,Ubuntu,15.182.90.243 +3038,aYOCJ,Warsaw,4K,Samsung,Linux,152.222.210.239 +3039,4DgoKN,Berlin,"Full HD",Sencor,Ubuntu,153.26.191.189 +3040,TWFUji5R8c,Paris,4K,Samsung,Linux,222.173.226.206 +3041,hgfpBUoTi,Paris,4K,Samsung,Ubuntu,13.173.50.210 +3042,pATlk,Paris,4K,Samsung,Linux,14.111.112.192 +3043,HlU9Ve7C,Paris,"Full HD",Sencor,Ubuntu,115.47.47.180 +3044,83OYKPM,Berlin,4K,Philips,Linux,226.187.125.35 +3045,1j3D80,Warsaw,"Full HD",Sencor,Linux,68.220.231.133 +3046,webyDanGM,Paris,"Full HD",Samsung,Android,44.42.179.187 +3047,fuHX1,Warsaw,4K,Philips,Ubuntu,115.203.206.41 +3048,VBGa0Ep,Berlin,"Full HD",Samsung,Ubuntu,21.165.221.155 +3049,Sdx7Em,Paris,4K,Samsung,Android,196.101.182.175 +3050,iqczw7XUk,Amsterdam,4K,Samsung,Linux,197.183.191.182 +3051,YSb29sWZd,Berlin,4K,Philips,Android,32.11.146.59 +3052,xPE0U3fva,Warsaw,4K,Sencor,Linux,228.148.59.49 +3053,hU2odxft,Amsterdam,"Full HD",Samsung,Ubuntu,25.10.206.255 +3054,DgJuhbr,Amsterdam,4K,Philips,Android,26.205.228.104 +3055,Ilj1UDH6,Warsaw,4K,Samsung,Ubuntu,176.38.248.8 +3056,x2PSFhBq,Warsaw,4K,LG,Ubuntu,26.250.127.89 +3057,AWm8n,Amsterdam,"Full HD",LG,Android,234.227.254.117 +3058,6XjGz4oPam,Amsterdam,4K,Philips,Ubuntu,14.168.114.238 +3059,7GyXBeAgYh,Berlin,4K,Samsung,Linux,64.118.167.184 +3060,MOoTJ,Warsaw,4K,Samsung,Linux,44.112.1.61 +3061,ojfaEF,Warsaw,"Full HD",Sencor,Ubuntu,175.116.217.226 +3062,2HiK7SQ,Berlin,"Full HD",LG,Android,15.14.50.75 +3063,86M5DWQj,Paris,"Full HD",Philips,Android,114.123.208.53 +3064,9dEPQHwI,Berlin,"Full HD",Samsung,Android,170.253.167.54 +3065,KGLR5dbwie,Berlin,4K,Samsung,Ubuntu,34.182.97.129 +3066,DYRXm,Warsaw,"Full HD",LG,Ubuntu,6.128.24.220 +3067,YbfHhymVk3,Paris,"Full HD",Philips,Ubuntu,77.234.141.220 +3068,DP9U7dTMvG,Amsterdam,4K,LG,Ubuntu,219.56.118.121 +3069,KaPUx,Berlin,4K,LG,Linux,54.15.88.239 +3070,q4zf1,Warsaw,4K,Samsung,Linux,11.255.47.34 +3071,r3sw5PM,Amsterdam,4K,Sencor,Android,2.227.232.227 +3072,0BKCpr,Amsterdam,"Full HD",LG,Ubuntu,226.57.95.111 +3073,i4flEU,Amsterdam,"Full HD",LG,Android,103.15.39.45 +3074,J7tArwj9,Berlin,"Full HD",Philips,Linux,165.167.127.242 +3075,X4N5p2q,Amsterdam,"Full HD",LG,Ubuntu,145.237.159.170 +3076,lvNXC,Warsaw,4K,Philips,Ubuntu,109.115.43.125 +3077,eSMvXQ9pD,Berlin,4K,Philips,Android,204.141.72.22 +3078,u6ARch2,Berlin,4K,Samsung,Ubuntu,132.178.2.32 +3079,Exlnr,Warsaw,4K,Sencor,Ubuntu,246.211.191.173 +3080,D6NHctyG3,Warsaw,4K,LG,Ubuntu,61.170.51.95 +3081,mQDisv,Berlin,"Full HD",Philips,Ubuntu,245.49.200.122 +3082,biyqSMH,Berlin,4K,Samsung,Android,102.28.156.168 +3083,Jpe23wlC,Warsaw,4K,Samsung,Linux,198.24.154.46 +3084,R1wo7D6ILQ,Amsterdam,4K,Philips,Android,14.184.109.195 +3085,zGjHm,Warsaw,4K,LG,Android,251.67.114.153 +3086,XKpD0VaqP,Paris,4K,LG,Ubuntu,48.41.107.27 +3087,gGNuB43sE,Amsterdam,"Full HD",Philips,Android,235.61.166.191 +3088,ZauzFh279H,Amsterdam,4K,Philips,Android,112.77.144.88 +3089,e5pa6BQ3s,Warsaw,4K,Philips,Ubuntu,242.19.81.34 +3090,mqp7t1o,Warsaw,4K,Samsung,Android,71.150.169.255 +3091,HNDOEPG,Amsterdam,4K,Sencor,Linux,95.75.198.142 +3092,PO94C,Amsterdam,4K,Philips,Ubuntu,183.80.249.88 +3093,XcLDGb,Warsaw,"Full HD",Samsung,Android,61.46.106.96 +3094,QURYsi,Warsaw,4K,Philips,Linux,219.205.62.227 +3095,oQHfx,Warsaw,4K,Sencor,Linux,215.0.167.97 +3096,hc2wAxp3,Warsaw,4K,Samsung,Ubuntu,37.128.57.82 +3097,9uFHjS2,Paris,"Full HD",Sencor,Android,190.161.74.241 +3098,F4YwQ5BS,Berlin,4K,Philips,Ubuntu,164.67.139.33 +3099,TOAP7pmkg,Amsterdam,4K,LG,Android,248.80.227.157 +3100,4MujO8b,Amsterdam,4K,Philips,Android,240.15.60.64 +3101,l28voA,Berlin,4K,LG,Linux,139.217.164.89 +3102,JezoXfwPyh,Warsaw,"Full HD",Samsung,Linux,174.126.218.172 +3103,flWvU,Paris,"Full HD",Samsung,Linux,196.58.225.171 +3104,2yjUu,Warsaw,4K,LG,Linux,157.44.152.20 +3105,e4Bsvgi5,Berlin,4K,Samsung,Ubuntu,249.239.240.200 +3106,726aS,Berlin,"Full HD",LG,Ubuntu,152.7.186.210 +3107,LbBGchAiH,Amsterdam,"Full HD",Sencor,Ubuntu,24.63.200.31 +3108,sB9H8jk,Paris,4K,Samsung,Android,212.12.195.105 +3109,aTh9yEdSWV,Paris,"Full HD",LG,Ubuntu,201.143.23.104 +3110,C8ft2v5R,Warsaw,4K,Samsung,Linux,92.143.173.247 +3111,aLopUq,Paris,4K,Philips,Ubuntu,170.189.250.80 +3112,Ng9Ym,Amsterdam,"Full HD",Sencor,Android,56.230.69.107 +3113,mis5GHb,Amsterdam,4K,LG,Ubuntu,6.155.142.70 +3114,3pircv,Amsterdam,"Full HD",Sencor,Linux,26.102.190.253 +3115,zxhpKHiyj,Berlin,"Full HD",Philips,Linux,239.213.240.67 +3116,KiLMO5A,Berlin,4K,Philips,Ubuntu,133.95.162.117 +3117,dDgKtZ,Warsaw,"Full HD",Sencor,Linux,217.84.222.33 +3118,yJCc3,Paris,4K,Philips,Linux,185.184.62.30 +3119,O0HlKtdkG,Amsterdam,"Full HD",Sencor,Linux,170.147.13.210 +3120,wEXZPL,Amsterdam,"Full HD",Sencor,Linux,68.197.212.139 +3121,v5kp1yw,Amsterdam,4K,Sencor,Linux,220.162.71.89 +3122,PamUnpdTjC,Paris,"Full HD",LG,Ubuntu,139.142.11.237 +3123,LcIMn,Warsaw,4K,Philips,Ubuntu,22.19.155.10 +3124,B3naqtl5,Berlin,"Full HD",Philips,Ubuntu,176.190.223.107 +3125,FZ63O,Amsterdam,4K,Samsung,Android,101.102.61.92 +3126,EGUJI,Berlin,"Full HD",LG,Ubuntu,203.52.88.149 +3127,HxP0gzm4t,Berlin,"Full HD",Philips,Android,254.78.196.142 +3128,XwgpPyx,Berlin,4K,Samsung,Android,85.38.176.123 +3129,CIrQs,Berlin,4K,Sencor,Android,198.131.111.203 +3130,YVdQMiBJK0,Warsaw,4K,Samsung,Android,161.119.83.42 +3131,NHbIcuEZV,Warsaw,"Full HD",LG,Ubuntu,123.4.158.134 +3132,dQarbqm,Berlin,"Full HD",Samsung,Ubuntu,133.247.182.154 +3133,UlDtoZ,Warsaw,4K,LG,Android,240.6.134.51 +3134,yhstFY,Warsaw,4K,Samsung,Android,10.83.232.206 +3135,dT8m0v,Berlin,4K,Sencor,Android,159.61.35.245 +3136,6R1InCumHd,Berlin,"Full HD",Sencor,Ubuntu,82.207.37.238 +3137,KaAH4br,Warsaw,"Full HD",Philips,Linux,193.195.16.153 +3138,EigRVaL2Z,Warsaw,4K,LG,Ubuntu,69.18.248.117 +3139,92kegr,Warsaw,4K,Samsung,Android,132.249.179.71 +3140,fNeDMl,Paris,4K,Sencor,Android,82.229.172.125 +3141,zyCbf,Berlin,4K,Philips,Ubuntu,228.71.217.231 +3142,9kDpXMOIW,Berlin,4K,LG,Linux,190.244.7.172 +3143,gAsU6,Berlin,"Full HD",LG,Android,33.129.23.135 +3144,Hhbctye,Warsaw,4K,Samsung,Linux,28.23.248.144 +3145,BEMw6cei,Warsaw,"Full HD",Sencor,Linux,170.84.190.22 +3146,I6kYhgSbv,Berlin,4K,Philips,Android,182.9.157.130 +3147,5qiaxTGmKC,Paris,"Full HD",Samsung,Android,229.250.211.255 +3148,Ff6SIxrl,Amsterdam,"Full HD",LG,Ubuntu,136.102.18.226 +3149,NUpy2Tj8Q7,Warsaw,"Full HD",Sencor,Ubuntu,10.91.178.29 +3150,S0mKwyni,Berlin,4K,Philips,Linux,120.153.51.123 +3151,bpd8PKrol,Paris,"Full HD",Samsung,Android,19.11.124.45 +3152,tnifpj,Amsterdam,4K,LG,Ubuntu,68.85.141.170 +3153,7Ml6jI3,Paris,4K,LG,Ubuntu,46.128.200.102 +3154,PfKve,Amsterdam,4K,LG,Ubuntu,242.255.176.25 +3155,2s61jK,Amsterdam,"Full HD",Philips,Ubuntu,14.206.26.105 +3156,3mKYyU,Paris,"Full HD",Philips,Linux,59.103.143.104 +3157,Tvhz2xn4Ha,Berlin,4K,Samsung,Linux,140.226.214.34 +3158,glG0F,Amsterdam,4K,Samsung,Ubuntu,98.255.251.93 +3159,p1dOB5,Paris,4K,Sencor,Ubuntu,89.115.60.96 +3160,ceZdvMTNt,Warsaw,"Full HD",Sencor,Ubuntu,139.236.36.168 +3161,GmWl5Rc,Paris,4K,LG,Ubuntu,137.235.25.26 +3162,1EqPre,Paris,4K,Samsung,Linux,83.67.30.207 +3163,o8aUvPdQZH,Paris,4K,LG,Android,215.184.193.128 +3164,Py4GRh9jZ,Berlin,"Full HD",LG,Ubuntu,166.125.239.150 +3165,lpBzDa,Amsterdam,4K,Samsung,Ubuntu,250.180.171.164 +3166,EcfdaWs,Warsaw,"Full HD",LG,Ubuntu,234.175.1.98 +3167,rbsVHnRFv,Warsaw,4K,LG,Android,101.114.20.62 +3168,1jhRpbN,Amsterdam,4K,LG,Ubuntu,24.154.229.78 +3169,1tTkI79,Amsterdam,"Full HD",Samsung,Android,227.104.33.18 +3170,QOcIhXnd,Berlin,"Full HD",Samsung,Ubuntu,216.200.255.45 +3171,THx6Rj,Amsterdam,4K,Sencor,Android,145.128.72.135 +3172,OrEBsGY,Warsaw,4K,Samsung,Android,113.184.18.108 +3173,qMvnD,Berlin,4K,Sencor,Android,89.32.94.187 +3174,6ae9dpZu,Berlin,4K,LG,Ubuntu,69.53.116.129 +3175,o2LzCYiDk,Warsaw,"Full HD",Sencor,Linux,198.166.78.216 +3176,4GMRfrKbx6,Paris,4K,Sencor,Android,53.192.52.110 +3177,9Dr2kTXM,Berlin,"Full HD",Samsung,Android,233.171.39.226 +3178,TD1gwyKMOo,Amsterdam,4K,Sencor,Ubuntu,39.134.116.69 +3179,35tLzSX,Warsaw,4K,Sencor,Android,102.248.144.163 +3180,IFkLoC,Paris,4K,Philips,Ubuntu,91.184.23.193 +3181,MkfYep3Ky,Amsterdam,"Full HD",Philips,Ubuntu,68.202.230.101 +3182,ZObR1XW,Berlin,4K,Philips,Android,184.80.228.30 +3183,i7eU3Tyazl,Warsaw,"Full HD",Sencor,Android,225.22.106.50 +3184,cSMDEh5kx,Warsaw,4K,Sencor,Ubuntu,255.200.38.62 +3185,7waKr3E,Warsaw,"Full HD",Sencor,Linux,238.161.22.145 +3186,9fo5mi7a,Warsaw,"Full HD",Samsung,Ubuntu,113.204.75.4 +3187,fRxWd,Berlin,"Full HD",LG,Linux,128.9.9.252 +3188,g203J8,Paris,4K,Sencor,Ubuntu,154.176.110.213 +3189,qKj2Wl3Ja,Berlin,4K,LG,Linux,247.161.126.168 +3190,soCxHOFb,Paris,4K,Samsung,Android,238.189.49.225 +3191,fnlAFiCBGq,Berlin,"Full HD",Sencor,Android,214.123.112.158 +3192,k6tS1,Warsaw,4K,Philips,Linux,208.254.81.244 +3193,Ltfd9q,Paris,4K,Sencor,Android,38.112.254.105 +3194,8MhC96i,Berlin,4K,Samsung,Android,108.214.18.127 +3195,xMtvFHk,Amsterdam,"Full HD",Samsung,Android,251.158.10.98 +3196,iJ2KraVe,Paris,4K,LG,Ubuntu,146.48.82.212 +3197,WRkmp,Berlin,"Full HD",Philips,Android,134.209.62.155 +3198,BKzN7GqDcm,Warsaw,4K,Philips,Linux,126.54.231.129 +3199,KT2CjE03g,Berlin,4K,Samsung,Ubuntu,114.166.135.246 +3200,Bi3Ob8XAFo,Amsterdam,"Full HD",LG,Ubuntu,106.140.82.250 +3201,x0Py8,Berlin,"Full HD",Sencor,Android,201.74.105.30 +3202,SD8jsWu,Amsterdam,4K,LG,Ubuntu,52.195.208.253 +3203,HXEVRa,Warsaw,"Full HD",Philips,Android,59.110.224.37 +3204,U4y8A,Paris,4K,LG,Linux,5.178.68.229 +3205,pLkoBzyqFX,Amsterdam,4K,Sencor,Android,27.237.106.164 +3206,DyQSZbMv,Paris,4K,LG,Linux,127.130.240.27 +3207,WVAZ5fEJ,Paris,"Full HD",Sencor,Linux,181.89.240.108 +3208,lg3YLTu,Amsterdam,"Full HD",Sencor,Linux,191.58.65.67 +3209,4Fgcpv2d,Warsaw,4K,Samsung,Ubuntu,58.205.208.80 +3210,xrjseF0vQ6,Amsterdam,4K,Samsung,Android,234.217.11.216 +3211,jk7uiJBTY,Amsterdam,"Full HD",Philips,Linux,134.56.81.153 +3212,5q823TU6F,Warsaw,4K,LG,Ubuntu,19.182.198.214 +3213,KAoFDIbH,Paris,"Full HD",Philips,Ubuntu,79.247.87.81 +3214,1N70c,Berlin,4K,Samsung,Ubuntu,34.129.68.210 +3215,dyHr7IPwXv,Amsterdam,"Full HD",Sencor,Linux,214.43.98.179 +3216,Ex8rSvY,Paris,4K,Sencor,Linux,138.120.140.202 +3217,y8XZ2,Paris,"Full HD",Philips,Ubuntu,124.183.128.200 +3218,kJq9HI,Warsaw,"Full HD",Philips,Ubuntu,128.55.68.165 +3219,0PBDnTEF,Paris,4K,Samsung,Android,206.96.200.163 +3220,dXwmcpTRiz,Warsaw,"Full HD",Samsung,Ubuntu,75.207.192.189 +3221,25AtX,Warsaw,"Full HD",Samsung,Android,157.190.76.254 +3222,yJr3F,Paris,4K,Philips,Android,139.238.44.47 +3223,m9MbIFV,Paris,"Full HD",LG,Ubuntu,77.129.222.177 +3224,UnNJ2Owc,Warsaw,"Full HD",Sencor,Linux,200.102.117.154 +3225,6VcBx8zZfp,Berlin,"Full HD",Samsung,Android,90.164.174.53 +3226,uqhRDk4,Warsaw,4K,Philips,Android,243.255.179.81 +3227,wkyIC,Amsterdam,4K,Sencor,Ubuntu,24.196.154.153 +3228,lIfYyZt0ag,Paris,"Full HD",Sencor,Linux,12.203.10.11 +3229,MOn4L,Berlin,"Full HD",Samsung,Ubuntu,135.158.134.160 +3230,yFQhe,Amsterdam,4K,Philips,Linux,163.20.40.85 +3231,FhrnYS,Amsterdam,"Full HD",Samsung,Android,200.245.92.127 +3232,1Q3hB6LSo,Warsaw,4K,Samsung,Ubuntu,29.23.79.19 +3233,q3xBTC7vs,Paris,"Full HD",Philips,Ubuntu,209.207.129.240 +3234,Itx6v8,Amsterdam,4K,Sencor,Android,246.111.144.203 +3235,czWUDXj9R8,Warsaw,"Full HD",Sencor,Ubuntu,25.244.203.184 +3236,zqSFjr0,Amsterdam,4K,LG,Ubuntu,39.12.234.151 +3237,znZd8MNo,Amsterdam,4K,Philips,Ubuntu,86.128.181.143 +3238,TigsAk2rH,Berlin,4K,Philips,Android,94.145.99.135 +3239,n84U2ZImCE,Amsterdam,4K,Samsung,Ubuntu,71.238.73.100 +3240,TVO5B,Berlin,4K,Philips,Linux,36.21.170.94 +3241,yaWpF1vC8D,Warsaw,4K,Samsung,Linux,139.13.152.105 +3242,auywG4VB,Amsterdam,4K,Samsung,Linux,35.105.224.10 +3243,ixPsTlfMh,Berlin,4K,Sencor,Linux,201.245.1.154 +3244,AytOJFvgQ,Amsterdam,4K,LG,Android,17.42.88.250 +3245,c9ZYiC01,Paris,4K,Sencor,Android,200.67.109.121 +3246,tGRx6MflB,Paris,"Full HD",Samsung,Linux,191.68.242.4 +3247,IW2CZedb,Warsaw,"Full HD",Samsung,Android,2.92.44.246 +3248,7guclo,Berlin,"Full HD",Sencor,Android,249.165.196.228 +3249,HEsoty,Paris,4K,Philips,Ubuntu,184.32.158.222 +3250,vsfJnp2M,Paris,4K,Samsung,Linux,87.215.51.70 +3251,tBHbIfKMjC,Warsaw,"Full HD",LG,Ubuntu,194.59.141.17 +3252,hXPs2,Berlin,"Full HD",Sencor,Linux,217.27.134.246 +3253,OC6jyHX,Warsaw,4K,LG,Linux,216.73.162.224 +3254,mA6dvbJP,Berlin,"Full HD",Sencor,Ubuntu,29.5.4.62 +3255,rVtP4M1h0,Amsterdam,"Full HD",Sencor,Ubuntu,119.117.79.0 +3256,qIalx,Paris,4K,Samsung,Linux,208.137.46.94 +3257,wVIKJ2gU,Warsaw,"Full HD",LG,Linux,50.194.121.138 +3258,RGEcdMBxL,Berlin,4K,LG,Android,67.157.225.247 +3259,z3nF1T,Warsaw,"Full HD",LG,Linux,114.229.51.17 +3260,vlBd0FQ,Amsterdam,4K,Samsung,Linux,68.57.197.28 +3261,clgZ9Em0,Amsterdam,4K,LG,Android,77.211.171.110 +3262,DLjQpuEUY,Berlin,4K,Samsung,Linux,26.193.252.226 +3263,TvY3Sq2,Amsterdam,"Full HD",LG,Android,108.75.84.93 +3264,485pAtG,Berlin,"Full HD",Philips,Android,174.71.52.116 +3265,YiemoLI,Paris,4K,Samsung,Ubuntu,65.237.165.252 +3266,vr7dP2aBF,Warsaw,4K,Sencor,Ubuntu,24.77.223.41 +3267,FPBDiES5w,Paris,4K,Sencor,Linux,9.145.94.210 +3268,uylFCT,Amsterdam,"Full HD",Philips,Ubuntu,6.89.5.103 +3269,vdGDp1C,Amsterdam,"Full HD",Samsung,Android,154.38.70.235 +3270,1rJbRnimN,Berlin,"Full HD",Samsung,Linux,149.126.244.59 +3271,Jzq5BW,Paris,4K,LG,Ubuntu,167.41.254.216 +3272,GbI6jqFY,Amsterdam,"Full HD",LG,Android,182.175.124.42 +3273,GOn3heDdtB,Paris,4K,Philips,Ubuntu,91.94.170.249 +3274,Uw9BZbzifr,Warsaw,4K,Philips,Linux,29.56.116.171 +3275,yDIi4LHgRN,Berlin,"Full HD",Sencor,Linux,160.130.175.200 +3276,txXjyS,Berlin,4K,LG,Ubuntu,185.72.25.173 +3277,zXTQI58bF,Paris,4K,LG,Android,242.105.137.22 +3278,gCUxT2,Paris,"Full HD",Sencor,Android,231.114.204.255 +3279,hDrd6AnqRP,Warsaw,4K,Philips,Android,144.125.238.174 +3280,UpgXW0Ex2,Paris,4K,Philips,Ubuntu,23.236.72.94 +3281,lNHCM3kdLv,Amsterdam,4K,Philips,Linux,162.116.6.98 +3282,JBgoZ71,Berlin,"Full HD",Philips,Android,186.145.251.203 +3283,co3TF,Berlin,"Full HD",Samsung,Android,120.225.132.147 +3284,RcKivkDXf,Paris,"Full HD",Samsung,Linux,130.13.69.127 +3285,Jeq43rM2iX,Paris,4K,Samsung,Linux,169.157.59.6 +3286,47YHKft,Berlin,"Full HD",Samsung,Ubuntu,253.26.145.251 +3287,UDzAxM,Amsterdam,4K,LG,Android,226.61.251.137 +3288,93Y25G,Amsterdam,"Full HD",Sencor,Ubuntu,138.22.73.40 +3289,ogFhSRb8,Amsterdam,"Full HD",Philips,Linux,107.229.247.19 +3290,CO0yu,Amsterdam,"Full HD",Philips,Ubuntu,239.145.196.90 +3291,nMLTFAsd,Amsterdam,"Full HD",LG,Ubuntu,248.117.252.9 +3292,L7iRom,Warsaw,"Full HD",LG,Linux,16.234.231.254 +3293,96vkbR,Warsaw,"Full HD",Philips,Ubuntu,19.99.207.234 +3294,SUGcRjAxd,Paris,4K,Sencor,Android,236.236.218.243 +3295,9qXWvmtZw,Amsterdam,"Full HD",Philips,Android,180.183.237.9 +3296,Ot0b7xdSl,Berlin,"Full HD",Samsung,Linux,244.232.101.189 +3297,PBSLHRaFIn,Amsterdam,"Full HD",LG,Linux,96.244.102.2 +3298,o3FWPHn,Amsterdam,"Full HD",Samsung,Android,127.250.205.197 +3299,sj9kCQPN,Berlin,"Full HD",Sencor,Android,16.108.52.45 +3300,YhimXSg,Berlin,"Full HD",Sencor,Linux,254.247.89.160 +3301,UD5EP3GVme,Berlin,"Full HD",Philips,Android,235.104.64.135 +3302,LmHucwyn9,Berlin,4K,Philips,Linux,132.26.52.217 +3303,NGmAnjJWva,Berlin,"Full HD",LG,Ubuntu,132.155.106.126 +3304,KFVC8cx,Warsaw,4K,Samsung,Ubuntu,171.103.177.62 +3305,8Nfjg,Paris,"Full HD",Samsung,Linux,14.196.242.165 +3306,DE5AFzJ7x,Berlin,4K,Samsung,Linux,246.132.12.106 +3307,p0WGxmd,Paris,4K,Samsung,Android,52.158.202.217 +3308,8TvROBl,Warsaw,"Full HD",Samsung,Ubuntu,49.176.33.122 +3309,UyKX5q6,Amsterdam,"Full HD",Sencor,Ubuntu,4.133.26.197 +3310,xSbCnKMB,Warsaw,4K,Philips,Linux,75.89.147.200 +3311,CHz1AfJ,Paris,4K,Sencor,Ubuntu,11.171.77.59 +3312,UxK3nTS2P,Paris,4K,LG,Linux,132.105.4.69 +3313,IyhpE,Warsaw,4K,Samsung,Ubuntu,239.207.15.0 +3314,CeUt8iXYrM,Amsterdam,4K,Philips,Android,243.254.197.214 +3315,PbqGix,Warsaw,4K,Samsung,Ubuntu,194.8.200.193 +3316,NWd413BV,Warsaw,4K,Samsung,Linux,189.119.180.169 +3317,ODQlA,Paris,4K,LG,Android,87.237.72.213 +3318,P3vZlX,Paris,4K,Sencor,Android,199.11.43.164 +3319,O75GNIyw,Warsaw,4K,Philips,Linux,244.11.160.23 +3320,DaAHL,Paris,"Full HD",Sencor,Linux,6.41.45.232 +3321,L1cX8q6,Berlin,"Full HD",Samsung,Android,55.82.11.80 +3322,hvsfY,Berlin,4K,Samsung,Android,249.207.141.117 +3323,Tmsd5X,Warsaw,4K,LG,Android,53.133.117.94 +3324,FymJp7Ya,Warsaw,"Full HD",Philips,Android,128.106.151.86 +3325,0BDnShK8w,Warsaw,4K,LG,Linux,166.195.213.137 +3326,0X2yiqL5WB,Amsterdam,4K,Samsung,Linux,180.41.37.166 +3327,40uEHyfjY,Warsaw,4K,Philips,Ubuntu,113.110.103.226 +3328,ousXnR,Paris,"Full HD",Sencor,Android,87.58.74.221 +3329,f9ScGmBFUh,Amsterdam,"Full HD",Philips,Android,240.204.229.157 +3330,KjpOB5MH,Paris,4K,Philips,Ubuntu,214.245.108.232 +3331,aWcxYTp3P,Amsterdam,4K,LG,Linux,102.78.148.94 +3332,cQCKqdkihW,Berlin,"Full HD",LG,Ubuntu,156.70.237.216 +3333,yZaHE2qdv,Berlin,"Full HD",Sencor,Ubuntu,89.158.137.58 +3334,YctOAzF20,Berlin,"Full HD",Philips,Ubuntu,55.193.38.7 +3335,R0BAK,Warsaw,"Full HD",Sencor,Ubuntu,81.174.167.85 +3336,fgMB2e,Amsterdam,"Full HD",Sencor,Android,11.189.31.102 +3337,UaIREpsr,Paris,"Full HD",Sencor,Android,170.185.169.79 +3338,0VWO5aFk,Berlin,"Full HD",Samsung,Ubuntu,159.117.46.11 +3339,W4egS5,Paris,4K,Sencor,Ubuntu,144.82.36.208 +3340,3WjHiZdr,Berlin,4K,Philips,Linux,209.194.157.144 +3341,Qae2Sq,Paris,"Full HD",Philips,Linux,71.42.157.77 +3342,VDw1Sn0s,Amsterdam,4K,Sencor,Ubuntu,169.242.227.248 +3343,3fZaUQehY,Warsaw,4K,Samsung,Ubuntu,135.234.217.141 +3344,lM8FcpmXH5,Berlin,4K,Philips,Android,28.15.123.185 +3345,e32QSYh,Paris,"Full HD",Sencor,Android,80.193.252.105 +3346,xf9Va3bqi,Warsaw,4K,LG,Android,117.156.136.184 +3347,uUBk4,Berlin,4K,Samsung,Android,230.151.239.49 +3348,MNIZcJ,Amsterdam,4K,Sencor,Ubuntu,220.10.193.141 +3349,hHCZyW,Amsterdam,4K,Samsung,Android,23.201.212.38 +3350,ITcJZ,Warsaw,"Full HD",Sencor,Linux,174.76.216.249 +3351,oAtmaR7,Paris,"Full HD",Samsung,Android,108.80.139.247 +3352,keMNh4L,Amsterdam,4K,Samsung,Ubuntu,214.139.73.39 +3353,B0yg4,Paris,4K,Samsung,Android,217.37.123.133 +3354,Dk7brJEFjQ,Warsaw,4K,Sencor,Android,65.234.147.2 +3355,vYLSQmw,Berlin,"Full HD",Philips,Android,255.46.126.41 +3356,5GdviHVjo,Berlin,"Full HD",Samsung,Ubuntu,165.92.205.131 +3357,7IZ1pyS,Paris,4K,LG,Linux,99.184.129.171 +3358,CYbyAN,Warsaw,4K,LG,Ubuntu,159.117.163.15 +3359,BLdk7cZ31,Amsterdam,"Full HD",Sencor,Ubuntu,57.64.71.184 +3360,B5a9oS,Amsterdam,"Full HD",Sencor,Android,163.248.85.173 +3361,Ue987x,Paris,"Full HD",LG,Android,255.195.135.31 +3362,Mzaoh,Warsaw,"Full HD",Samsung,Linux,15.156.1.245 +3363,U3tbX,Berlin,4K,Samsung,Ubuntu,77.191.36.139 +3364,W5AG81h,Paris,4K,Philips,Ubuntu,249.85.161.252 +3365,vn6YaRzfs,Paris,4K,Philips,Android,141.209.110.101 +3366,0KMli,Paris,4K,LG,Ubuntu,211.125.25.56 +3367,SiIJ6t,Berlin,"Full HD",LG,Linux,229.214.142.77 +3368,JOhYic36I,Amsterdam,4K,LG,Android,135.234.152.9 +3369,vIt6BJrM,Warsaw,"Full HD",Samsung,Linux,118.10.20.23 +3370,XJL7ovm,Amsterdam,4K,Philips,Ubuntu,190.146.201.240 +3371,wghUe8JzG,Amsterdam,4K,Philips,Ubuntu,39.238.227.83 +3372,2zTWs,Berlin,4K,Sencor,Ubuntu,77.120.102.8 +3373,m1LIFCpAQv,Amsterdam,"Full HD",LG,Linux,28.140.6.176 +3374,pF9Akn8W,Warsaw,"Full HD",LG,Linux,28.226.225.176 +3375,sNyn2,Paris,4K,LG,Android,240.158.153.4 +3376,yBTlzEH3,Warsaw,4K,LG,Android,34.150.163.17 +3377,x2GmY,Berlin,"Full HD",Philips,Linux,157.170.196.26 +3378,EGg3qwjt,Warsaw,4K,Samsung,Ubuntu,35.110.194.171 +3379,rN8hD,Amsterdam,4K,LG,Ubuntu,98.225.54.183 +3380,jdrOZi,Paris,"Full HD",LG,Android,35.150.254.55 +3381,wQE82NBJ,Berlin,"Full HD",LG,Linux,45.216.114.228 +3382,e3AuQ2F,Warsaw,4K,Samsung,Android,43.160.135.69 +3383,SONkY,Amsterdam,"Full HD",Sencor,Ubuntu,249.243.20.23 +3384,zRtF4L5vuI,Berlin,"Full HD",Philips,Android,195.103.4.32 +3385,XQ6UgfnHp,Warsaw,"Full HD",Samsung,Ubuntu,180.231.79.13 +3386,G38rhW9I,Amsterdam,4K,Philips,Android,231.164.202.26 +3387,Chgnt,Berlin,"Full HD",Samsung,Ubuntu,127.106.225.40 +3388,i7HwI,Warsaw,4K,Sencor,Ubuntu,10.174.1.212 +3389,0pCVayk,Berlin,"Full HD",LG,Ubuntu,74.164.1.163 +3390,xurp3lXC8F,Berlin,4K,Samsung,Android,108.60.176.170 +3391,s3Az2HDak,Paris,"Full HD",Philips,Linux,124.135.142.170 +3392,8hBsKva,Berlin,4K,Samsung,Linux,5.66.185.209 +3393,VlE3MG26If,Berlin,4K,Samsung,Ubuntu,237.46.197.15 +3394,TRjGdyA,Amsterdam,4K,Sencor,Android,25.138.102.209 +3395,kxJSGj,Berlin,"Full HD",LG,Ubuntu,216.136.81.9 +3396,eBNum,Paris,"Full HD",Philips,Linux,22.41.222.185 +3397,waSD9,Berlin,4K,Sencor,Android,202.191.204.128 +3398,ketwU,Paris,4K,Sencor,Linux,220.228.117.35 +3399,RnGSuslM8,Berlin,4K,LG,Ubuntu,75.233.195.124 +3400,MwXW8Ge12H,Paris,"Full HD",Samsung,Android,187.245.48.44 +3401,IePR6,Berlin,"Full HD",Samsung,Android,97.54.199.167 +3402,6ELf0vCNeU,Paris,"Full HD",Sencor,Android,193.143.240.168 +3403,PDcX3Cp,Berlin,"Full HD",LG,Android,96.10.180.212 +3404,ujmQMSnLN,Warsaw,"Full HD",Sencor,Ubuntu,169.215.211.176 +3405,7KA52ExDXJ,Amsterdam,"Full HD",Philips,Linux,77.206.148.225 +3406,6Q8qs,Berlin,"Full HD",Sencor,Ubuntu,55.4.48.59 +3407,nIj6ml,Berlin,"Full HD",Philips,Android,90.80.158.7 +3408,eYDfIzEAr,Amsterdam,4K,Sencor,Android,252.79.232.0 +3409,1Q0DgbrZTY,Berlin,4K,Samsung,Android,120.120.74.98 +3410,I6dX4FS3,Amsterdam,"Full HD",Philips,Ubuntu,194.76.94.37 +3411,c8i0GL4Iqa,Paris,4K,LG,Ubuntu,120.30.181.1 +3412,db3Ymn,Warsaw,4K,Samsung,Linux,146.239.110.247 +3413,re7DTIvFbn,Berlin,4K,Sencor,Linux,107.48.64.120 +3414,nEomOM,Paris,4K,Samsung,Linux,157.232.119.102 +3415,YFMquBDba,Berlin,4K,Samsung,Ubuntu,165.54.20.124 +3416,m4YwsIg5,Amsterdam,4K,Sencor,Linux,65.199.135.230 +3417,9bxEN,Paris,4K,Philips,Android,151.182.26.120 +3418,Qbnta,Amsterdam,"Full HD",LG,Ubuntu,168.224.226.195 +3419,GYCwtM0,Warsaw,"Full HD",LG,Linux,198.164.92.93 +3420,J2VBpuNM,Warsaw,4K,Philips,Linux,7.43.230.197 +3421,vZj7RQm,Warsaw,"Full HD",LG,Linux,179.140.188.22 +3422,1vkJFxKHUq,Amsterdam,4K,Philips,Android,72.193.197.41 +3423,KAkpWDXPry,Paris,4K,Samsung,Ubuntu,108.70.10.194 +3424,jwQWJg5,Berlin,4K,Sencor,Linux,210.200.226.31 +3425,YkaIyQ0h,Paris,"Full HD",LG,Ubuntu,31.243.73.223 +3426,3jQHT9BK,Amsterdam,4K,Samsung,Android,10.157.38.231 +3427,O0GARyx,Paris,"Full HD",Sencor,Ubuntu,206.74.170.150 +3428,nchjMwF,Berlin,"Full HD",Samsung,Android,211.229.58.74 +3429,F8gZUXw60,Berlin,"Full HD",LG,Android,161.193.52.92 +3430,HO4gLW,Paris,4K,Samsung,Android,99.177.82.91 +3431,hdWXl0OT,Warsaw,"Full HD",Sencor,Android,167.127.76.108 +3432,71ysqpGotP,Amsterdam,"Full HD",Sencor,Ubuntu,40.147.160.40 +3433,V8bPs7p,Berlin,4K,Sencor,Ubuntu,94.146.246.171 +3434,Gle7u,Berlin,"Full HD",Sencor,Ubuntu,128.129.84.120 +3435,0mu8Yyk,Warsaw,"Full HD",LG,Android,32.24.241.175 +3436,BdjMgHb,Amsterdam,4K,Samsung,Linux,81.76.76.109 +3437,HwqfseXDL,Paris,4K,LG,Linux,123.27.113.248 +3438,A2D0WvC,Warsaw,"Full HD",Sencor,Linux,53.15.228.31 +3439,6eJ9TNC5Zy,Berlin,4K,LG,Android,195.233.63.160 +3440,6fvBAdZ4C,Paris,4K,Philips,Ubuntu,186.230.62.24 +3441,FPgjoen,Berlin,"Full HD",Sencor,Android,196.53.8.154 +3442,YwzhfCKOjW,Paris,4K,Samsung,Linux,252.103.63.41 +3443,n0Id42jz,Paris,"Full HD",Sencor,Linux,235.247.133.202 +3444,eko1EVbnY9,Berlin,"Full HD",Philips,Linux,102.166.86.26 +3445,gH0Slp,Paris,"Full HD",Samsung,Ubuntu,24.236.162.58 +3446,Nkr6uY,Paris,4K,Samsung,Linux,196.232.168.145 +3447,v0zZaqC19,Warsaw,4K,LG,Android,207.113.195.146 +3448,HrlWUej,Warsaw,4K,Samsung,Ubuntu,254.156.233.161 +3449,ApyXV,Berlin,4K,LG,Linux,112.254.95.224 +3450,RZeYpnb,Paris,4K,Sencor,Ubuntu,185.19.232.219 +3451,ucy7W,Berlin,"Full HD",Sencor,Android,201.10.192.176 +3452,x1PV3wt,Berlin,"Full HD",LG,Android,152.181.215.229 +3453,cmirq,Berlin,4K,Philips,Android,242.20.50.143 +3454,ucSxzVJ,Warsaw,"Full HD",Samsung,Ubuntu,35.204.148.136 +3455,d1xX0w5qzp,Amsterdam,"Full HD",Sencor,Ubuntu,30.179.69.112 +3456,751yi,Warsaw,"Full HD",Sencor,Ubuntu,176.78.61.112 +3457,Vr3Ei4qnuF,Warsaw,4K,Sencor,Ubuntu,43.70.247.187 +3458,NZk9Koz,Berlin,"Full HD",Philips,Ubuntu,180.216.126.139 +3459,BZ81rh,Berlin,4K,Sencor,Ubuntu,241.129.73.201 +3460,u7QWP,Paris,4K,Sencor,Ubuntu,118.158.174.7 +3461,2R7U14kn,Berlin,4K,Sencor,Ubuntu,98.212.58.165 +3462,jS8Y7,Warsaw,"Full HD",Sencor,Android,32.92.181.97 +3463,52PVWTnK3A,Warsaw,4K,Samsung,Linux,166.107.185.127 +3464,R5Iid,Berlin,4K,LG,Ubuntu,138.137.232.112 +3465,yqgHB1d,Paris,4K,Samsung,Ubuntu,180.237.194.84 +3466,OX8rVx5BWP,Amsterdam,4K,Samsung,Linux,170.251.80.131 +3467,dlIPkEbGzt,Paris,"Full HD",LG,Linux,74.155.88.231 +3468,7vSwnTjJ,Berlin,"Full HD",LG,Linux,222.19.189.220 +3469,O8Ysayh,Warsaw,4K,LG,Ubuntu,111.241.59.240 +3470,i6JbAB,Warsaw,"Full HD",Philips,Linux,133.62.87.117 +3471,cGPvHMu,Warsaw,"Full HD",LG,Ubuntu,183.37.23.137 +3472,u1mhPcJk,Berlin,4K,Sencor,Ubuntu,13.206.107.11 +3473,Vqcwbx5Z,Berlin,4K,Sencor,Linux,18.119.80.51 +3474,7VKZw9QRGB,Berlin,"Full HD",Samsung,Linux,194.137.144.134 +3475,pLUnN,Warsaw,"Full HD",Sencor,Linux,212.166.87.211 +3476,FuNyLYPEU,Paris,"Full HD",Samsung,Ubuntu,174.82.87.244 +3477,Cc64npfko2,Amsterdam,4K,Sencor,Ubuntu,254.255.117.226 +3478,XcRvmnO,Warsaw,4K,Philips,Linux,105.7.204.46 +3479,YV4y86U9,Paris,4K,Philips,Linux,150.0.71.58 +3480,cCIn05X,Paris,"Full HD",Sencor,Android,37.54.253.24 +3481,rn5dsc,Amsterdam,4K,Sencor,Android,116.250.173.239 +3482,GJLat5B,Berlin,4K,Sencor,Ubuntu,16.53.18.39 +3483,bUNJ2I1gr,Berlin,"Full HD",Philips,Ubuntu,130.210.111.211 +3484,q689Cp3JyU,Warsaw,"Full HD",Sencor,Linux,123.175.88.84 +3485,5K61LjYZd,Amsterdam,4K,Philips,Ubuntu,47.82.255.169 +3486,TorCnQuw,Berlin,"Full HD",Samsung,Ubuntu,87.183.158.89 +3487,SHlubAI,Amsterdam,4K,LG,Linux,177.40.153.180 +3488,ObZlDGA,Paris,4K,Philips,Linux,228.57.122.195 +3489,BQwDr,Warsaw,"Full HD",LG,Linux,25.70.79.69 +3490,LuY1TJg,Paris,4K,Samsung,Linux,166.250.119.131 +3491,vgya8Sfox,Berlin,"Full HD",Philips,Android,172.238.49.15 +3492,QEb59wCdHL,Warsaw,4K,Sencor,Linux,4.20.40.252 +3493,UaBjMZIV,Paris,4K,Samsung,Linux,40.70.199.188 +3494,eO0hvTMw,Berlin,4K,LG,Ubuntu,109.238.39.142 +3495,EsIvBodt,Berlin,"Full HD",Samsung,Android,114.147.105.222 +3496,ETBLrpt,Berlin,"Full HD",Sencor,Ubuntu,232.32.218.176 +3497,JxjRgL,Warsaw,"Full HD",Samsung,Android,251.158.131.251 +3498,nuh6N,Amsterdam,"Full HD",Sencor,Linux,253.166.75.101 +3499,OwcUjSK,Warsaw,"Full HD",Sencor,Ubuntu,106.33.45.79 +3500,kAlU2ro,Warsaw,"Full HD",Samsung,Ubuntu,13.149.168.22 +3501,tJ9grSdl,Paris,"Full HD",Sencor,Linux,36.57.244.229 +3502,42FKi,Paris,"Full HD",LG,Ubuntu,5.155.183.68 +3503,d5eCvNsfP,Berlin,4K,Philips,Android,68.200.91.231 +3504,FaWDbtUl,Berlin,4K,Philips,Linux,152.130.215.59 +3505,qRkPfC92M,Berlin,"Full HD",LG,Linux,5.148.232.138 +3506,D5GF2,Berlin,4K,LG,Android,196.40.234.45 +3507,46sCudjc,Warsaw,"Full HD",LG,Android,89.22.99.129 +3508,jwV7A6iR,Amsterdam,4K,Philips,Linux,108.249.89.156 +3509,L1D8RTiPu,Warsaw,4K,Samsung,Android,137.243.160.90 +3510,BKtwZuoOvI,Berlin,4K,Sencor,Android,115.249.67.153 +3511,NeRpTM,Paris,"Full HD",LG,Ubuntu,252.129.140.123 +3512,ujBXi40RSq,Berlin,4K,Philips,Ubuntu,223.193.34.95 +3513,kN3ab8,Berlin,4K,LG,Linux,244.218.180.25 +3514,HvREoI,Amsterdam,4K,Samsung,Linux,7.49.185.221 +3515,WCqfh2G,Paris,"Full HD",Philips,Linux,233.135.115.145 +3516,oBRayc,Warsaw,4K,Philips,Linux,6.100.212.126 +3517,Rgyo2,Paris,4K,Sencor,Ubuntu,237.129.147.223 +3518,3Nmpbg,Paris,4K,Sencor,Android,50.41.221.158 +3519,CmpzbJ,Warsaw,4K,Philips,Android,68.139.169.31 +3520,6P81axOM,Warsaw,"Full HD",Philips,Linux,142.31.156.142 +3521,2QhbdVW,Paris,"Full HD",Samsung,Android,165.101.255.246 +3522,jGVSan3w6,Warsaw,"Full HD",Philips,Linux,167.202.236.106 +3523,JAGzbdhfVN,Warsaw,"Full HD",LG,Android,59.196.49.104 +3524,oN9QO,Paris,4K,Sencor,Linux,197.135.9.229 +3525,7a8gXjE,Berlin,"Full HD",Samsung,Android,107.79.253.190 +3526,Z6Wqys,Warsaw,"Full HD",Philips,Ubuntu,8.166.75.134 +3527,5HQ17,Paris,4K,Philips,Android,18.214.3.162 +3528,ESHr2hlv,Berlin,4K,Philips,Ubuntu,251.9.157.248 +3529,jOUf4,Amsterdam,4K,Philips,Ubuntu,245.69.152.62 +3530,8RZFmn4Ek,Berlin,"Full HD",Philips,Ubuntu,130.158.80.155 +3531,O1ulvxiVj,Warsaw,4K,Philips,Ubuntu,54.164.101.138 +3532,nZqle4,Warsaw,4K,Samsung,Android,58.6.75.222 +3533,0QR1LSUT8h,Paris,4K,Sencor,Linux,2.144.115.207 +3534,6wUCIhq9G,Warsaw,4K,Samsung,Ubuntu,240.192.198.53 +3535,JpfZd2WrI,Berlin,"Full HD",LG,Ubuntu,221.61.213.112 +3536,QeVlc,Amsterdam,"Full HD",Sencor,Linux,31.159.170.85 +3537,ay3dNi,Warsaw,"Full HD",Philips,Android,201.114.6.17 +3538,LTlDg,Warsaw,4K,Sencor,Android,106.118.132.64 +3539,Nr8o4,Warsaw,"Full HD",LG,Linux,47.228.110.133 +3540,c4d5sbHI,Warsaw,4K,Sencor,Ubuntu,130.254.219.97 +3541,MCOjvuY,Berlin,4K,LG,Linux,71.248.53.52 +3542,ZOuU2z8h6,Paris,"Full HD",LG,Ubuntu,37.73.232.185 +3543,lfGQTZq,Berlin,"Full HD",Sencor,Ubuntu,109.9.39.115 +3544,MHzQTxswIa,Warsaw,4K,Philips,Android,193.115.101.203 +3545,huNdpY,Amsterdam,4K,LG,Ubuntu,218.138.93.213 +3546,NiFAP4l,Paris,4K,LG,Ubuntu,161.144.10.152 +3547,2Pycmwn,Warsaw,4K,LG,Android,188.180.248.229 +3548,dSsnFYO0,Berlin,"Full HD",LG,Android,173.194.57.220 +3549,PCDtxXIcE,Warsaw,"Full HD",Sencor,Ubuntu,178.194.7.122 +3550,Zr0ok9EDj3,Amsterdam,4K,Philips,Linux,209.54.63.213 +3551,UZoGn4d,Warsaw,4K,Samsung,Ubuntu,53.231.134.80 +3552,2cpNGogh,Paris,"Full HD",Philips,Ubuntu,66.142.36.154 +3553,VJ69owcF,Amsterdam,4K,Philips,Ubuntu,54.145.44.222 +3554,HGO6oAv,Paris,4K,LG,Linux,227.208.33.3 +3555,4sWH5lIh,Warsaw,4K,LG,Android,135.62.82.190 +3556,AdjO4,Paris,4K,Sencor,Linux,179.196.249.174 +3557,t6IQxun,Amsterdam,4K,LG,Linux,128.134.228.173 +3558,L5DT4bFSp8,Berlin,4K,LG,Linux,208.72.101.231 +3559,51364YXp,Paris,4K,Sencor,Ubuntu,29.13.42.236 +3560,iTphZJD,Berlin,"Full HD",Sencor,Ubuntu,230.129.97.231 +3561,xZTtokUSO,Berlin,"Full HD",LG,Linux,152.162.146.153 +3562,tDWj5fm,Berlin,4K,Philips,Linux,4.64.152.80 +3563,8F2mZ,Amsterdam,"Full HD",Philips,Ubuntu,249.21.120.23 +3564,90AMyF5,Warsaw,"Full HD",Samsung,Android,76.10.217.183 +3565,69eCxG7g,Paris,"Full HD",Samsung,Android,72.218.172.22 +3566,nHxpb,Paris,"Full HD",LG,Android,45.134.100.117 +3567,VkfYoNgJ,Warsaw,"Full HD",Philips,Ubuntu,44.90.148.79 +3568,tsUja,Warsaw,"Full HD",Sencor,Linux,102.239.39.156 +3569,q3GmpLO,Warsaw,"Full HD",Philips,Ubuntu,177.174.126.233 +3570,5IxgGHzS8,Paris,"Full HD",Samsung,Linux,99.161.100.107 +3571,scazAxW,Paris,4K,Samsung,Linux,21.100.213.167 +3572,9wgieJDIb,Amsterdam,4K,Philips,Ubuntu,4.81.116.56 +3573,sBkyXh0aU,Amsterdam,4K,Philips,Android,123.245.237.50 +3574,OtgESo41,Paris,4K,Samsung,Ubuntu,13.238.135.243 +3575,Ft9Znx,Warsaw,4K,Samsung,Android,45.252.67.139 +3576,mD8jL2I,Berlin,"Full HD",Philips,Ubuntu,75.54.54.82 +3577,5tD2q,Warsaw,"Full HD",Philips,Linux,233.138.181.55 +3578,BXuwg3,Paris,"Full HD",LG,Ubuntu,152.113.157.161 +3579,dRw6EqXSv,Amsterdam,"Full HD",Philips,Ubuntu,80.75.226.199 +3580,mk87MONaI,Berlin,"Full HD",LG,Ubuntu,162.52.21.27 +3581,BZutXf8iv,Berlin,4K,Samsung,Linux,58.87.250.118 +3582,GPmWQn,Warsaw,4K,Sencor,Android,163.78.140.200 +3583,XFUPrEx5yN,Amsterdam,"Full HD",Samsung,Linux,146.69.147.7 +3584,svdRawEt,Paris,4K,Samsung,Ubuntu,72.43.54.204 +3585,UoD1qxsiY,Warsaw,"Full HD",Samsung,Ubuntu,114.145.83.229 +3586,nh5fpacSv4,Paris,4K,Samsung,Ubuntu,13.209.107.234 +3587,o65lT,Berlin,"Full HD",Sencor,Ubuntu,84.194.180.27 +3588,RExU8m,Berlin,"Full HD",Sencor,Android,111.229.193.165 +3589,njItO0,Warsaw,"Full HD",Sencor,Ubuntu,193.39.137.242 +3590,sM9ekit,Amsterdam,"Full HD",LG,Ubuntu,194.51.235.133 +3591,kbiGdL,Warsaw,"Full HD",Samsung,Android,17.223.18.170 +3592,xI4bpO,Paris,"Full HD",LG,Linux,189.110.195.79 +3593,TqkWOJ,Berlin,"Full HD",Sencor,Ubuntu,74.144.116.54 +3594,VwanWs,Paris,4K,Sencor,Android,53.252.170.222 +3595,cRdLesj,Paris,4K,Sencor,Ubuntu,122.22.107.253 +3596,AJneFLR7C,Paris,"Full HD",Samsung,Android,227.192.153.63 +3597,8M7qKIAvFl,Amsterdam,4K,LG,Ubuntu,29.17.79.66 +3598,1VGbIdW,Paris,4K,Philips,Android,109.232.234.137 +3599,1XxQ5Egy,Berlin,4K,Samsung,Android,126.29.11.112 +3600,0HSPN5a,Warsaw,"Full HD",Philips,Linux,134.188.153.195 +3601,pRSgdqE,Berlin,"Full HD",Philips,Linux,255.124.117.30 +3602,5bKCk,Warsaw,"Full HD",Sencor,Linux,13.49.130.25 +3603,kowKJ,Warsaw,4K,Sencor,Linux,4.134.152.174 +3604,t2V8MKoq9g,Warsaw,4K,Sencor,Ubuntu,151.225.20.61 +3605,mpgq9c,Amsterdam,4K,Philips,Linux,21.161.219.170 +3606,Hd2c4SEP,Amsterdam,4K,LG,Ubuntu,173.135.122.234 +3607,puEQifj,Paris,"Full HD",Philips,Ubuntu,176.32.166.157 +3608,VK0DY,Paris,4K,Sencor,Ubuntu,117.21.27.72 +3609,63D4fVl0K,Berlin,4K,LG,Linux,169.5.39.103 +3610,oYAltfQ7q,Warsaw,"Full HD",Philips,Android,208.251.143.75 +3611,umXLU,Berlin,4K,Philips,Linux,141.124.50.202 +3612,BKJ6kY,Amsterdam,4K,Sencor,Linux,248.99.221.213 +3613,Meny7,Amsterdam,"Full HD",Philips,Ubuntu,224.162.189.198 +3614,1KU74f,Berlin,"Full HD",Philips,Ubuntu,251.12.250.81 +3615,nP0p4HwcZo,Warsaw,"Full HD",LG,Android,115.17.245.111 +3616,kMUJj,Amsterdam,"Full HD",Philips,Ubuntu,64.173.162.149 +3617,tf9ej45x,Berlin,"Full HD",Sencor,Android,27.222.11.221 +3618,4kgWBqtJ,Berlin,"Full HD",Sencor,Android,112.174.74.101 +3619,1vJZuE,Warsaw,"Full HD",Philips,Ubuntu,54.101.244.39 +3620,9YN7FBhxg,Warsaw,4K,Sencor,Ubuntu,242.2.121.158 +3621,dM2TIsDkl,Warsaw,"Full HD",Samsung,Android,210.70.50.226 +3622,WgnO67TyrX,Warsaw,"Full HD",Philips,Ubuntu,125.3.127.77 +3623,z3sxreU4,Amsterdam,"Full HD",LG,Linux,1.174.166.106 +3624,McDIURFy7,Amsterdam,"Full HD",Samsung,Ubuntu,243.60.175.237 +3625,M8SdqNn9WA,Warsaw,4K,LG,Android,14.124.219.160 +3626,OrcpM367,Berlin,4K,LG,Linux,66.144.87.115 +3627,m7i2uI3FKV,Amsterdam,4K,Sencor,Linux,3.92.3.97 +3628,QIz58K2keJ,Amsterdam,4K,Sencor,Ubuntu,98.138.240.118 +3629,8YbdvL,Paris,"Full HD",Samsung,Ubuntu,240.222.89.114 +3630,3UYASRPbC7,Warsaw,4K,Sencor,Ubuntu,160.35.184.89 +3631,e26miMt,Berlin,4K,Sencor,Android,229.206.207.25 +3632,YD4idqL7,Paris,"Full HD",Samsung,Android,205.238.65.49 +3633,tqRgWGU5O,Paris,"Full HD",Sencor,Ubuntu,159.206.176.152 +3634,o5dESMawK7,Warsaw,"Full HD",LG,Android,99.246.15.22 +3635,R2NftCo7,Paris,"Full HD",Sencor,Android,211.101.175.174 +3636,sjzWmQ2Iu3,Berlin,4K,Philips,Android,164.160.85.91 +3637,wv8hJmjPA,Amsterdam,"Full HD",Sencor,Android,212.161.97.236 +3638,I0LfCU,Berlin,"Full HD",LG,Ubuntu,60.0.40.68 +3639,ENULuPnD29,Warsaw,"Full HD",Sencor,Ubuntu,75.200.243.101 +3640,MtZbqwjy,Amsterdam,"Full HD",Samsung,Ubuntu,67.139.247.100 +3641,pB5tP,Paris,"Full HD",Sencor,Android,236.107.92.27 +3642,bJaLjQsUX1,Amsterdam,4K,LG,Ubuntu,182.52.128.243 +3643,ao1rn,Paris,4K,Sencor,Android,12.193.186.139 +3644,zCjxi9Na,Warsaw,"Full HD",Sencor,Android,68.184.166.72 +3645,4WjgGO,Amsterdam,4K,Philips,Linux,232.105.240.129 +3646,f7SiclYv,Paris,4K,Philips,Ubuntu,115.140.110.31 +3647,jHLxMBJ05,Berlin,"Full HD",Philips,Ubuntu,229.253.199.35 +3648,C8XNtq,Warsaw,"Full HD",Samsung,Linux,178.83.95.154 +3649,1k7Dxq,Warsaw,"Full HD",Samsung,Android,143.146.119.120 +3650,gFoE54zrHM,Warsaw,4K,LG,Linux,59.29.96.195 +3651,HQv3acd,Amsterdam,4K,Sencor,Android,218.246.203.229 +3652,3gLoqxdKO,Paris,4K,LG,Linux,168.119.77.224 +3653,QJ3aDUO2,Warsaw,4K,Sencor,Ubuntu,158.248.125.142 +3654,ljX84H,Amsterdam,"Full HD",Philips,Ubuntu,59.240.46.198 +3655,hpW2V,Warsaw,"Full HD",Sencor,Ubuntu,88.5.53.171 +3656,DBbvQH1s,Berlin,4K,Samsung,Ubuntu,53.187.105.129 +3657,SnYx7,Berlin,"Full HD",Sencor,Android,1.168.111.224 +3658,fKbaeUNc,Warsaw,"Full HD",Philips,Linux,97.68.147.255 +3659,eS69u,Paris,"Full HD",LG,Linux,250.160.188.222 +3660,tzYmQBxgD,Paris,4K,Sencor,Linux,126.83.177.4 +3661,iLa3E,Berlin,4K,LG,Linux,90.175.125.93 +3662,VgYwPZbxcD,Amsterdam,4K,Sencor,Ubuntu,240.208.88.37 +3663,xsAZz,Warsaw,4K,Samsung,Android,238.232.67.242 +3664,gc4WKQa,Amsterdam,4K,LG,Linux,238.69.126.87 +3665,lkywRS,Paris,4K,LG,Linux,49.113.244.220 +3666,7nG5BWh,Paris,4K,LG,Ubuntu,220.1.155.92 +3667,xJH14h,Amsterdam,4K,Sencor,Ubuntu,147.201.206.32 +3668,NoeXrkBK,Warsaw,"Full HD",Sencor,Ubuntu,237.130.250.163 +3669,bSrLl7p,Paris,"Full HD",Sencor,Android,88.59.103.129 +3670,oscTWpw7,Paris,"Full HD",Sencor,Ubuntu,68.140.146.115 +3671,pQK9oL0,Amsterdam,4K,Sencor,Android,232.37.214.20 +3672,Yzpnde,Amsterdam,"Full HD",Philips,Ubuntu,239.221.104.67 +3673,6F4aiy0px,Paris,4K,Samsung,Ubuntu,236.220.211.146 +3674,aeIy804njk,Warsaw,"Full HD",LG,Ubuntu,97.42.110.203 +3675,3PjS4Q,Berlin,"Full HD",Samsung,Android,124.239.128.241 +3676,roBjlDA54,Warsaw,4K,LG,Linux,187.32.199.100 +3677,ioGUprTt,Amsterdam,4K,Sencor,Linux,133.82.112.24 +3678,p8ZoR,Berlin,"Full HD",Sencor,Android,242.221.71.140 +3679,3FHtxJeK1P,Amsterdam,"Full HD",Sencor,Android,62.209.121.44 +3680,MRQ9t,Amsterdam,"Full HD",Samsung,Linux,209.37.161.222 +3681,It2vd6q5,Berlin,4K,LG,Linux,91.200.75.26 +3682,OUkYtBR3,Warsaw,"Full HD",Sencor,Linux,22.241.0.166 +3683,7BHzqO4Uj,Paris,"Full HD",Philips,Android,56.14.254.1 +3684,qMI6UXCa4,Berlin,"Full HD",Samsung,Linux,189.101.194.114 +3685,eVoP7Rzlw,Amsterdam,"Full HD",Samsung,Ubuntu,19.104.226.20 +3686,IRL2MuFB,Amsterdam,"Full HD",Philips,Ubuntu,222.166.230.210 +3687,RrnjmgZx81,Paris,"Full HD",Philips,Linux,155.77.205.211 +3688,xy1raE,Berlin,4K,Sencor,Android,79.83.36.184 +3689,ik14GPe,Warsaw,"Full HD",LG,Android,93.253.220.176 +3690,H8UEBI,Warsaw,4K,Samsung,Android,235.216.141.223 +3691,zEvFVN5Bn,Berlin,4K,LG,Android,219.18.147.134 +3692,0g5PtFuW,Warsaw,4K,Sencor,Android,129.78.201.15 +3693,pQP7in,Paris,"Full HD",LG,Linux,112.250.86.145 +3694,Gz02UVW,Paris,4K,Samsung,Ubuntu,141.65.243.146 +3695,QuW1zfAlVL,Berlin,"Full HD",LG,Ubuntu,145.232.149.176 +3696,GmXyLJ,Paris,"Full HD",LG,Linux,102.189.242.163 +3697,pZMie8,Amsterdam,4K,Sencor,Android,144.154.26.164 +3698,DmZABR8z,Paris,4K,Samsung,Android,152.134.25.136 +3699,w2h8UYOmD,Amsterdam,"Full HD",Philips,Ubuntu,226.6.225.232 +3700,1Z4oTdeiUX,Paris,4K,Philips,Linux,182.99.30.168 +3701,sQNE9a3,Warsaw,4K,Philips,Linux,155.73.218.130 +3702,vFtgh0zQ6,Paris,4K,LG,Ubuntu,48.43.98.97 +3703,M9WINvO,Amsterdam,4K,Sencor,Android,32.238.218.3 +3704,pSlMGBh5,Paris,"Full HD",Philips,Linux,2.44.189.180 +3705,uLRqMN,Amsterdam,4K,Sencor,Android,129.200.247.203 +3706,hnIBY,Amsterdam,4K,LG,Android,157.210.117.111 +3707,e4aphfCzot,Warsaw,4K,Sencor,Linux,126.6.67.116 +3708,xU9uN67e,Warsaw,4K,LG,Linux,83.2.115.58 +3709,wh94QGoHUe,Amsterdam,4K,LG,Linux,46.207.104.208 +3710,6QiqGXSJjW,Paris,4K,Philips,Linux,222.29.46.90 +3711,UEeNHm,Paris,"Full HD",Samsung,Ubuntu,36.44.31.21 +3712,OCJPoUHAl,Berlin,"Full HD",Samsung,Linux,130.4.120.111 +3713,Cq9Gf02OsU,Berlin,"Full HD",LG,Ubuntu,69.102.92.98 +3714,xFPeUvVI,Warsaw,"Full HD",LG,Ubuntu,72.65.71.148 +3715,3c4YQ,Berlin,"Full HD",Samsung,Ubuntu,253.20.231.172 +3716,RKy4zkB,Paris,"Full HD",Sencor,Ubuntu,131.81.214.42 +3717,ZUha5k02Tg,Paris,"Full HD",Sencor,Linux,144.255.91.233 +3718,auhvOdzTk,Paris,4K,LG,Android,87.105.82.227 +3719,YIvH5qtolh,Paris,4K,Samsung,Linux,90.60.184.236 +3720,iDqwOf,Warsaw,"Full HD",Sencor,Android,219.154.44.101 +3721,rcUGHo8R,Paris,"Full HD",Philips,Ubuntu,16.130.157.7 +3722,dor6yJc0OT,Amsterdam,"Full HD",Philips,Android,105.69.191.239 +3723,9JBsf4,Paris,4K,Philips,Android,250.2.147.153 +3724,nYM5f,Berlin,4K,Philips,Linux,81.5.80.105 +3725,tAJ5yIjBS,Paris,"Full HD",LG,Android,76.85.209.187 +3726,kDzFSTB,Amsterdam,"Full HD",Philips,Linux,75.182.188.19 +3727,6EBsYae,Berlin,"Full HD",Philips,Ubuntu,72.3.214.40 +3728,2iTHV1t4,Berlin,"Full HD",Philips,Linux,49.68.187.32 +3729,L78UMB,Warsaw,4K,LG,Linux,74.214.103.190 +3730,dhvxz9F,Warsaw,"Full HD",Samsung,Ubuntu,115.21.17.8 +3731,k2PWdoCz3,Amsterdam,"Full HD",Sencor,Android,213.205.212.56 +3732,eQc0yk,Paris,4K,LG,Android,137.194.113.254 +3733,w5peASk,Amsterdam,"Full HD",Sencor,Linux,68.232.131.9 +3734,jVAfevW0br,Warsaw,"Full HD",Samsung,Ubuntu,111.219.123.223 +3735,Iv1pTysdP,Amsterdam,"Full HD",Samsung,Ubuntu,210.51.72.223 +3736,cjflg5Hxi,Berlin,"Full HD",Samsung,Android,76.239.39.75 +3737,KEBVWe,Warsaw,4K,Samsung,Android,202.113.76.82 +3738,ls2683Mdt,Berlin,"Full HD",Samsung,Linux,102.150.8.39 +3739,z3UigJoO,Amsterdam,"Full HD",LG,Android,55.235.32.14 +3740,vj5kX,Paris,4K,Sencor,Linux,198.53.34.49 +3741,pAGMsw,Paris,4K,LG,Ubuntu,31.176.105.224 +3742,NvdfmRxYw,Berlin,4K,Philips,Ubuntu,10.241.98.33 +3743,1BpVK,Paris,4K,Philips,Linux,234.225.242.164 +3744,90snME,Paris,"Full HD",LG,Android,156.138.210.53 +3745,yl75e,Amsterdam,"Full HD",Sencor,Ubuntu,40.70.51.187 +3746,zknbW,Paris,4K,Samsung,Linux,213.160.67.2 +3747,waAM6Kz,Warsaw,4K,LG,Android,39.76.32.193 +3748,BKMnXu3R,Warsaw,"Full HD",Samsung,Ubuntu,44.249.24.32 +3749,o07HeMCtO,Amsterdam,4K,Sencor,Ubuntu,137.144.98.82 +3750,8thaY2,Berlin,"Full HD",LG,Android,144.146.95.123 +3751,MzOoBRpGYH,Amsterdam,"Full HD",Samsung,Android,113.46.44.83 +3752,8iNMszny,Warsaw,4K,LG,Linux,76.82.110.251 +3753,G0of4,Paris,"Full HD",LG,Ubuntu,222.40.89.125 +3754,ajbdiB0wch,Warsaw,4K,Philips,Ubuntu,203.81.149.30 +3755,daiS8RTk,Amsterdam,4K,LG,Ubuntu,118.141.81.167 +3756,SBavRs61qr,Berlin,4K,Sencor,Linux,141.209.221.185 +3757,2nVJMUdR7,Amsterdam,"Full HD",Philips,Android,159.83.162.41 +3758,U9aM4,Warsaw,"Full HD",Sencor,Linux,65.0.200.228 +3759,4me7cf,Paris,"Full HD",Samsung,Ubuntu,77.193.48.29 +3760,dfF9AaePg,Warsaw,4K,Sencor,Android,10.3.93.38 +3761,D3BtaW,Paris,4K,Philips,Android,6.229.117.43 +3762,NpIsva,Warsaw,"Full HD",Sencor,Android,76.27.133.100 +3763,jRafQ,Berlin,"Full HD",Samsung,Ubuntu,98.30.236.84 +3764,X3D1cyZM,Paris,4K,LG,Android,50.175.139.234 +3765,ImU4KD1gS,Warsaw,"Full HD",Philips,Ubuntu,39.65.162.79 +3766,jtRha,Warsaw,4K,Sencor,Ubuntu,0.73.99.105 +3767,63gjGv,Berlin,"Full HD",Philips,Linux,116.101.28.15 +3768,da4DfXR,Berlin,4K,Sencor,Linux,254.103.236.109 +3769,Z3sPwUpuM,Warsaw,"Full HD",Samsung,Ubuntu,129.104.63.196 +3770,G5j8vKPaM,Warsaw,"Full HD",Samsung,Linux,105.92.125.28 +3771,0GgisWlk73,Berlin,4K,Sencor,Android,230.126.99.255 +3772,HDbuv3p,Warsaw,4K,Philips,Android,34.129.132.107 +3773,fO7Pau,Warsaw,4K,LG,Android,213.202.83.18 +3774,nrZtNW,Paris,"Full HD",Philips,Ubuntu,17.28.185.209 +3775,53DV0yMpa,Warsaw,"Full HD",LG,Ubuntu,130.181.121.190 +3776,ZqzvT,Amsterdam,"Full HD",LG,Ubuntu,198.61.140.65 +3777,HeA5ml3,Paris,"Full HD",LG,Linux,5.231.214.253 +3778,FioBmJ3s,Berlin,4K,Philips,Linux,173.141.212.157 +3779,5BtwDr,Berlin,"Full HD",Philips,Android,11.216.60.250 +3780,ExRMLjh,Berlin,"Full HD",Sencor,Android,245.235.101.221 +3781,2i5zQO,Warsaw,"Full HD",Philips,Linux,206.105.255.240 +3782,by3Sr,Berlin,"Full HD",LG,Linux,49.55.147.101 +3783,7nbwIf1M,Berlin,"Full HD",LG,Android,158.49.241.176 +3784,Ed5L6k,Berlin,"Full HD",Sencor,Ubuntu,131.56.2.170 +3785,m8Z9l,Paris,4K,Sencor,Linux,143.36.231.109 +3786,yMRYI,Warsaw,4K,Sencor,Android,94.214.161.246 +3787,t3mNv5,Warsaw,4K,Samsung,Ubuntu,48.158.65.62 +3788,5t7Ld,Warsaw,"Full HD",Samsung,Linux,240.34.252.133 +3789,pwDyedlStY,Warsaw,4K,Philips,Android,69.199.177.221 +3790,qFGDi2Iml,Berlin,4K,LG,Linux,7.44.91.91 +3791,GerP0pd8l,Paris,4K,Samsung,Linux,62.17.202.61 +3792,WQdYqfpVj2,Warsaw,4K,Philips,Ubuntu,206.127.102.221 +3793,dpOPu,Warsaw,"Full HD",LG,Ubuntu,36.135.132.54 +3794,uk5OG341s,Berlin,4K,Philips,Linux,98.174.149.108 +3795,QPkhUHW,Paris,4K,Samsung,Linux,86.42.250.138 +3796,6rC0KzefL,Berlin,"Full HD",LG,Android,167.20.110.163 +3797,yOqhZXIKtJ,Paris,4K,Philips,Linux,164.199.230.95 +3798,GwVyqZko,Warsaw,4K,LG,Android,35.193.5.142 +3799,0BCND,Amsterdam,4K,LG,Android,102.247.255.19 +3800,fg64s,Paris,"Full HD",Samsung,Ubuntu,116.182.18.168 +3801,Vr5hKQ,Berlin,"Full HD",Samsung,Android,122.113.78.9 +3802,N6TjECAYl,Paris,"Full HD",Sencor,Ubuntu,239.250.228.45 +3803,VhP7n,Amsterdam,"Full HD",Sencor,Linux,82.108.143.219 +3804,d7V3hAy,Berlin,4K,Sencor,Android,100.127.121.80 +3805,skaXUm7,Paris,4K,LG,Android,162.84.178.22 +3806,xZU7IQ3yK,Berlin,"Full HD",Samsung,Ubuntu,225.19.58.183 +3807,82xSk1Da,Berlin,4K,Philips,Android,198.58.113.140 +3808,mDfNo6Fyg,Berlin,"Full HD",Philips,Android,243.246.243.11 +3809,OMVcHPEn,Berlin,4K,LG,Ubuntu,51.153.141.215 +3810,l7ebKuz,Amsterdam,"Full HD",Philips,Linux,102.206.5.208 +3811,mGzwCDdRe2,Amsterdam,"Full HD",LG,Android,43.138.116.67 +3812,rTgAOleK,Paris,"Full HD",Philips,Ubuntu,203.237.83.65 +3813,zZVIxg,Warsaw,"Full HD",Sencor,Ubuntu,3.133.209.18 +3814,Jj3MTZ,Berlin,"Full HD",Philips,Linux,56.128.23.237 +3815,dCsXz7rq,Paris,"Full HD",LG,Linux,176.160.60.134 +3816,b5mXhlcq,Warsaw,"Full HD",Philips,Ubuntu,170.3.192.201 +3817,BYCEG,Warsaw,"Full HD",Sencor,Linux,127.102.112.189 +3818,RLz70EYeG,Paris,"Full HD",LG,Android,75.144.140.249 +3819,nlNkyW,Warsaw,"Full HD",LG,Ubuntu,46.224.53.199 +3820,31pIi,Warsaw,4K,LG,Linux,72.221.21.179 +3821,el6O0FM,Amsterdam,4K,Sencor,Android,129.112.73.97 +3822,eFqsgS6du,Paris,4K,LG,Ubuntu,55.178.179.174 +3823,UdK5uAPTws,Berlin,4K,Sencor,Linux,175.212.243.98 +3824,yi5gn,Berlin,"Full HD",LG,Linux,117.230.141.154 +3825,xLTyHnlWkE,Amsterdam,4K,Philips,Ubuntu,113.186.151.147 +3826,PHIEX4tRm,Amsterdam,"Full HD",Samsung,Ubuntu,165.78.24.64 +3827,7LObV,Amsterdam,"Full HD",LG,Linux,16.216.42.68 +3828,JmRik9F,Paris,"Full HD",LG,Ubuntu,48.134.247.147 +3829,dgpbF4Q,Berlin,"Full HD",LG,Android,144.75.28.178 +3830,bWxAYhrd3U,Berlin,4K,Samsung,Android,79.138.109.236 +3831,OA6TzKNMc,Warsaw,"Full HD",Philips,Android,149.9.55.155 +3832,zjXywPsf,Amsterdam,"Full HD",LG,Ubuntu,165.240.81.223 +3833,igrkVsL,Amsterdam,"Full HD",LG,Ubuntu,72.228.69.57 +3834,oaC7t,Amsterdam,4K,Samsung,Linux,73.199.199.21 +3835,XrJ43,Amsterdam,"Full HD",Sencor,Linux,230.24.64.81 +3836,ijeQWo,Paris,4K,Sencor,Android,74.50.136.111 +3837,jMGqIedU,Paris,"Full HD",Philips,Ubuntu,110.171.198.142 +3838,0nuwJQeUvC,Amsterdam,4K,LG,Linux,229.69.67.191 +3839,qEKm8V7D6,Berlin,4K,Samsung,Ubuntu,53.22.109.90 +3840,tKRsF3w,Berlin,4K,Samsung,Ubuntu,128.137.225.227 +3841,CLuOzRvyp,Warsaw,"Full HD",LG,Android,91.130.99.111 +3842,cGEN6L2B9,Warsaw,"Full HD",Samsung,Linux,175.142.68.135 +3843,DzeSnC,Warsaw,"Full HD",LG,Android,228.253.66.98 +3844,atko6,Warsaw,4K,Philips,Linux,213.181.238.87 +3845,qbSFa,Amsterdam,4K,LG,Android,248.117.199.183 +3846,hIdn6jq2pk,Warsaw,"Full HD",Samsung,Ubuntu,99.131.157.125 +3847,1YUlr,Amsterdam,"Full HD",Samsung,Ubuntu,138.160.204.140 +3848,h284RgSz5b,Berlin,4K,Philips,Linux,43.53.96.187 +3849,6StIoBp2z,Paris,"Full HD",Sencor,Android,32.161.42.169 +3850,iZTh87uXP,Warsaw,4K,LG,Linux,135.25.3.232 +3851,SIplgsTYw,Berlin,4K,Samsung,Ubuntu,20.41.219.150 +3852,XWKifx90t,Warsaw,"Full HD",Philips,Ubuntu,97.15.225.21 +3853,UdZAay1g4m,Warsaw,4K,Samsung,Ubuntu,117.43.171.138 +3854,cub9Kr,Paris,4K,Philips,Android,117.104.99.2 +3855,ulHMSdNZx,Warsaw,"Full HD",Sencor,Android,186.241.167.105 +3856,thkfXmTnG,Amsterdam,4K,Philips,Ubuntu,160.88.27.246 +3857,xVaZR,Warsaw,4K,Samsung,Android,177.51.238.122 +3858,UcBhP,Berlin,4K,Samsung,Android,239.120.152.13 +3859,4bupEx5,Warsaw,"Full HD",Samsung,Ubuntu,78.153.56.68 +3860,wAFDr,Warsaw,"Full HD",LG,Linux,134.94.7.4 +3861,ZX1ErA,Paris,4K,Sencor,Linux,52.110.216.28 +3862,Qw0EejqbSY,Warsaw,"Full HD",Samsung,Linux,45.249.249.147 +3863,WdK3v2C,Amsterdam,"Full HD",LG,Android,118.215.223.179 +3864,CxOGdL,Paris,"Full HD",Philips,Android,96.192.56.17 +3865,F25vJx4ukm,Berlin,"Full HD",Samsung,Linux,239.98.103.117 +3866,EYQwRs,Amsterdam,"Full HD",Samsung,Ubuntu,109.63.104.100 +3867,krwzd9l51,Paris,"Full HD",LG,Android,173.47.32.99 +3868,76EpNM0s,Warsaw,"Full HD",Samsung,Linux,230.76.7.214 +3869,gM5vG,Amsterdam,4K,Sencor,Linux,88.51.15.90 +3870,NvfJAVZK,Warsaw,"Full HD",Samsung,Android,199.204.125.66 +3871,9Oqa7uI,Paris,"Full HD",Sencor,Linux,246.197.176.160 +3872,c8l1B5L,Warsaw,4K,Philips,Ubuntu,133.25.149.82 +3873,a7EfIZod5G,Berlin,4K,Philips,Ubuntu,243.70.166.145 +3874,CMtmXQIHv,Berlin,"Full HD",Philips,Ubuntu,127.133.228.26 +3875,cxiLG7,Paris,4K,Sencor,Android,236.180.27.27 +3876,gPlcnx4,Warsaw,4K,Sencor,Android,117.213.81.88 +3877,8czPnrGx56,Berlin,"Full HD",LG,Ubuntu,34.231.241.6 +3878,ImRHg,Paris,"Full HD",LG,Android,146.96.147.198 +3879,ptrGPCg,Paris,4K,Philips,Android,59.123.190.44 +3880,etNbMu5KY,Berlin,"Full HD",Sencor,Linux,33.64.200.218 +3881,K0FvHcylsV,Paris,"Full HD",Samsung,Android,130.225.42.188 +3882,yuXZa7n,Amsterdam,4K,LG,Android,111.203.47.66 +3883,E27ziGUKy,Paris,"Full HD",Samsung,Android,243.203.154.1 +3884,yfgESG,Paris,4K,Sencor,Ubuntu,23.28.246.116 +3885,8XINKE7pC,Berlin,"Full HD",Philips,Linux,112.165.100.27 +3886,rGH1cktD,Paris,"Full HD",Philips,Ubuntu,140.132.116.28 +3887,WbBx4XF,Amsterdam,"Full HD",LG,Android,140.14.44.192 +3888,avnI67WyK,Paris,"Full HD",Samsung,Android,206.231.123.131 +3889,fkBNtoWzEs,Warsaw,4K,LG,Android,113.231.112.56 +3890,BLWafp,Berlin,4K,Philips,Android,53.185.125.255 +3891,g5QUm7,Berlin,4K,Philips,Ubuntu,124.232.63.249 +3892,3YUk80OnA,Berlin,4K,LG,Linux,77.56.138.199 +3893,fGqJ5o,Warsaw,4K,Samsung,Linux,150.204.220.188 +3894,UsF72lQEg,Warsaw,4K,Philips,Ubuntu,13.209.198.226 +3895,kXCR9Zi,Paris,4K,Samsung,Ubuntu,145.207.131.145 +3896,J49glVaQu,Warsaw,"Full HD",Sencor,Ubuntu,185.253.193.147 +3897,mxOsRj,Warsaw,4K,Philips,Linux,123.21.194.186 +3898,7qJS1UxLM,Amsterdam,"Full HD",Samsung,Linux,12.58.234.89 +3899,vqpoBDK,Paris,4K,Sencor,Ubuntu,244.185.224.242 +3900,hJqSPVX,Berlin,4K,Philips,Android,96.245.177.249 +3901,qwkERVU,Warsaw,4K,Philips,Ubuntu,100.227.168.1 +3902,KwyoXt2D6H,Warsaw,"Full HD",Samsung,Linux,179.82.14.195 +3903,YQ67wZP3R,Warsaw,"Full HD",Philips,Linux,61.40.61.104 +3904,YQnhM,Paris,"Full HD",Philips,Linux,76.131.2.254 +3905,WGtvkxs,Paris,"Full HD",Samsung,Android,30.210.176.91 +3906,1D3A2an,Paris,4K,LG,Android,24.175.223.209 +3907,2sFWmG,Amsterdam,"Full HD",Sencor,Linux,93.35.119.222 +3908,3jNTeCzA,Amsterdam,"Full HD",Samsung,Android,149.16.175.62 +3909,fhJXZr,Amsterdam,"Full HD",Samsung,Ubuntu,243.102.34.24 +3910,c8NEw,Paris,4K,Samsung,Linux,38.137.165.99 +3911,CJIk0umBO,Warsaw,"Full HD",Sencor,Android,169.126.33.157 +3912,6tax7c,Amsterdam,4K,LG,Linux,2.234.135.17 +3913,bt3pWJPQL,Paris,4K,Sencor,Linux,65.211.92.218 +3914,VEoNlrvY,Amsterdam,4K,Samsung,Ubuntu,156.65.59.188 +3915,zcS8mK6iEM,Paris,4K,Samsung,Ubuntu,164.227.73.4 +3916,6SrQqtdo9K,Paris,4K,Sencor,Linux,68.62.221.234 +3917,EH9df,Berlin,"Full HD",Sencor,Ubuntu,140.244.252.29 +3918,2dFbAzQPaU,Warsaw,"Full HD",Samsung,Android,17.108.239.199 +3919,vphMf,Warsaw,4K,Philips,Android,199.193.49.188 +3920,wu2RyOr,Amsterdam,4K,LG,Ubuntu,35.18.122.128 +3921,6HlJrf,Amsterdam,4K,Philips,Ubuntu,104.155.118.107 +3922,cUCrVy,Paris,"Full HD",LG,Android,8.84.190.167 +3923,Wsvy9I7S,Warsaw,4K,Sencor,Android,76.166.2.190 +3924,F3GjMayC,Warsaw,4K,LG,Ubuntu,98.106.205.160 +3925,e2BOlD,Amsterdam,"Full HD",LG,Ubuntu,191.128.246.141 +3926,qcTKULiY3,Amsterdam,"Full HD",Philips,Linux,244.154.160.134 +3927,ghYNwnCeE3,Amsterdam,4K,Sencor,Ubuntu,184.250.4.47 +3928,dHri5tK6T,Warsaw,"Full HD",LG,Android,248.252.156.182 +3929,9vCtQ3,Berlin,"Full HD",Philips,Android,138.84.98.208 +3930,0efhG,Amsterdam,"Full HD",Sencor,Linux,192.11.198.81 +3931,nawWvHo2ph,Warsaw,"Full HD",Philips,Ubuntu,240.95.196.165 +3932,LhCN7XpEPB,Amsterdam,"Full HD",Philips,Linux,187.39.61.143 +3933,2I7g4fXyj,Berlin,4K,LG,Ubuntu,146.43.76.168 +3934,x3fLGVsb1,Amsterdam,4K,Sencor,Android,121.73.64.13 +3935,ERDX3UyA,Warsaw,4K,LG,Ubuntu,186.125.70.129 +3936,82GnT1,Paris,4K,Samsung,Ubuntu,43.213.219.101 +3937,ITZomWRp,Amsterdam,4K,Sencor,Android,12.226.64.204 +3938,xJsgFOyd,Warsaw,4K,Sencor,Linux,87.234.13.210 +3939,unABRW7YP,Berlin,"Full HD",Philips,Linux,127.117.100.96 +3940,7t62B49JOS,Berlin,4K,LG,Android,178.31.97.0 +3941,Vop9TKsAB,Paris,4K,Sencor,Ubuntu,155.225.255.184 +3942,ANOR68,Paris,"Full HD",Samsung,Ubuntu,78.241.126.95 +3943,XNfIL2wxZ9,Berlin,4K,Samsung,Ubuntu,151.129.28.66 +3944,Oi3l5Qb,Warsaw,4K,Samsung,Linux,126.93.69.119 +3945,rUqheymH,Berlin,"Full HD",LG,Ubuntu,81.186.188.33 +3946,x7tkBfG0jw,Berlin,"Full HD",LG,Ubuntu,110.5.173.26 +3947,LtixTU,Berlin,"Full HD",Philips,Ubuntu,105.152.31.10 +3948,pjeiS,Paris,"Full HD",LG,Android,54.170.243.234 +3949,cUuvlw,Warsaw,"Full HD",LG,Linux,170.98.117.114 +3950,YAWIHa,Amsterdam,4K,Sencor,Linux,100.245.148.191 +3951,Zr5qyLJdXk,Berlin,"Full HD",Philips,Linux,11.214.36.8 +3952,fHwmN,Paris,4K,LG,Ubuntu,20.253.128.126 +3953,GLgIunW2kr,Paris,4K,LG,Android,96.130.245.2 +3954,1uO6eN,Berlin,"Full HD",LG,Linux,200.135.26.99 +3955,8BnSJW,Warsaw,4K,Sencor,Linux,123.154.226.110 +3956,ZQwYiILX,Warsaw,"Full HD",Philips,Android,49.182.150.67 +3957,ERCG6,Paris,"Full HD",LG,Android,18.59.38.145 +3958,vm6aMy7,Amsterdam,"Full HD",LG,Android,250.181.175.204 +3959,6AlHnxYSbK,Amsterdam,4K,LG,Ubuntu,182.249.129.171 +3960,ou7Kr,Amsterdam,"Full HD",Samsung,Linux,133.68.82.189 +3961,Ve2ub,Warsaw,"Full HD",Sencor,Linux,43.34.54.33 +3962,I3W7pZuQOU,Warsaw,4K,Sencor,Linux,26.52.185.3 +3963,TYlE4hgvHt,Warsaw,4K,LG,Android,246.12.82.149 +3964,F7JTakINt,Berlin,4K,Samsung,Android,120.120.13.75 +3965,rhiMcYg3j8,Berlin,"Full HD",LG,Ubuntu,112.239.172.231 +3966,Yh9H2a,Paris,"Full HD",Sencor,Linux,122.212.92.212 +3967,KUsQtXHd2,Warsaw,"Full HD",Philips,Android,104.103.0.90 +3968,4GqjxbCfl,Paris,4K,Philips,Linux,180.213.171.6 +3969,OQx5YSso9v,Paris,"Full HD",Philips,Linux,106.246.132.83 +3970,nBZYiywv35,Berlin,"Full HD",Sencor,Android,201.145.130.172 +3971,hn0WxR,Paris,"Full HD",Philips,Ubuntu,179.61.147.12 +3972,8t1uUfIMd,Amsterdam,4K,LG,Android,46.163.12.230 +3973,Qlmy5bs2,Amsterdam,"Full HD",Samsung,Linux,177.149.53.202 +3974,oI3vMSueD7,Warsaw,4K,Sencor,Android,137.122.1.240 +3975,qlckS9,Amsterdam,4K,Sencor,Android,128.218.22.241 +3976,t1r8d,Berlin,"Full HD",Philips,Linux,104.254.105.165 +3977,8CTIh,Warsaw,"Full HD",Sencor,Linux,43.56.91.54 +3978,zLisXdIkC,Paris,"Full HD",LG,Linux,76.34.83.0 +3979,Cnb3u9JAo,Amsterdam,"Full HD",Samsung,Ubuntu,235.142.38.34 +3980,p4gf7sty,Berlin,"Full HD",Philips,Linux,242.198.164.34 +3981,rzjSDFpy,Amsterdam,"Full HD",Philips,Android,47.162.158.101 +3982,1GnFgPB,Warsaw,4K,Philips,Android,114.132.203.160 +3983,KfHPXvtLFg,Amsterdam,4K,Philips,Android,190.54.167.251 +3984,ymI5oScsC,Berlin,4K,Sencor,Linux,88.219.222.57 +3985,9nNPY,Berlin,"Full HD",LG,Linux,103.206.85.35 +3986,cG8sKkfd,Warsaw,"Full HD",Sencor,Linux,206.124.81.58 +3987,dhapx8zbRQ,Amsterdam,"Full HD",Sencor,Android,165.45.253.98 +3988,RLZ4sMt,Paris,"Full HD",Philips,Linux,158.23.246.193 +3989,czwXHqxoWs,Warsaw,"Full HD",Philips,Android,123.196.76.126 +3990,EcHPZnDjk5,Amsterdam,4K,Sencor,Linux,179.108.12.60 +3991,Z0vcy,Paris,"Full HD",LG,Linux,133.143.227.224 +3992,ue1zON89Gr,Amsterdam,4K,LG,Linux,95.64.57.213 +3993,IybDGl,Amsterdam,4K,Samsung,Ubuntu,246.29.115.75 +3994,2Vn6KFv,Warsaw,4K,Sencor,Linux,252.158.159.69 +3995,Pm7JqGpF,Amsterdam,"Full HD",Sencor,Ubuntu,82.73.249.230 +3996,Pn3jBFXeV,Paris,4K,Sencor,Ubuntu,80.88.135.61 +3997,oFu7DbE,Amsterdam,4K,Sencor,Linux,253.250.27.165 +3998,yfMu2Wi,Warsaw,4K,Philips,Ubuntu,149.161.99.141 +3999,FavXCz,Berlin,"Full HD",Philips,Ubuntu,69.58.33.21 +4000,TLRqp913i,Amsterdam,"Full HD",LG,Linux,142.33.39.181 +4001,ag74LXS,Berlin,4K,Samsung,Android,13.241.195.224 +4002,9ku4S,Warsaw,"Full HD",Philips,Ubuntu,233.46.228.206 +4003,VO9YG4,Warsaw,4K,Samsung,Android,157.223.4.213 +4004,P2iE4a3,Paris,"Full HD",Philips,Ubuntu,212.151.16.104 +4005,lPTiqI0G,Warsaw,"Full HD",LG,Android,195.254.124.212 +4006,EyKcvJ,Amsterdam,"Full HD",Samsung,Linux,216.164.25.26 +4007,QXSm6BDNC,Warsaw,"Full HD",Samsung,Linux,112.140.130.172 +4008,uYDs0Ej,Warsaw,4K,LG,Ubuntu,246.152.171.117 +4009,LERc4PxI,Warsaw,4K,Philips,Ubuntu,43.37.124.187 +4010,wfNo7EKhP,Berlin,"Full HD",LG,Android,37.251.113.129 +4011,KpQ5cX8v,Warsaw,"Full HD",Philips,Linux,135.136.28.243 +4012,Xsl2qAwx,Amsterdam,"Full HD",Philips,Ubuntu,2.38.239.68 +4013,NmOJcl,Amsterdam,"Full HD",Philips,Linux,214.97.235.243 +4014,wAPB20m,Warsaw,4K,Philips,Android,18.23.228.244 +4015,HOCsq,Paris,"Full HD",Samsung,Android,50.183.80.121 +4016,gT4Yudxwrl,Amsterdam,"Full HD",Sencor,Ubuntu,235.191.157.27 +4017,kfp2qc4N,Paris,4K,LG,Linux,83.106.149.128 +4018,ydHs9cY,Amsterdam,4K,LG,Android,103.183.145.253 +4019,h59CK3u,Paris,"Full HD",Samsung,Linux,80.29.232.247 +4020,VwC57l,Amsterdam,"Full HD",LG,Ubuntu,14.202.230.8 +4021,kdgPcvH0TO,Paris,"Full HD",Sencor,Ubuntu,62.55.254.7 +4022,pDBGgdrFx7,Paris,"Full HD",Sencor,Ubuntu,175.154.167.64 +4023,gouTib5P2,Warsaw,4K,Sencor,Ubuntu,37.139.232.201 +4024,BMLUVDJP6u,Paris,4K,LG,Ubuntu,119.66.215.117 +4025,1jxasMeKu7,Paris,4K,Samsung,Android,159.129.184.1 +4026,zPbrYxiNv5,Berlin,4K,Sencor,Linux,25.130.231.245 +4027,A4YgnCDh,Amsterdam,4K,Samsung,Android,115.200.157.112 +4028,86iRC,Warsaw,4K,Sencor,Linux,205.184.242.82 +4029,b10cLn,Warsaw,"Full HD",Philips,Ubuntu,130.85.192.243 +4030,tLmCZKOVez,Berlin,4K,LG,Ubuntu,58.23.3.35 +4031,DNoYHLhJ3c,Paris,4K,LG,Android,140.252.157.216 +4032,Tq8BDM3jf,Amsterdam,"Full HD",Philips,Ubuntu,61.129.110.111 +4033,UAlyJ,Warsaw,"Full HD",LG,Linux,63.3.228.40 +4034,1H9XT,Berlin,4K,Philips,Android,206.111.121.145 +4035,x4Oencs3W1,Berlin,"Full HD",LG,Android,90.16.141.79 +4036,NWmKDpL2b,Warsaw,"Full HD",Sencor,Linux,64.75.139.230 +4037,jwiyWERF5p,Warsaw,4K,Philips,Android,230.225.12.99 +4038,4g1Ii,Amsterdam,"Full HD",LG,Linux,38.229.198.30 +4039,puniKcG89t,Berlin,4K,LG,Linux,63.51.138.69 +4040,IO5c0kFul,Berlin,4K,Philips,Android,74.34.173.189 +4041,rcQAC,Berlin,"Full HD",Philips,Linux,92.87.10.140 +4042,aKfIo8SwE,Amsterdam,4K,Philips,Linux,221.241.219.81 +4043,uZwFS,Warsaw,4K,LG,Android,0.188.213.9 +4044,Cl56X,Berlin,"Full HD",Samsung,Ubuntu,65.109.142.64 +4045,FscUqgLjyl,Paris,4K,Sencor,Android,230.5.145.244 +4046,ZD6fbRG2N,Warsaw,4K,LG,Android,116.83.171.154 +4047,ejupSl,Paris,4K,LG,Linux,221.203.116.168 +4048,l6HEIg93,Berlin,"Full HD",Samsung,Linux,77.40.195.188 +4049,QmATvFetpc,Berlin,4K,LG,Linux,91.103.67.80 +4050,rHKl70WoE,Warsaw,4K,Sencor,Ubuntu,240.32.176.22 +4051,VLf2Em9Ckg,Amsterdam,"Full HD",LG,Android,92.0.87.72 +4052,aUqhf,Amsterdam,"Full HD",LG,Ubuntu,202.185.98.122 +4053,9H3KCRbw,Paris,"Full HD",Philips,Ubuntu,17.178.197.213 +4054,iGDJH,Amsterdam,"Full HD",LG,Linux,235.165.35.166 +4055,8E0wb2Im5,Amsterdam,4K,Sencor,Linux,139.71.31.221 +4056,yBICSUqj1,Paris,"Full HD",Sencor,Linux,117.90.106.26 +4057,7b1FAk,Berlin,"Full HD",Philips,Linux,115.240.50.144 +4058,g2VuxDnG,Paris,"Full HD",LG,Linux,227.49.191.234 +4059,NSlH0IVXz,Warsaw,"Full HD",LG,Android,105.183.35.103 +4060,NFPDhdWm,Berlin,"Full HD",LG,Linux,93.147.15.120 +4061,8LngfNe1,Warsaw,4K,LG,Android,147.229.203.136 +4062,IWO5Nwx,Paris,"Full HD",LG,Ubuntu,205.48.104.206 +4063,ATWU7DL,Paris,"Full HD",LG,Android,242.225.90.113 +4064,mctNIf,Berlin,4K,Sencor,Ubuntu,227.151.248.18 +4065,oDkCsX,Warsaw,4K,Sencor,Android,41.215.10.67 +4066,nyEvP3k,Paris,"Full HD",LG,Ubuntu,23.130.115.44 +4067,WIBYo3zeg,Amsterdam,"Full HD",LG,Android,110.180.175.94 +4068,9vVInB,Amsterdam,4K,Sencor,Android,197.240.89.124 +4069,awpgFd6X,Paris,"Full HD",Sencor,Android,246.159.242.215 +4070,3e2ChY8L,Paris,"Full HD",LG,Android,117.30.158.243 +4071,FKNYtE2y,Amsterdam,"Full HD",Samsung,Ubuntu,252.1.168.61 +4072,05oJCKaL,Warsaw,"Full HD",Philips,Ubuntu,165.6.114.65 +4073,STMOJo0,Amsterdam,"Full HD",LG,Android,31.81.245.109 +4074,DdV3Wq0,Paris,4K,Philips,Android,161.44.158.249 +4075,RoxXUS,Amsterdam,"Full HD",Sencor,Linux,68.97.131.174 +4076,z107DpJ8Sy,Paris,4K,Sencor,Ubuntu,10.133.128.91 +4077,kCc92bL5l,Paris,4K,LG,Linux,9.239.206.203 +4078,vBzorWwY3p,Berlin,"Full HD",Philips,Android,77.130.6.149 +4079,o65beyEQ,Warsaw,4K,Samsung,Ubuntu,17.97.128.84 +4080,3iDEw8a4,Berlin,4K,Samsung,Ubuntu,222.88.16.72 +4081,TFnrPy,Warsaw,4K,Philips,Android,175.1.199.219 +4082,vEeNHYOWZp,Paris,4K,LG,Linux,29.209.143.46 +4083,731Wxg,Amsterdam,4K,Samsung,Android,44.109.137.153 +4084,mypIWUH6,Amsterdam,4K,Philips,Linux,160.183.76.126 +4085,cxrFv5,Berlin,4K,Sencor,Android,135.110.66.187 +4086,FZy1jbI,Berlin,"Full HD",LG,Android,226.31.36.222 +4087,8CLV6nE43S,Amsterdam,4K,Sencor,Ubuntu,51.54.81.20 +4088,HB5eRklC2,Warsaw,"Full HD",Philips,Linux,106.189.121.245 +4089,qVnUa,Amsterdam,4K,Sencor,Ubuntu,177.139.20.102 +4090,CF5zmD4oO,Paris,"Full HD",LG,Android,103.51.209.76 +4091,se1jOaHK,Paris,4K,Sencor,Linux,184.193.217.87 +4092,XglnBOP7,Amsterdam,"Full HD",LG,Ubuntu,131.41.54.139 +4093,OnFWpCYtl,Berlin,"Full HD",Philips,Linux,178.67.168.47 +4094,M79OQT,Berlin,"Full HD",Samsung,Ubuntu,50.68.200.139 +4095,qhFr2Tp5U1,Warsaw,"Full HD",Philips,Android,235.180.23.90 +4096,fVITm,Berlin,4K,Philips,Linux,42.91.59.31 +4097,oeTQGU4A,Warsaw,4K,Sencor,Ubuntu,110.205.0.147 +4098,qh2tXWlRx,Berlin,4K,Philips,Ubuntu,180.208.232.52 +4099,kCnG8i,Amsterdam,"Full HD",Philips,Linux,213.163.243.6 +4100,QNFpCy,Paris,"Full HD",Samsung,Ubuntu,179.104.192.183 +4101,4VPBW,Amsterdam,"Full HD",Philips,Android,233.40.215.247 +4102,triwZB0A,Amsterdam,"Full HD",Sencor,Ubuntu,140.202.150.155 +4103,pk9ID,Amsterdam,4K,Sencor,Ubuntu,3.11.37.225 +4104,gB79sP5VHG,Berlin,4K,Sencor,Ubuntu,69.152.103.255 +4105,dI9bc8gZ5F,Paris,4K,LG,Ubuntu,152.77.79.247 +4106,6OCs9,Amsterdam,4K,Samsung,Ubuntu,177.174.201.4 +4107,B1sxM2XHvL,Amsterdam,4K,Philips,Ubuntu,183.133.249.56 +4108,xTlnedtK3i,Warsaw,"Full HD",Sencor,Android,34.202.121.73 +4109,1EyNR,Warsaw,"Full HD",Samsung,Android,244.86.215.237 +4110,grQKW8,Warsaw,"Full HD",Sencor,Android,182.50.103.157 +4111,LF5XYg,Paris,4K,Philips,Linux,96.221.95.81 +4112,wOJ3fM6Yyz,Berlin,4K,LG,Ubuntu,102.79.22.34 +4113,sEoTF0PMDC,Paris,4K,Philips,Ubuntu,218.69.158.50 +4114,axlK5C,Warsaw,4K,Philips,Android,183.45.37.199 +4115,C2DP5HiyN,Paris,"Full HD",Sencor,Android,123.194.49.151 +4116,f9hGTztlIb,Paris,"Full HD",Samsung,Ubuntu,214.178.113.70 +4117,HRJXLN9Als,Paris,4K,LG,Linux,26.63.32.207 +4118,fp9roXWjJ8,Berlin,"Full HD",Philips,Linux,219.72.90.91 +4119,4juwNLO,Warsaw,4K,Sencor,Android,202.181.155.250 +4120,EHIC3KuwWJ,Berlin,4K,Sencor,Ubuntu,125.139.100.85 +4121,VDQ1G,Paris,"Full HD",Philips,Ubuntu,58.189.141.147 +4122,ce97uh,Berlin,4K,Philips,Linux,187.172.253.20 +4123,ASa8IWMq02,Paris,"Full HD",LG,Android,251.236.206.116 +4124,3ZVlc,Paris,4K,Philips,Linux,127.126.169.241 +4125,bBWmqX,Berlin,"Full HD",Philips,Linux,72.107.154.3 +4126,TQ4vWcGfY,Berlin,4K,Philips,Linux,195.200.243.191 +4127,VnzLYIm4,Paris,"Full HD",Philips,Android,1.103.88.225 +4128,POhFl,Warsaw,4K,Sencor,Android,174.216.203.78 +4129,O9p2skFxzM,Paris,4K,Samsung,Ubuntu,4.81.236.3 +4130,LFhkol8P,Berlin,4K,Samsung,Android,66.101.220.117 +4131,Q7kbO,Amsterdam,"Full HD",Philips,Ubuntu,58.107.203.242 +4132,R9usA1W5,Berlin,"Full HD",Sencor,Linux,218.191.168.199 +4133,PKSQg,Berlin,"Full HD",Philips,Ubuntu,221.177.74.160 +4134,z5FEIMRe2K,Paris,4K,Samsung,Ubuntu,139.167.222.93 +4135,cI6Zn,Paris,"Full HD",Sencor,Linux,206.138.82.90 +4136,kyNsp,Berlin,4K,LG,Android,42.99.164.187 +4137,u8YLUA3xrm,Warsaw,4K,Samsung,Android,213.191.130.13 +4138,t2749DU,Paris,"Full HD",Samsung,Android,223.71.47.162 +4139,hBANHPpDQK,Warsaw,4K,Philips,Linux,238.81.13.48 +4140,wHToh,Berlin,4K,Samsung,Linux,17.139.93.61 +4141,p8sjVxZg2,Amsterdam,"Full HD",LG,Android,4.103.200.17 +4142,lhLePXY,Amsterdam,4K,Sencor,Ubuntu,94.125.28.173 +4143,oiG36N,Warsaw,"Full HD",LG,Ubuntu,55.239.224.123 +4144,3M4QZkI7,Paris,4K,Philips,Android,131.109.8.161 +4145,CSf7c6Hw,Warsaw,"Full HD",Samsung,Linux,160.234.69.40 +4146,Nlkpx3,Paris,4K,Sencor,Linux,147.242.119.127 +4147,5aZGl,Paris,"Full HD",Sencor,Ubuntu,99.113.146.15 +4148,ZfwHJ,Warsaw,"Full HD",Philips,Linux,245.65.159.80 +4149,TJblwNY,Berlin,4K,Philips,Linux,139.233.86.211 +4150,lEfXczrDZ,Berlin,4K,Samsung,Ubuntu,122.18.185.129 +4151,oKLxdq5,Berlin,4K,Philips,Linux,193.174.221.228 +4152,Yo24A,Amsterdam,4K,Samsung,Android,65.104.38.80 +4153,EYk1x,Warsaw,"Full HD",LG,Linux,37.3.114.72 +4154,RkoDC9Owr,Berlin,4K,LG,Linux,52.6.71.255 +4155,bRUHf,Amsterdam,4K,LG,Android,49.155.172.59 +4156,8lw25ay,Berlin,4K,Sencor,Linux,131.16.73.15 +4157,IQCTdr4wPK,Warsaw,4K,Samsung,Linux,131.176.199.212 +4158,91qzHk,Warsaw,4K,Sencor,Linux,142.64.219.212 +4159,RoC9rh,Berlin,"Full HD",Philips,Android,53.7.209.3 +4160,gBPJy3GeV,Berlin,"Full HD",LG,Android,148.231.2.246 +4161,v3buZA,Berlin,4K,Samsung,Android,46.31.111.23 +4162,ENcjyIC,Amsterdam,"Full HD",Samsung,Android,56.30.68.81 +4163,m2ueWJxhUn,Warsaw,4K,Philips,Linux,251.66.199.218 +4164,zBpNZM9JKc,Berlin,"Full HD",LG,Android,157.163.133.101 +4165,bLNhs,Warsaw,"Full HD",Philips,Android,15.3.146.82 +4166,qx2owA,Warsaw,"Full HD",LG,Ubuntu,43.14.142.4 +4167,eFtdQ9E,Amsterdam,4K,Samsung,Android,245.157.175.53 +4168,5lEuCZb1O,Amsterdam,"Full HD",Philips,Android,77.207.159.37 +4169,DNq7U,Amsterdam,4K,Sencor,Ubuntu,81.62.16.35 +4170,h7xCLwo,Berlin,4K,LG,Android,166.179.49.100 +4171,ry9SgXv8Z,Warsaw,4K,LG,Ubuntu,131.48.106.53 +4172,aV8jQ,Berlin,"Full HD",LG,Ubuntu,165.50.237.18 +4173,MDEHNFkV,Warsaw,"Full HD",LG,Linux,200.109.160.208 +4174,O3Zgp0V,Warsaw,4K,LG,Android,16.12.17.103 +4175,EjMCY6hsG,Warsaw,4K,Sencor,Linux,153.132.84.189 +4176,HTegOkv0t,Berlin,4K,Samsung,Ubuntu,176.154.6.1 +4177,0OenpvN,Amsterdam,4K,Philips,Ubuntu,144.200.86.245 +4178,vd5ACVPXe,Warsaw,4K,Philips,Linux,11.2.133.110 +4179,R09D3qd,Berlin,4K,Philips,Linux,137.122.97.211 +4180,rEcmFD,Warsaw,4K,LG,Ubuntu,179.197.146.179 +4181,A3pxlT,Paris,"Full HD",Philips,Android,99.160.108.147 +4182,ZWF0Xv,Paris,"Full HD",Sencor,Ubuntu,251.154.60.38 +4183,bps2X,Amsterdam,"Full HD",LG,Android,111.229.132.87 +4184,BRGsxK,Amsterdam,"Full HD",LG,Linux,1.95.55.183 +4185,JUQvgYa,Berlin,"Full HD",Samsung,Android,70.218.92.202 +4186,h0Gy8Lc,Paris,4K,Sencor,Ubuntu,39.93.189.157 +4187,jV5zft,Paris,"Full HD",LG,Ubuntu,221.72.23.157 +4188,SqeYg,Warsaw,"Full HD",Sencor,Android,11.45.230.136 +4189,rVIRYp,Paris,"Full HD",Sencor,Ubuntu,6.9.164.129 +4190,Brce925,Amsterdam,4K,Sencor,Android,201.76.228.181 +4191,OVoqi8zJ,Warsaw,"Full HD",Philips,Linux,150.157.29.74 +4192,i87E0TKRq,Warsaw,"Full HD",Samsung,Ubuntu,161.101.150.122 +4193,MyimkL,Berlin,"Full HD",LG,Ubuntu,226.157.115.37 +4194,GpISRv4DUt,Berlin,"Full HD",Sencor,Linux,33.177.98.124 +4195,rGgWkMB2,Amsterdam,"Full HD",Philips,Android,21.152.16.186 +4196,u9OpcxNYhH,Paris,4K,Sencor,Android,129.120.64.110 +4197,Mptuw9j7Q,Berlin,4K,LG,Android,154.140.244.227 +4198,XsueflO8,Paris,4K,LG,Linux,78.33.142.30 +4199,eQuAK7SGq,Warsaw,4K,Philips,Linux,1.96.176.190 +4200,XFVmpdtwx,Berlin,"Full HD",Samsung,Linux,134.4.226.9 +4201,jxvit,Amsterdam,"Full HD",LG,Android,235.35.213.243 +4202,xfhPE1u,Amsterdam,4K,Samsung,Android,235.32.2.51 +4203,ycuUJ,Berlin,4K,LG,Ubuntu,81.197.221.235 +4204,FEZT8UA,Berlin,"Full HD",LG,Android,86.254.223.237 +4205,m6pUQjo,Warsaw,"Full HD",Samsung,Linux,88.24.47.18 +4206,CD8Fub2O,Berlin,"Full HD",Philips,Android,226.245.105.112 +4207,OoZiMztk,Warsaw,"Full HD",Philips,Linux,86.4.218.0 +4208,gNhmY,Berlin,4K,Philips,Android,154.132.96.244 +4209,oEPfAQYLc,Berlin,4K,Philips,Linux,133.115.59.220 +4210,9Q7tyP4,Warsaw,"Full HD",Sencor,Linux,39.220.99.166 +4211,8106zf7eZa,Paris,"Full HD",Sencor,Linux,206.233.163.112 +4212,0xa7TGi3hW,Amsterdam,4K,Sencor,Linux,255.135.166.240 +4213,dzWbD2A1iH,Berlin,4K,LG,Android,110.188.161.95 +4214,SjYh3,Paris,"Full HD",Samsung,Linux,183.33.29.134 +4215,jivO92HD,Amsterdam,4K,Sencor,Android,28.195.164.193 +4216,U7NXOJ,Paris,4K,Philips,Linux,177.150.137.202 +4217,ycE6mfirX,Paris,"Full HD",Philips,Linux,89.250.248.166 +4218,7xIugL0DZ,Warsaw,"Full HD",Philips,Android,55.28.146.167 +4219,UR8Cf6,Berlin,"Full HD",Samsung,Android,77.164.203.29 +4220,8ulKnv,Warsaw,4K,Sencor,Ubuntu,89.55.133.85 +4221,0qESZCLm2T,Amsterdam,4K,LG,Linux,9.75.119.4 +4222,TmAWN891,Amsterdam,"Full HD",Sencor,Linux,19.169.138.74 +4223,nfOdz,Berlin,4K,Samsung,Ubuntu,82.34.123.46 +4224,mVBFv2M,Paris,"Full HD",Philips,Android,95.146.233.132 +4225,tahBRf9e2N,Berlin,4K,LG,Linux,228.38.105.248 +4226,sgdzv9,Paris,"Full HD",LG,Android,152.3.133.27 +4227,rs2vU0ut,Amsterdam,"Full HD",Philips,Android,196.68.109.73 +4228,cXJaT,Amsterdam,"Full HD",Philips,Linux,246.255.203.55 +4229,tCpJHTiw,Amsterdam,4K,Philips,Android,5.206.156.52 +4230,TjWYhgwA8Z,Amsterdam,4K,Sencor,Linux,108.64.11.18 +4231,9vMT8,Amsterdam,"Full HD",LG,Android,79.145.236.211 +4232,in27m,Amsterdam,4K,Samsung,Ubuntu,186.152.184.208 +4233,x3VkmOtQ,Amsterdam,4K,Philips,Ubuntu,52.182.235.238 +4234,T8Zpn,Paris,"Full HD",Philips,Ubuntu,199.9.123.57 +4235,PpfTjVbNI,Paris,4K,Philips,Android,169.246.30.179 +4236,8LFJCqcQMR,Amsterdam,"Full HD",Sencor,Linux,61.19.101.111 +4237,aJOfZHW8re,Berlin,4K,Sencor,Linux,143.118.124.123 +4238,nfcpyZMH,Paris,4K,Samsung,Ubuntu,135.46.58.218 +4239,i1PJqd4M,Amsterdam,"Full HD",Philips,Android,147.194.45.34 +4240,xsNuOFj,Amsterdam,4K,Sencor,Linux,91.254.166.102 +4241,jRqyrdXP,Paris,4K,Sencor,Linux,136.179.210.46 +4242,Zwkx9sdz,Amsterdam,"Full HD",LG,Linux,198.162.193.189 +4243,JPae2S8X,Paris,4K,Philips,Linux,64.23.181.55 +4244,vig0Sw,Amsterdam,4K,Philips,Linux,60.41.44.220 +4245,cMx0iuBd,Warsaw,4K,Philips,Ubuntu,160.174.183.93 +4246,iCnED,Warsaw,"Full HD",Philips,Android,180.151.242.48 +4247,0dUuXn,Warsaw,4K,Sencor,Linux,164.226.64.235 +4248,qCVnuF6NfE,Warsaw,"Full HD",Samsung,Linux,242.190.196.29 +4249,09ZKYBbVo,Amsterdam,4K,Philips,Linux,201.186.76.147 +4250,SnDCH,Paris,"Full HD",Philips,Android,61.88.149.46 +4251,nD3gI,Paris,"Full HD",Philips,Android,211.215.104.82 +4252,5tfLhyO2Xi,Berlin,"Full HD",Samsung,Android,112.131.45.90 +4253,F67lfNX,Berlin,4K,Philips,Ubuntu,198.230.34.108 +4254,N6feDyk,Paris,"Full HD",Philips,Linux,220.116.119.109 +4255,BJl3YE,Paris,4K,LG,Ubuntu,39.65.157.122 +4256,o42sP,Berlin,4K,Philips,Ubuntu,6.122.117.58 +4257,QSjxcnbe5,Amsterdam,"Full HD",Philips,Linux,179.163.95.74 +4258,TrFnxuA,Warsaw,"Full HD",Sencor,Ubuntu,4.1.33.41 +4259,LqUpkuIR,Amsterdam,4K,Philips,Ubuntu,239.234.209.197 +4260,YwQo6Z,Berlin,"Full HD",Sencor,Linux,99.238.153.90 +4261,aLhbxV,Warsaw,"Full HD",Sencor,Android,201.183.6.32 +4262,YzuMmOi,Berlin,4K,Samsung,Android,36.207.4.79 +4263,AFuGj,Amsterdam,"Full HD",Sencor,Linux,85.60.178.75 +4264,xOPiWI5,Berlin,4K,Philips,Linux,156.77.184.147 +4265,LAQ8UWR,Paris,4K,Samsung,Android,45.80.0.110 +4266,QKAmXZB,Warsaw,"Full HD",Philips,Linux,62.96.22.255 +4267,v9PtXpBq,Amsterdam,"Full HD",Samsung,Ubuntu,122.57.227.10 +4268,0TdZu,Berlin,"Full HD",Sencor,Android,241.252.237.170 +4269,hxwFtS,Amsterdam,4K,Sencor,Android,157.140.166.181 +4270,Bjy95rnEv8,Berlin,"Full HD",LG,Ubuntu,224.8.94.149 +4271,uSe13N,Amsterdam,4K,Samsung,Ubuntu,12.151.142.5 +4272,LXqM4Q,Berlin,4K,LG,Android,156.16.60.129 +4273,rkHxYV3,Paris,"Full HD",Philips,Ubuntu,143.220.3.26 +4274,QGeHa,Amsterdam,4K,Philips,Android,24.45.22.191 +4275,crzpsG26,Amsterdam,"Full HD",Samsung,Android,218.143.88.47 +4276,14O0Cwz,Paris,"Full HD",Philips,Linux,55.227.190.218 +4277,ElosWDw1,Warsaw,"Full HD",Samsung,Linux,111.126.6.167 +4278,mTsYBqVgl9,Warsaw,"Full HD",Samsung,Ubuntu,36.53.129.204 +4279,lKzbaRjHA,Warsaw,4K,LG,Android,208.201.118.42 +4280,y4NI6l,Berlin,"Full HD",Philips,Ubuntu,213.1.101.59 +4281,jryD329I,Amsterdam,4K,Sencor,Ubuntu,188.40.233.78 +4282,xMYsq2zE,Berlin,"Full HD",Sencor,Ubuntu,239.183.102.183 +4283,SuihCVda,Warsaw,4K,LG,Ubuntu,95.113.83.252 +4284,et5AfbTrc7,Amsterdam,4K,LG,Android,48.20.109.223 +4285,pVv2MB,Warsaw,4K,Philips,Linux,247.163.112.79 +4286,xnZz9jd3TG,Berlin,"Full HD",Sencor,Ubuntu,194.117.243.229 +4287,ZVxONytg6C,Berlin,4K,LG,Android,170.131.38.125 +4288,5hgOKDWorH,Amsterdam,"Full HD",Sencor,Android,77.189.143.130 +4289,UZcz1,Amsterdam,"Full HD",LG,Android,224.184.18.218 +4290,U6XS50nL,Berlin,4K,Sencor,Ubuntu,35.189.147.239 +4291,OJd7pY1,Berlin,4K,Sencor,Ubuntu,155.129.178.224 +4292,wuZGAq,Warsaw,"Full HD",Samsung,Linux,28.13.238.114 +4293,GY0jkdF8,Berlin,"Full HD",Sencor,Linux,183.51.161.63 +4294,l7qMot0kWY,Paris,4K,Philips,Ubuntu,85.203.137.52 +4295,GNFuzRYwI,Amsterdam,"Full HD",Philips,Ubuntu,20.150.10.5 +4296,2j5QaOeBu,Warsaw,"Full HD",Samsung,Linux,51.4.199.239 +4297,MOgBsyJY,Paris,4K,Sencor,Linux,89.45.230.244 +4298,FePI1xY,Warsaw,4K,Philips,Ubuntu,186.66.96.39 +4299,aZFUL6HYJ4,Berlin,"Full HD",LG,Linux,32.18.66.189 +4300,DWE37YABZ,Berlin,4K,LG,Android,141.153.255.4 +4301,kFLMwX2,Berlin,4K,Samsung,Android,84.152.170.245 +4302,i4VRbSw1zN,Amsterdam,4K,Sencor,Ubuntu,201.107.104.76 +4303,buoqUxap,Warsaw,4K,LG,Linux,197.123.164.148 +4304,FE09Wwpso,Amsterdam,4K,LG,Android,95.106.10.62 +4305,aXVg8k,Berlin,"Full HD",Sencor,Linux,78.47.64.83 +4306,SRXe5pI,Berlin,"Full HD",Samsung,Ubuntu,205.16.128.44 +4307,sxjBJW9Ct,Paris,"Full HD",LG,Android,141.0.79.29 +4308,exGZmH,Paris,4K,LG,Ubuntu,89.129.72.34 +4309,SPEB6qgZRb,Amsterdam,4K,Samsung,Linux,42.82.192.179 +4310,4ZpkV8l1,Paris,4K,LG,Ubuntu,144.55.144.155 +4311,jorU6Ql,Berlin,"Full HD",LG,Ubuntu,69.163.65.161 +4312,h5qVRSFQ,Paris,4K,Samsung,Linux,29.242.190.72 +4313,jo3IsWfn,Amsterdam,4K,Philips,Android,126.204.188.66 +4314,DplQbi1,Paris,4K,LG,Android,101.124.87.192 +4315,ioR1gkCD,Warsaw,"Full HD",LG,Android,75.238.80.252 +4316,uj2BRp,Berlin,4K,Philips,Android,109.128.170.189 +4317,WzKrL,Amsterdam,4K,Samsung,Ubuntu,82.17.134.36 +4318,TIFU1Nra,Warsaw,"Full HD",Samsung,Linux,57.212.47.251 +4319,VeR6WorZu,Amsterdam,"Full HD",Samsung,Android,159.151.240.57 +4320,QLCjxtfu,Amsterdam,"Full HD",Philips,Ubuntu,229.44.235.27 +4321,kh7cQWiT,Warsaw,4K,Philips,Android,104.244.193.43 +4322,HJX45tvL,Berlin,"Full HD",Sencor,Ubuntu,160.54.9.120 +4323,VdWm3,Warsaw,"Full HD",Sencor,Linux,206.73.184.193 +4324,1F8btvOU,Paris,4K,Sencor,Android,150.89.135.182 +4325,saXgZi,Warsaw,4K,Philips,Linux,13.48.127.133 +4326,fshepU6r0d,Berlin,"Full HD",LG,Android,173.253.118.164 +4327,x679PrHXoL,Berlin,"Full HD",Samsung,Linux,95.159.15.151 +4328,6L4dkXF8Po,Warsaw,"Full HD",Samsung,Android,194.133.53.20 +4329,mRqT6AI,Berlin,"Full HD",Samsung,Ubuntu,37.49.59.73 +4330,7BLVXq,Amsterdam,4K,Philips,Ubuntu,33.76.227.118 +4331,84VOY6y15,Berlin,4K,Sencor,Ubuntu,28.198.90.221 +4332,TNo7XO,Warsaw,"Full HD",Samsung,Linux,49.177.215.25 +4333,AZ2cpz0,Berlin,"Full HD",Samsung,Ubuntu,125.106.105.34 +4334,uiDEN,Paris,"Full HD",Philips,Linux,182.251.70.47 +4335,oDAseyr6L,Berlin,"Full HD",LG,Android,41.19.202.216 +4336,pRIg5D1j,Amsterdam,4K,Philips,Linux,206.77.23.206 +4337,L7Bmey,Warsaw,4K,Sencor,Ubuntu,121.182.17.250 +4338,7Uo5uK9N,Paris,4K,Samsung,Android,250.100.25.1 +4339,bPE0FsVSR,Paris,"Full HD",Philips,Android,26.19.121.76 +4340,ZAGC7Tzo,Paris,4K,Philips,Ubuntu,0.2.134.189 +4341,HD25d,Warsaw,4K,LG,Linux,51.3.167.175 +4342,s0G8eYT,Paris,4K,Samsung,Ubuntu,91.114.111.254 +4343,vYysThjnPS,Amsterdam,"Full HD",Philips,Android,199.252.165.23 +4344,baDeUK,Amsterdam,"Full HD",Philips,Ubuntu,124.98.165.38 +4345,knuJ6hcd,Paris,4K,Samsung,Linux,135.23.187.14 +4346,CWq2gpx,Paris,"Full HD",Sencor,Android,147.45.192.102 +4347,BUPEx2z7sq,Berlin,4K,Samsung,Linux,247.184.186.172 +4348,piZIzdWN,Paris,"Full HD",Sencor,Ubuntu,164.74.128.70 +4349,SDasPqUrK,Warsaw,"Full HD",Philips,Linux,114.59.63.171 +4350,zBwiD1L,Warsaw,"Full HD",Sencor,Android,89.29.163.89 +4351,lZ1354nW,Warsaw,"Full HD",Sencor,Android,43.220.42.45 +4352,rEB48C6,Berlin,4K,Samsung,Linux,109.133.72.6 +4353,sTfHzq,Amsterdam,4K,LG,Linux,179.174.194.125 +4354,sfeqPbIUK,Amsterdam,4K,LG,Ubuntu,110.50.28.80 +4355,szdOuRZXP,Berlin,"Full HD",Sencor,Linux,110.245.69.153 +4356,MxjnIc,Paris,4K,LG,Ubuntu,72.142.165.95 +4357,JPvAkIgfo,Warsaw,"Full HD",Samsung,Android,20.1.196.15 +4358,zq406IQLTk,Warsaw,"Full HD",LG,Android,37.170.27.96 +4359,3nCAtO,Berlin,"Full HD",Sencor,Ubuntu,64.192.12.85 +4360,5leAR,Warsaw,"Full HD",Sencor,Ubuntu,186.107.126.171 +4361,m0ecAgl1,Paris,4K,LG,Ubuntu,140.218.45.172 +4362,BTX2tkKohW,Berlin,4K,Sencor,Ubuntu,246.227.90.131 +4363,XF9Zm,Amsterdam,4K,LG,Linux,36.217.115.50 +4364,rC13NsG,Warsaw,"Full HD",Sencor,Android,136.179.96.137 +4365,AQFr9,Berlin,4K,Sencor,Linux,236.254.181.23 +4366,RSufy6,Paris,"Full HD",LG,Linux,92.14.34.167 +4367,ao6H2Ecf4,Paris,4K,Samsung,Linux,134.249.179.212 +4368,O3ePkdJT,Warsaw,"Full HD",Sencor,Android,72.213.191.91 +4369,IXDzJiFk,Warsaw,"Full HD",Philips,Linux,103.78.44.101 +4370,gon6BxK,Berlin,"Full HD",Samsung,Linux,148.253.68.156 +4371,BFdrPE,Warsaw,"Full HD",Samsung,Android,231.31.82.249 +4372,TlQg2,Berlin,4K,LG,Linux,187.227.114.37 +4373,fBXLh,Paris,"Full HD",Philips,Android,170.211.32.215 +4374,kUpRqo,Berlin,"Full HD",Philips,Android,165.230.189.31 +4375,Pbjwun,Amsterdam,"Full HD",Sencor,Linux,50.148.145.226 +4376,OCYt4JL,Amsterdam,"Full HD",Samsung,Android,202.201.72.35 +4377,vAHgSTpCPe,Warsaw,4K,Samsung,Ubuntu,88.112.64.246 +4378,AfS5jH,Berlin,4K,Philips,Linux,106.47.135.235 +4379,I2OPj,Amsterdam,"Full HD",LG,Ubuntu,67.115.187.194 +4380,7x9lfU0w,Paris,4K,Sencor,Android,181.34.243.200 +4381,Qy41Z,Berlin,"Full HD",Sencor,Android,96.139.11.56 +4382,RL6TMEwH4z,Warsaw,"Full HD",Samsung,Android,253.58.61.219 +4383,SX92E,Amsterdam,4K,LG,Ubuntu,124.53.30.16 +4384,6jRAP,Paris,4K,LG,Ubuntu,84.185.34.236 +4385,aJNwEtK3g,Berlin,4K,Sencor,Linux,157.46.244.127 +4386,uNstJ8MfeX,Amsterdam,"Full HD",LG,Ubuntu,229.141.103.101 +4387,EkeCK,Paris,"Full HD",LG,Ubuntu,41.156.168.67 +4388,CY3QksJH,Amsterdam,4K,Samsung,Ubuntu,218.25.27.39 +4389,0PqLfQ,Warsaw,4K,Sencor,Ubuntu,126.4.42.139 +4390,EUudQ6AbPm,Berlin,"Full HD",LG,Ubuntu,75.204.32.111 +4391,FV0Er,Amsterdam,4K,Philips,Android,85.96.164.43 +4392,3PsuY,Amsterdam,4K,Samsung,Linux,106.63.115.63 +4393,R7JUM4,Warsaw,4K,Samsung,Linux,104.60.97.7 +4394,FZ4LdNp,Berlin,"Full HD",Philips,Ubuntu,187.121.240.22 +4395,XNMW7sj,Paris,"Full HD",LG,Linux,6.169.253.57 +4396,gNhTY6,Amsterdam,4K,LG,Ubuntu,232.135.101.228 +4397,TK90gh,Amsterdam,4K,LG,Linux,16.6.83.164 +4398,iSyQq2,Warsaw,4K,LG,Android,7.69.165.26 +4399,NjrhZR,Paris,4K,Sencor,Android,26.216.27.234 +4400,t895v,Paris,4K,Philips,Linux,220.189.29.120 +4401,KBgz9NE,Amsterdam,4K,Sencor,Android,102.169.99.178 +4402,GFKg45vNy,Paris,"Full HD",LG,Linux,139.194.253.110 +4403,zx2ConqifV,Paris,"Full HD",Samsung,Linux,33.219.30.80 +4404,aiIcvN3,Warsaw,4K,LG,Ubuntu,222.160.65.251 +4405,HiXkMBGR,Warsaw,"Full HD",Sencor,Android,68.49.79.242 +4406,jpQsx,Paris,4K,Sencor,Ubuntu,236.187.239.82 +4407,UEglMaht,Berlin,4K,Samsung,Android,3.128.75.178 +4408,tMjxO,Berlin,"Full HD",Philips,Linux,201.147.4.41 +4409,Mds9GtY,Berlin,"Full HD",Philips,Android,229.116.165.215 +4410,ytkQlamU4,Warsaw,4K,Samsung,Linux,186.160.150.9 +4411,Wm1BKS,Warsaw,4K,LG,Android,33.19.239.220 +4412,cCjvxw,Paris,"Full HD",Philips,Android,31.189.227.183 +4413,sWnEzCjQl,Amsterdam,"Full HD",Sencor,Linux,19.143.68.58 +4414,VdY2mpAUhX,Paris,4K,Samsung,Linux,82.59.149.68 +4415,BoYIen,Paris,4K,Philips,Linux,185.228.4.52 +4416,jgAy8lp4,Berlin,4K,Philips,Linux,105.129.238.147 +4417,kwKY1U,Paris,4K,LG,Linux,15.210.178.152 +4418,TQXDj,Berlin,"Full HD",Sencor,Android,87.211.236.62 +4419,r81bWCH,Amsterdam,4K,LG,Ubuntu,104.254.89.36 +4420,fYkFh,Berlin,"Full HD",LG,Linux,31.127.91.129 +4421,SrN76xcu3,Amsterdam,"Full HD",Philips,Android,28.214.185.155 +4422,AGylVtOR0,Amsterdam,"Full HD",LG,Ubuntu,137.21.247.173 +4423,7fcdOXkC,Berlin,"Full HD",Sencor,Android,40.165.178.200 +4424,wzvuXdHF,Berlin,"Full HD",Samsung,Linux,207.106.6.13 +4425,Uq5Bv9On,Amsterdam,4K,LG,Ubuntu,153.99.41.167 +4426,2UWl6vT,Berlin,4K,Samsung,Android,49.214.153.10 +4427,ms2g8,Warsaw,"Full HD",LG,Linux,212.169.205.157 +4428,QHNWZ43buw,Berlin,"Full HD",Samsung,Linux,23.125.70.74 +4429,SJ0Nf8twRq,Paris,"Full HD",Sencor,Linux,236.203.22.115 +4430,JdWBDEH,Paris,4K,Philips,Android,81.180.4.156 +4431,6SadH,Warsaw,4K,Sencor,Android,75.84.185.187 +4432,NiLlC,Berlin,4K,Sencor,Ubuntu,14.104.164.206 +4433,OHfFpBy,Paris,4K,Sencor,Ubuntu,131.14.186.10 +4434,P2a7GKynk9,Warsaw,4K,LG,Linux,134.39.64.123 +4435,6Ok1S24,Berlin,4K,Samsung,Linux,153.23.186.156 +4436,H9J2kxI,Amsterdam,"Full HD",LG,Android,123.113.138.138 +4437,PQN9oV76,Berlin,"Full HD",Sencor,Ubuntu,32.51.12.251 +4438,yA2UZN,Amsterdam,4K,Philips,Ubuntu,149.42.197.59 +4439,RFNG1K2V4L,Paris,4K,Philips,Ubuntu,107.224.54.3 +4440,lcdCreUQH,Paris,4K,Samsung,Linux,195.209.213.184 +4441,IKa6Ty,Amsterdam,4K,Philips,Android,61.46.203.128 +4442,8DxnF,Warsaw,4K,LG,Ubuntu,148.249.72.152 +4443,QKHNA,Warsaw,"Full HD",Sencor,Linux,88.143.155.196 +4444,mdXDFZ7,Warsaw,"Full HD",LG,Android,145.169.53.13 +4445,uQ7XhyFZ4,Warsaw,4K,Samsung,Android,35.51.250.217 +4446,psYBeCZT9o,Warsaw,"Full HD",Philips,Ubuntu,35.51.38.68 +4447,ByrXFvC3H2,Amsterdam,"Full HD",Samsung,Ubuntu,38.147.157.249 +4448,7l1O0u2,Paris,4K,Philips,Android,114.100.94.250 +4449,k4dMpC,Amsterdam,4K,Samsung,Linux,3.8.5.126 +4450,aVIXmxyFH,Berlin,"Full HD",Sencor,Ubuntu,54.159.148.237 +4451,UepMKfH,Amsterdam,4K,Philips,Ubuntu,181.45.223.220 +4452,7kBX6c,Amsterdam,4K,Philips,Android,106.252.203.177 +4453,9hZVDBft3k,Berlin,"Full HD",Sencor,Linux,115.10.23.151 +4454,efwOE,Berlin,4K,Samsung,Linux,195.215.224.3 +4455,umxobYlR7,Berlin,"Full HD",Philips,Linux,102.217.75.216 +4456,iwKxuqN8l,Amsterdam,"Full HD",Sencor,Linux,50.243.190.250 +4457,EpQh9b5t2,Warsaw,"Full HD",LG,Ubuntu,34.186.167.195 +4458,aKxhVcBkeo,Berlin,4K,Philips,Ubuntu,181.251.116.72 +4459,Uk1G4aMdAN,Amsterdam,"Full HD",Philips,Android,32.86.94.131 +4460,SYhHaN,Berlin,4K,LG,Linux,33.216.147.40 +4461,Nmyj0hLiXT,Paris,4K,Sencor,Android,199.2.157.182 +4462,H7dZ8e9RJY,Amsterdam,4K,Philips,Android,94.175.116.60 +4463,2wzcpgLMI,Paris,4K,Philips,Android,244.3.13.153 +4464,sdC8NP,Warsaw,"Full HD",LG,Ubuntu,109.37.24.107 +4465,Zc6PNfYR,Paris,4K,Philips,Ubuntu,177.204.85.18 +4466,P5LAf2,Paris,4K,Sencor,Linux,165.22.227.4 +4467,RiIBd,Amsterdam,4K,Sencor,Android,64.119.33.186 +4468,XtJvV,Amsterdam,4K,LG,Ubuntu,209.44.208.164 +4469,a9oBy,Paris,4K,LG,Android,118.9.104.14 +4470,NgCGzRtMiF,Berlin,4K,Philips,Ubuntu,202.65.168.245 +4471,isYhK3nXd,Paris,"Full HD",Sencor,Android,110.55.87.174 +4472,oruEU,Amsterdam,4K,Sencor,Linux,68.254.39.233 +4473,TYXfuM7qP,Paris,4K,Samsung,Android,13.58.76.84 +4474,K3Xbxn,Amsterdam,"Full HD",Sencor,Android,223.49.26.65 +4475,aWc87XD5,Amsterdam,"Full HD",Philips,Android,88.218.1.255 +4476,pKDqzPb,Warsaw,4K,Philips,Android,124.109.245.164 +4477,tEBeUza7,Warsaw,4K,LG,Ubuntu,74.177.245.22 +4478,KkFcUErw,Amsterdam,"Full HD",LG,Ubuntu,180.149.252.37 +4479,u603L,Berlin,"Full HD",LG,Ubuntu,220.157.111.184 +4480,0z16E,Amsterdam,"Full HD",Sencor,Ubuntu,3.26.191.82 +4481,LlJpu,Berlin,"Full HD",Philips,Ubuntu,204.159.206.0 +4482,I5FhKm,Amsterdam,"Full HD",LG,Linux,155.110.155.55 +4483,CU1lLFcrjI,Paris,"Full HD",Samsung,Android,46.14.8.163 +4484,0BP2ma,Berlin,"Full HD",Samsung,Linux,13.124.159.212 +4485,buYyQjUN0H,Warsaw,4K,Samsung,Android,214.16.55.108 +4486,S7erYlPJMo,Warsaw,"Full HD",Philips,Android,187.226.141.172 +4487,jNBKg3R4cF,Paris,"Full HD",Sencor,Linux,211.230.110.228 +4488,q9YMw,Paris,4K,Samsung,Android,188.12.242.86 +4489,I05oXFmvai,Berlin,"Full HD",Philips,Android,245.199.64.194 +4490,UGrZA,Paris,4K,Philips,Android,128.33.184.59 +4491,HPdqW,Paris,4K,Sencor,Ubuntu,25.114.166.181 +4492,Br8K4iEska,Paris,"Full HD",Samsung,Android,51.179.51.208 +4493,wJYHk,Paris,4K,Philips,Ubuntu,131.109.115.166 +4494,R01kF,Berlin,4K,LG,Linux,116.1.157.205 +4495,P0Bzpe7g4W,Amsterdam,4K,Samsung,Ubuntu,60.61.67.100 +4496,sgyjHS7,Warsaw,4K,LG,Android,73.239.166.146 +4497,0e1CiWg,Berlin,4K,Sencor,Ubuntu,155.53.97.85 +4498,k3wY59K,Amsterdam,"Full HD",Philips,Android,107.57.52.61 +4499,df24rk38w,Berlin,4K,LG,Android,252.199.185.155 +4500,hnWFkBMeT,Amsterdam,4K,Sencor,Android,140.122.213.112 +4501,Au4t36IC,Amsterdam,4K,Philips,Android,140.16.228.132 +4502,SPAHyNn,Paris,4K,Samsung,Android,86.10.238.151 +4503,JK9Fi,Berlin,"Full HD",Sencor,Android,156.243.206.166 +4504,53kysab,Paris,"Full HD",Philips,Android,223.90.243.51 +4505,LG7qSQUyl,Amsterdam,"Full HD",Sencor,Linux,189.26.26.77 +4506,VogChiSB,Paris,4K,LG,Linux,191.221.119.32 +4507,XoeqLCH,Amsterdam,4K,Philips,Ubuntu,143.101.184.127 +4508,uTGMEC6DQ,Warsaw,"Full HD",Samsung,Linux,147.84.63.224 +4509,N7SXVno,Berlin,"Full HD",Philips,Ubuntu,59.168.88.238 +4510,2tuT9aX,Paris,"Full HD",Philips,Linux,250.44.167.195 +4511,gABPfES1r,Warsaw,4K,LG,Linux,226.40.220.13 +4512,Lx0eo,Paris,4K,LG,Ubuntu,59.104.137.215 +4513,I7ODSsyCc,Berlin,4K,Philips,Ubuntu,108.205.38.251 +4514,rEmvC7O54l,Berlin,4K,Samsung,Android,210.31.243.218 +4515,nptSEi6YDT,Paris,4K,Samsung,Android,234.58.191.16 +4516,tHA903Psux,Amsterdam,"Full HD",Sencor,Android,70.66.127.31 +4517,OQrmXz,Paris,"Full HD",Sencor,Linux,179.254.39.124 +4518,9blhR4o5,Amsterdam,"Full HD",Sencor,Android,113.235.161.15 +4519,gI4Y2H7j,Berlin,"Full HD",LG,Linux,206.107.255.59 +4520,BKdGkum,Berlin,4K,Philips,Android,231.205.36.237 +4521,qAXhSc2G9t,Warsaw,"Full HD",Sencor,Linux,99.156.224.160 +4522,nla695I,Amsterdam,"Full HD",Samsung,Ubuntu,237.188.34.134 +4523,xVfagyNS2,Berlin,"Full HD",Philips,Android,190.240.157.243 +4524,FvOXteH8h,Amsterdam,4K,LG,Android,205.206.120.47 +4525,fzRMONyj8d,Berlin,"Full HD",Sencor,Linux,70.227.16.125 +4526,CGmro6J,Berlin,"Full HD",LG,Linux,163.173.108.173 +4527,gqFSoa9ZvJ,Amsterdam,"Full HD",Sencor,Linux,134.132.186.239 +4528,NoYMb9r,Berlin,4K,Sencor,Android,108.65.3.158 +4529,8JDQY9vb,Paris,4K,Philips,Linux,12.197.34.148 +4530,DTe7SXtyN,Amsterdam,"Full HD",LG,Linux,48.165.73.167 +4531,GNoW82,Warsaw,4K,Samsung,Linux,58.125.177.201 +4532,TFdfvXkp70,Warsaw,"Full HD",Philips,Linux,208.145.21.96 +4533,UQ9KJdw,Berlin,"Full HD",Philips,Ubuntu,127.67.243.213 +4534,tRnHh2S,Amsterdam,"Full HD",Sencor,Android,33.159.192.191 +4535,hEmKDLTN,Amsterdam,4K,Sencor,Linux,109.250.92.174 +4536,ksW9ta,Berlin,4K,Philips,Ubuntu,147.220.126.159 +4537,Yf7RJkNeHg,Warsaw,4K,Sencor,Android,218.227.193.121 +4538,rePyn,Warsaw,4K,Sencor,Ubuntu,98.18.241.120 +4539,3jYiQpPK,Warsaw,"Full HD",Philips,Android,247.250.69.31 +4540,BihjWJfqk,Warsaw,4K,Samsung,Ubuntu,98.243.183.161 +4541,ElA2MdBbo3,Berlin,"Full HD",Philips,Ubuntu,166.152.160.85 +4542,WVryLbH,Warsaw,"Full HD",Samsung,Linux,54.58.58.187 +4543,HcyJ0s,Berlin,"Full HD",LG,Ubuntu,80.25.99.243 +4544,mvuw7pP,Amsterdam,4K,LG,Android,103.3.18.149 +4545,d87myU,Paris,"Full HD",LG,Android,90.193.32.56 +4546,COBdSzKLwN,Warsaw,4K,LG,Ubuntu,85.176.33.222 +4547,RpPin7,Berlin,"Full HD",LG,Linux,28.204.197.227 +4548,58qdRa,Berlin,"Full HD",LG,Linux,37.2.125.201 +4549,xeXSC,Amsterdam,4K,Samsung,Android,64.95.150.109 +4550,iDzGeoJw,Berlin,"Full HD",Samsung,Android,222.0.44.26 +4551,mDJ8fBsRL,Berlin,"Full HD",LG,Android,178.66.213.78 +4552,QqhcNju,Paris,4K,Sencor,Ubuntu,238.208.232.196 +4553,tnvIfd4oHh,Paris,"Full HD",Sencor,Android,132.51.70.118 +4554,V5MiXuvWS,Paris,"Full HD",Philips,Android,55.21.81.44 +4555,baFdzRp,Berlin,"Full HD",Samsung,Linux,143.96.128.164 +4556,bcnZXICMQ,Amsterdam,4K,Sencor,Linux,110.160.147.111 +4557,1cURT,Berlin,"Full HD",Samsung,Ubuntu,6.17.161.181 +4558,rvPD8bU,Paris,4K,LG,Ubuntu,212.58.110.111 +4559,Q6pjYoTX3a,Warsaw,4K,Sencor,Ubuntu,253.14.213.72 +4560,0PxEcFn3a,Berlin,"Full HD",Sencor,Linux,186.200.25.70 +4561,5cq41aX,Paris,4K,LG,Android,19.93.52.41 +4562,HnWwfkrx,Paris,"Full HD",Sencor,Ubuntu,223.222.49.54 +4563,6OGYy,Berlin,4K,Samsung,Ubuntu,72.220.115.157 +4564,iRrD1g3Mkp,Berlin,"Full HD",Philips,Android,199.66.213.59 +4565,30q7n,Paris,4K,Samsung,Linux,190.9.251.112 +4566,te854XuUA3,Amsterdam,4K,Samsung,Ubuntu,75.218.97.30 +4567,W6pqrD,Paris,4K,Philips,Android,3.214.251.199 +4568,kOIdUtZMH,Warsaw,"Full HD",Philips,Android,40.181.34.174 +4569,wZgXbov,Paris,4K,Philips,Linux,230.129.11.39 +4570,mYA0685X,Paris,"Full HD",LG,Linux,189.236.177.98 +4571,NZfSpkHd,Amsterdam,4K,Sencor,Linux,130.228.170.200 +4572,nb9s7,Warsaw,4K,Samsung,Android,214.37.146.174 +4573,XVn39avMc,Warsaw,"Full HD",LG,Ubuntu,68.118.77.230 +4574,NstlRCO,Paris,4K,Samsung,Android,219.99.2.197 +4575,2jerAOSs,Berlin,4K,LG,Android,241.214.73.97 +4576,Nfg7U4q,Warsaw,"Full HD",Philips,Ubuntu,148.210.250.132 +4577,h8WJAd9og,Warsaw,"Full HD",Philips,Ubuntu,175.54.20.119 +4578,Ihjp3KF,Paris,4K,Sencor,Android,115.236.238.201 +4579,s8UDnTM,Amsterdam,"Full HD",Philips,Ubuntu,69.251.246.193 +4580,vewWHmb,Berlin,"Full HD",Philips,Android,207.195.15.155 +4581,O8hFq,Amsterdam,"Full HD",LG,Ubuntu,244.56.109.81 +4582,hzyokj,Berlin,4K,Philips,Ubuntu,153.131.92.38 +4583,Oxgp86,Amsterdam,4K,Philips,Linux,76.218.184.175 +4584,ITB34fM,Warsaw,4K,Samsung,Linux,145.251.67.37 +4585,fmKLSD,Paris,4K,Samsung,Ubuntu,175.179.4.68 +4586,a6yZ43h8,Paris,4K,Philips,Android,124.76.124.41 +4587,V2yO5tM,Amsterdam,4K,Sencor,Android,85.170.173.252 +4588,jkZTKit,Berlin,4K,LG,Linux,175.107.0.246 +4589,VBAmpX,Amsterdam,"Full HD",Philips,Linux,220.214.255.196 +4590,XunOYe,Paris,"Full HD",Sencor,Linux,68.237.128.62 +4591,hwy3tqxG14,Berlin,"Full HD",Sencor,Android,33.71.49.78 +4592,lpa3oS8qXk,Paris,"Full HD",Philips,Android,14.106.193.135 +4593,ozKTDb,Berlin,"Full HD",Samsung,Linux,210.76.114.138 +4594,XO8WeEsvV,Paris,4K,Samsung,Linux,13.235.84.53 +4595,7NH0G5Ks,Berlin,"Full HD",Samsung,Android,56.247.110.227 +4596,TLsio3aOgy,Warsaw,"Full HD",Philips,Linux,173.115.91.24 +4597,68BIemLG,Paris,4K,Sencor,Ubuntu,225.2.194.226 +4598,vGm0Z,Berlin,4K,Philips,Ubuntu,6.86.146.86 +4599,3D48L,Paris,"Full HD",Samsung,Ubuntu,148.163.26.72 +4600,VKbWH8zyw,Paris,4K,LG,Android,70.206.40.198 +4601,ZLO9yu3T,Paris,4K,Sencor,Android,137.46.157.17 +4602,SCJfYBNtkg,Paris,"Full HD",LG,Linux,129.90.159.76 +4603,ypezBJv,Warsaw,"Full HD",Philips,Linux,60.109.157.193 +4604,WSt4OJP6,Amsterdam,"Full HD",LG,Ubuntu,188.147.60.223 +4605,9sOJ2redg,Amsterdam,4K,Sencor,Ubuntu,225.171.200.216 +4606,H3zlcFD,Berlin,"Full HD",Sencor,Linux,125.65.50.209 +4607,MTgELXy,Amsterdam,4K,Philips,Android,150.253.174.144 +4608,pDIzy,Amsterdam,"Full HD",LG,Linux,255.232.240.16 +4609,ekIbm,Paris,"Full HD",Samsung,Android,57.135.235.61 +4610,yK7b3ld5,Berlin,"Full HD",Philips,Ubuntu,208.143.193.59 +4611,DOpLhFv6ws,Warsaw,"Full HD",Sencor,Ubuntu,2.124.63.57 +4612,Q7hSW,Amsterdam,"Full HD",Sencor,Linux,57.167.167.221 +4613,XynBt,Paris,4K,LG,Android,65.186.85.249 +4614,5i3s92E,Paris,"Full HD",Samsung,Android,91.52.52.130 +4615,hqDyZ,Berlin,4K,Samsung,Ubuntu,221.60.60.149 +4616,0V3Gdar,Warsaw,4K,Philips,Android,17.203.233.146 +4617,SoBIHfEXb,Amsterdam,"Full HD",Philips,Android,20.232.72.35 +4618,RqtA3hI6N1,Berlin,4K,Philips,Linux,89.59.152.164 +4619,HZvbS9z,Warsaw,4K,Sencor,Linux,119.246.208.170 +4620,qJUN4G,Berlin,4K,Philips,Ubuntu,106.212.253.128 +4621,OlvNGHEcmV,Paris,4K,LG,Android,168.239.50.39 +4622,rcIpzx6yNu,Berlin,"Full HD",Sencor,Linux,32.199.182.49 +4623,GRCnHvfmk7,Amsterdam,4K,LG,Android,45.29.54.74 +4624,3KP61tjO,Paris,4K,LG,Ubuntu,168.34.127.210 +4625,xqvl1AR6WF,Warsaw,4K,Philips,Ubuntu,76.206.126.237 +4626,P6ATU5,Amsterdam,4K,Philips,Android,123.252.157.247 +4627,FjYZe,Warsaw,4K,LG,Ubuntu,138.157.15.80 +4628,qNkdsJBW,Paris,4K,LG,Linux,169.169.251.231 +4629,iwpHJ,Berlin,4K,Sencor,Android,3.230.182.116 +4630,1y2jc,Amsterdam,4K,Sencor,Linux,165.196.219.188 +4631,8r30YjSETa,Warsaw,4K,Sencor,Linux,80.10.191.49 +4632,3iOjv0gq,Amsterdam,4K,LG,Ubuntu,47.65.56.195 +4633,jXNl1eZFQP,Warsaw,4K,Philips,Ubuntu,159.54.231.137 +4634,G5Fl7,Berlin,"Full HD",LG,Ubuntu,52.94.218.11 +4635,YeyivSDm3,Paris,4K,LG,Ubuntu,231.208.140.70 +4636,1jh0E,Paris,"Full HD",Sencor,Android,5.12.88.202 +4637,GliuaA,Berlin,"Full HD",Sencor,Ubuntu,244.156.150.126 +4638,sLngwd,Paris,"Full HD",Sencor,Android,251.217.70.91 +4639,JgXFhEieN,Berlin,"Full HD",Samsung,Linux,192.136.45.199 +4640,qPyz1xBh,Paris,4K,Philips,Android,41.115.113.25 +4641,3Mu2TI,Warsaw,4K,Sencor,Linux,161.196.138.91 +4642,2wQsCEhD,Paris,"Full HD",LG,Linux,57.60.22.99 +4643,rz1xDySY5d,Amsterdam,4K,LG,Linux,130.35.134.245 +4644,9JD6Xg,Berlin,4K,Samsung,Android,250.119.61.41 +4645,4ht2QZKf,Warsaw,"Full HD",Philips,Linux,66.200.96.86 +4646,AbuonB8Syl,Paris,"Full HD",Sencor,Android,119.1.235.149 +4647,qH4a18,Amsterdam,4K,Philips,Android,153.26.170.34 +4648,wlNZLXqh,Amsterdam,4K,Samsung,Ubuntu,249.91.148.255 +4649,Kaxm9,Amsterdam,4K,Sencor,Linux,160.14.147.81 +4650,kcPsX,Warsaw,4K,Philips,Android,155.238.65.85 +4651,tM24a,Berlin,4K,Samsung,Ubuntu,28.135.172.159 +4652,zA2wV17v,Warsaw,4K,Samsung,Linux,49.61.167.26 +4653,tK90LC62,Warsaw,4K,Philips,Linux,51.81.72.136 +4654,yrcQlG,Paris,"Full HD",Sencor,Android,68.215.175.241 +4655,nZVjHC,Amsterdam,"Full HD",Samsung,Ubuntu,127.98.63.230 +4656,THUaVb3,Paris,4K,LG,Ubuntu,37.58.11.152 +4657,hZ3z5,Amsterdam,4K,Sencor,Ubuntu,201.20.210.189 +4658,GKfu3Pl,Amsterdam,"Full HD",Samsung,Ubuntu,129.255.140.187 +4659,DV8AgQH61,Paris,4K,Philips,Android,239.31.18.43 +4660,mscY0utR,Warsaw,4K,Samsung,Android,124.100.195.195 +4661,qfoSAR68,Berlin,4K,LG,Linux,254.222.105.144 +4662,4VOvYGKuSt,Amsterdam,"Full HD",LG,Android,201.192.131.224 +4663,bHCEaT,Amsterdam,"Full HD",Samsung,Linux,194.225.58.161 +4664,a3idR,Paris,"Full HD",LG,Ubuntu,12.172.176.214 +4665,6yjN3tRU5,Warsaw,4K,LG,Android,50.138.17.134 +4666,f9pj2ITM,Warsaw,4K,Samsung,Android,222.221.156.221 +4667,38aZTMcpAD,Warsaw,"Full HD",Samsung,Android,147.215.193.60 +4668,qSBd2wzQ,Warsaw,4K,Sencor,Linux,203.179.40.114 +4669,p5ZGK,Paris,4K,LG,Ubuntu,100.120.25.206 +4670,0xb89MJ,Warsaw,"Full HD",Sencor,Ubuntu,196.127.198.163 +4671,lAfFNt3,Amsterdam,4K,Philips,Ubuntu,118.201.102.149 +4672,A2kxlNQq9,Berlin,4K,Samsung,Ubuntu,116.137.44.183 +4673,i1oVgYK,Warsaw,"Full HD",Sencor,Linux,65.13.209.126 +4674,niJqxXg,Berlin,4K,Philips,Android,221.164.132.62 +4675,RZ0qTkA3i,Berlin,4K,Philips,Ubuntu,85.209.116.214 +4676,sWVDrja,Paris,"Full HD",Samsung,Ubuntu,193.29.146.203 +4677,SYIAruf,Berlin,4K,LG,Ubuntu,15.92.118.31 +4678,B3hgNz7,Paris,4K,LG,Android,123.29.131.121 +4679,B85dXW,Berlin,4K,Philips,Ubuntu,19.187.193.201 +4680,eUL01bn,Paris,4K,Philips,Android,198.132.244.118 +4681,DtVhq,Paris,4K,LG,Ubuntu,31.221.228.15 +4682,0BPgopFH6s,Amsterdam,"Full HD",LG,Ubuntu,60.105.30.60 +4683,UBmSWb,Amsterdam,"Full HD",Sencor,Linux,89.96.254.73 +4684,92VXGxAT,Paris,"Full HD",Samsung,Ubuntu,226.70.141.228 +4685,0XV9w,Warsaw,"Full HD",Sencor,Android,246.139.192.214 +4686,09uf18vJ2t,Amsterdam,4K,Samsung,Ubuntu,182.187.87.165 +4687,KMThF2,Berlin,4K,Sencor,Linux,100.237.220.155 +4688,sc5nt,Warsaw,"Full HD",Sencor,Ubuntu,136.102.150.224 +4689,RAEWNw,Warsaw,4K,Samsung,Ubuntu,8.196.113.233 +4690,EX3KP,Paris,"Full HD",LG,Linux,11.76.68.53 +4691,NqtAEL9,Amsterdam,4K,LG,Android,98.78.233.28 +4692,bSpGyLX6,Warsaw,"Full HD",Philips,Ubuntu,176.0.155.194 +4693,sDezCjBNv,Amsterdam,"Full HD",LG,Ubuntu,252.197.89.180 +4694,OHIbo,Amsterdam,4K,Samsung,Linux,174.73.48.192 +4695,Pn4yo2,Amsterdam,"Full HD",LG,Linux,56.188.201.177 +4696,46iElFI,Berlin,4K,Philips,Linux,184.23.108.157 +4697,XAMUlZEtnJ,Paris,4K,Philips,Ubuntu,184.30.93.108 +4698,S2Bl9cD,Amsterdam,"Full HD",Philips,Ubuntu,16.116.183.45 +4699,jDYOF5Rx,Amsterdam,"Full HD",Philips,Android,18.181.178.124 +4700,pxPIb,Amsterdam,4K,Philips,Android,31.156.250.79 +4701,OQ8ter,Berlin,4K,Philips,Android,215.93.18.65 +4702,CokgOJiM1,Amsterdam,4K,Philips,Linux,178.243.168.161 +4703,yOGmIe,Amsterdam,"Full HD",LG,Ubuntu,55.131.35.148 +4704,2ahCi0QY,Berlin,"Full HD",Samsung,Android,162.75.58.130 +4705,8pNPMm,Amsterdam,4K,Sencor,Android,59.22.135.86 +4706,Ep7yB,Paris,4K,Samsung,Ubuntu,9.130.14.66 +4707,RbHtA9CWTg,Amsterdam,"Full HD",Philips,Ubuntu,183.19.154.211 +4708,aFbY2,Berlin,"Full HD",Samsung,Ubuntu,12.81.41.237 +4709,1Tftrjh,Paris,"Full HD",Samsung,Ubuntu,214.208.227.152 +4710,qBzR48,Paris,"Full HD",Sencor,Ubuntu,254.176.177.90 +4711,w1e4iV,Amsterdam,4K,LG,Android,196.31.138.146 +4712,vDwXqs0,Paris,"Full HD",Sencor,Ubuntu,222.14.12.210 +4713,HlZDNsR3,Berlin,"Full HD",Sencor,Linux,144.219.246.103 +4714,XRAkq68ni,Warsaw,4K,Philips,Linux,174.104.147.116 +4715,bw8fV2HSr,Berlin,"Full HD",LG,Linux,157.250.65.138 +4716,OgRm5B7,Amsterdam,4K,Philips,Ubuntu,33.135.136.200 +4717,JYHsOZV,Berlin,4K,Philips,Ubuntu,226.149.137.189 +4718,nlHzkWTf5,Warsaw,"Full HD",Philips,Ubuntu,151.54.225.57 +4719,VgaZ1,Warsaw,4K,LG,Ubuntu,195.77.201.160 +4720,YQM5P1,Warsaw,4K,LG,Linux,54.109.192.208 +4721,guNl03ab,Paris,"Full HD",Sencor,Android,77.210.26.65 +4722,tiQdrT,Warsaw,4K,LG,Linux,160.162.237.44 +4723,NdOJcAF,Warsaw,4K,Philips,Ubuntu,103.110.67.217 +4724,GarO3N,Warsaw,"Full HD",Philips,Linux,186.65.47.249 +4725,Jjk6DZqfz,Paris,4K,Samsung,Android,10.205.10.69 +4726,oIi43b8CKj,Amsterdam,4K,Samsung,Android,145.0.29.90 +4727,GTP3a7mWS,Paris,"Full HD",Sencor,Android,76.139.184.217 +4728,gwTeRoluv,Paris,"Full HD",Philips,Android,6.254.0.87 +4729,fEvUzJihj,Berlin,"Full HD",Sencor,Android,172.246.26.169 +4730,W5bGh,Paris,"Full HD",LG,Ubuntu,180.3.5.167 +4731,5mfoE,Amsterdam,"Full HD",Philips,Linux,20.200.89.68 +4732,UdshDw7rq,Warsaw,"Full HD",Philips,Linux,25.19.148.75 +4733,PsNc3Rfx,Berlin,4K,Philips,Android,72.6.250.13 +4734,NskeMonBIT,Paris,4K,LG,Android,224.28.178.114 +4735,s3WurplZ,Paris,4K,LG,Android,95.91.162.169 +4736,C5uZAvT,Berlin,"Full HD",Sencor,Android,154.178.73.78 +4737,WgzkiG30,Amsterdam,"Full HD",Samsung,Ubuntu,30.244.128.36 +4738,y8jNEGq,Paris,4K,Sencor,Ubuntu,83.20.98.171 +4739,PeUMRJr,Warsaw,4K,LG,Android,33.140.46.49 +4740,asfFYA,Amsterdam,4K,LG,Android,26.195.236.104 +4741,w9zemi,Berlin,"Full HD",Samsung,Android,15.195.98.244 +4742,Q7xwWv,Berlin,4K,Philips,Ubuntu,12.38.132.28 +4743,7ZfsckGbq,Paris,4K,Philips,Linux,11.159.250.111 +4744,WlesgFkGm4,Berlin,4K,Philips,Ubuntu,15.107.37.252 +4745,IYPV1eRT5,Amsterdam,4K,Samsung,Linux,207.251.63.234 +4746,HWw3pej,Paris,4K,Philips,Android,135.97.225.100 +4747,YHSOFtf8AX,Berlin,"Full HD",Sencor,Linux,220.252.98.104 +4748,p64Mn3f,Amsterdam,4K,Samsung,Ubuntu,117.168.9.2 +4749,hus0CHPYX5,Amsterdam,4K,Sencor,Ubuntu,152.59.106.81 +4750,uTi0ts,Amsterdam,"Full HD",Sencor,Ubuntu,134.200.175.71 +4751,Tzd7Hoh,Paris,4K,Sencor,Linux,238.33.177.31 +4752,X3B7V,Warsaw,4K,LG,Linux,221.131.196.147 +4753,u5kdQVI6,Amsterdam,4K,Sencor,Android,212.186.165.146 +4754,WFbq2EUL8I,Paris,4K,Philips,Linux,251.9.95.219 +4755,LoXizI,Warsaw,"Full HD",LG,Ubuntu,246.4.239.234 +4756,42g1YCvU9,Warsaw,"Full HD",LG,Android,151.146.27.54 +4757,UnkQLyqG,Paris,4K,Samsung,Linux,163.53.211.157 +4758,lgAzdXQWc,Warsaw,4K,Samsung,Ubuntu,64.129.209.249 +4759,YhN0y,Amsterdam,"Full HD",Philips,Ubuntu,116.206.185.135 +4760,U1PJsLXjfA,Paris,4K,LG,Ubuntu,73.124.15.228 +4761,vrkq8,Warsaw,4K,Sencor,Linux,205.249.59.251 +4762,ifcRKXIq0o,Warsaw,4K,LG,Ubuntu,23.80.175.72 +4763,qYefCUXN5,Paris,"Full HD",Samsung,Ubuntu,246.129.213.188 +4764,bRfOZ5v3G,Berlin,4K,Philips,Android,172.169.115.118 +4765,3Ucm1jGBo,Amsterdam,"Full HD",Samsung,Ubuntu,203.90.136.108 +4766,cbV7seW,Berlin,4K,Philips,Android,186.247.47.202 +4767,L7GKWNAfb,Berlin,"Full HD",Philips,Ubuntu,76.16.26.133 +4768,71cEfnua,Paris,"Full HD",Samsung,Android,156.255.70.141 +4769,cy9xEwaLT,Warsaw,"Full HD",Sencor,Ubuntu,156.6.114.96 +4770,zmWR8n,Amsterdam,4K,LG,Ubuntu,83.157.99.187 +4771,3Cn2uj1O,Amsterdam,"Full HD",Philips,Linux,199.245.32.97 +4772,tIdc2oz7,Warsaw,"Full HD",Philips,Android,55.35.73.236 +4773,KZleWgh9,Warsaw,4K,LG,Linux,4.182.11.120 +4774,DtukBs,Amsterdam,4K,Philips,Linux,40.80.68.93 +4775,Xlc3kLjrAp,Warsaw,"Full HD",LG,Android,196.191.152.208 +4776,ZGQHx,Paris,"Full HD",LG,Android,107.31.48.21 +4777,URcNGv5,Warsaw,4K,Sencor,Android,87.71.134.180 +4778,AHh1TqjkFR,Warsaw,"Full HD",Sencor,Ubuntu,179.44.22.12 +4779,7B3qQzU09,Paris,4K,Philips,Linux,252.230.180.117 +4780,hYmuMz34t,Warsaw,4K,Samsung,Android,217.145.110.196 +4781,XEibqA,Warsaw,4K,Samsung,Linux,83.192.66.198 +4782,bOXLQ,Amsterdam,4K,LG,Linux,166.53.198.18 +4783,UBVIjp,Amsterdam,"Full HD",LG,Ubuntu,110.31.213.159 +4784,QU71iLXvK,Paris,"Full HD",Sencor,Android,75.215.205.117 +4785,6AG5fyZvQC,Paris,"Full HD",Sencor,Linux,43.193.76.71 +4786,QaCtU,Berlin,4K,Sencor,Linux,17.219.211.244 +4787,Ycp7hQRWSf,Berlin,"Full HD",LG,Android,194.144.149.110 +4788,v3DRJyTj,Amsterdam,4K,LG,Linux,252.145.20.153 +4789,8OhzaQ,Warsaw,4K,Samsung,Linux,17.83.228.218 +4790,f6xn2H,Berlin,"Full HD",Samsung,Linux,34.82.99.214 +4791,tFmuGf63a,Warsaw,"Full HD",Samsung,Linux,170.234.22.228 +4792,b2pWX,Amsterdam,4K,Samsung,Android,34.94.155.20 +4793,USQlv5ew,Paris,4K,Philips,Android,35.158.77.139 +4794,73HvnMxSiL,Warsaw,"Full HD",Sencor,Ubuntu,43.126.22.215 +4795,4PponaucG,Warsaw,"Full HD",LG,Ubuntu,190.98.159.173 +4796,Ghy0uKTOn,Paris,4K,LG,Ubuntu,199.164.70.225 +4797,5dMGcvFt,Amsterdam,"Full HD",LG,Linux,105.182.207.99 +4798,aVxIenWCyi,Amsterdam,4K,LG,Linux,219.30.244.188 +4799,foLIDv1,Warsaw,4K,Philips,Ubuntu,239.14.2.11 +4800,Ljwk1lsF,Warsaw,"Full HD",Sencor,Android,85.204.162.89 +4801,mfEnI4Mq,Paris,4K,LG,Android,13.149.78.43 +4802,thMiQevnPm,Berlin,"Full HD",Sencor,Linux,252.190.33.88 +4803,islHyO7B,Warsaw,"Full HD",LG,Linux,3.55.28.180 +4804,N1iXTps4,Warsaw,4K,LG,Ubuntu,242.198.57.215 +4805,fiGEuKrAo,Amsterdam,"Full HD",Sencor,Linux,162.55.143.14 +4806,IJj8fem,Paris,4K,Philips,Android,250.189.68.44 +4807,BbKmNrpz5,Berlin,"Full HD",Sencor,Android,150.114.241.37 +4808,SuyRh8qrIn,Berlin,4K,Sencor,Linux,70.193.192.222 +4809,a34LH,Berlin,4K,Samsung,Linux,19.8.139.179 +4810,N9Wvjq8uLY,Berlin,"Full HD",Samsung,Android,90.225.208.13 +4811,aiJkQ,Warsaw,"Full HD",Sencor,Ubuntu,57.95.74.13 +4812,5JsirXVfWv,Amsterdam,4K,Sencor,Linux,84.68.7.146 +4813,6AHqYQo,Paris,4K,Samsung,Android,24.61.14.162 +4814,I5oHM,Berlin,4K,Philips,Android,58.205.161.220 +4815,JLq1uel8A,Warsaw,"Full HD",Samsung,Android,202.245.171.68 +4816,U140uEKJ7,Amsterdam,4K,Samsung,Android,104.211.112.62 +4817,AerUpGDk0Y,Amsterdam,4K,Samsung,Ubuntu,198.136.104.88 +4818,WYj42,Paris,4K,Samsung,Linux,115.179.220.176 +4819,ar2mE6,Berlin,"Full HD",LG,Ubuntu,188.148.75.88 +4820,UA1NrIFw9,Berlin,"Full HD",Samsung,Ubuntu,47.85.167.149 +4821,fZ0Lc5VGI,Berlin,"Full HD",Philips,Android,187.253.8.71 +4822,G3dxcNf9J,Amsterdam,"Full HD",LG,Android,161.223.203.232 +4823,4veolcFbU,Paris,"Full HD",Sencor,Linux,177.250.112.44 +4824,rQndWa,Paris,"Full HD",LG,Ubuntu,186.24.174.244 +4825,arYeJd,Berlin,"Full HD",LG,Linux,30.182.125.227 +4826,Mr7bKh,Berlin,"Full HD",Sencor,Ubuntu,220.255.224.8 +4827,roVNUBFg,Warsaw,4K,Sencor,Android,101.56.238.188 +4828,x8WPSLoQUa,Berlin,"Full HD",Philips,Android,112.163.207.43 +4829,GVfeEdF8li,Warsaw,4K,Philips,Android,139.104.235.32 +4830,1wnJD6sRde,Amsterdam,4K,Samsung,Ubuntu,166.213.25.151 +4831,w6y0q3,Amsterdam,"Full HD",LG,Ubuntu,155.4.104.193 +4832,FDHYkM,Paris,4K,LG,Android,214.105.125.90 +4833,dNyZ2F8HQ,Paris,4K,LG,Linux,181.229.233.43 +4834,uzUEBj0,Berlin,4K,Sencor,Ubuntu,14.45.74.221 +4835,27tsq,Warsaw,4K,Samsung,Android,21.156.55.218 +4836,lIbELef,Amsterdam,4K,Samsung,Android,147.16.99.123 +4837,gtBYm4K,Warsaw,"Full HD",Philips,Android,194.115.168.28 +4838,mcQz7,Paris,4K,LG,Android,68.127.121.245 +4839,Y9U2bARk,Warsaw,4K,LG,Linux,214.122.23.223 +4840,ul3n5RBYNo,Amsterdam,"Full HD",Sencor,Android,227.129.56.120 +4841,1F8IB,Paris,"Full HD",Sencor,Android,169.37.156.104 +4842,jaTGD2zF,Berlin,4K,Sencor,Ubuntu,146.36.130.135 +4843,tDPBXI,Amsterdam,4K,Sencor,Android,104.231.172.127 +4844,aBrbIHG,Warsaw,4K,Sencor,Android,37.105.170.251 +4845,iSNZzetK,Amsterdam,"Full HD",Sencor,Linux,37.74.8.96 +4846,Dy63CXj,Paris,"Full HD",LG,Android,162.96.169.83 +4847,U450EcL7S,Paris,4K,Philips,Linux,243.225.68.87 +4848,zFYsTCcEnD,Warsaw,4K,Sencor,Ubuntu,102.231.254.17 +4849,wUrqJca,Paris,"Full HD",Sencor,Linux,204.70.112.19 +4850,1y6E2KlarX,Paris,"Full HD",Philips,Ubuntu,32.79.252.77 +4851,QC9HLh,Berlin,"Full HD",Sencor,Linux,195.171.88.6 +4852,QAWufkn0E,Berlin,4K,Samsung,Ubuntu,45.118.45.30 +4853,WhtfIwHm,Berlin,4K,Philips,Ubuntu,145.245.236.149 +4854,xpguVZe,Berlin,4K,Philips,Ubuntu,29.240.106.88 +4855,e5hKBsC,Warsaw,"Full HD",Sencor,Ubuntu,246.233.115.197 +4856,bwO3zac,Warsaw,4K,Samsung,Ubuntu,67.200.216.251 +4857,acbuoYFTMj,Berlin,"Full HD",Samsung,Android,245.161.230.75 +4858,sKdErg,Warsaw,"Full HD",Sencor,Ubuntu,93.43.130.160 +4859,cX9RyPZ,Warsaw,4K,Samsung,Ubuntu,39.18.198.20 +4860,1XSIKRc,Amsterdam,4K,Samsung,Android,149.39.193.93 +4861,mFWp21X,Paris,4K,LG,Linux,41.235.147.11 +4862,iqlXE9fVca,Berlin,4K,Samsung,Ubuntu,170.124.22.85 +4863,DQkS6Az,Amsterdam,"Full HD",Philips,Ubuntu,164.142.25.184 +4864,i7q1gvR,Berlin,"Full HD",Sencor,Ubuntu,3.45.205.188 +4865,6sREfV,Berlin,4K,Sencor,Android,133.248.252.42 +4866,WR7q6j2LU,Amsterdam,4K,Samsung,Android,43.154.194.232 +4867,BTprD8,Paris,4K,Sencor,Linux,174.97.121.228 +4868,2zK9X,Berlin,"Full HD",Sencor,Linux,217.120.167.199 +4869,QmVkA,Warsaw,"Full HD",Samsung,Android,175.186.123.75 +4870,5e4NgXm,Amsterdam,4K,Philips,Ubuntu,112.114.82.15 +4871,XxvKsk,Warsaw,"Full HD",Sencor,Linux,134.129.234.90 +4872,txGUQsz5,Warsaw,4K,Philips,Ubuntu,119.118.73.46 +4873,K0CZea,Paris,"Full HD",Philips,Ubuntu,207.41.39.24 +4874,gd5EvYf,Warsaw,4K,Sencor,Ubuntu,45.96.169.178 +4875,AcoHEGfMlZ,Paris,"Full HD",Sencor,Ubuntu,54.74.198.251 +4876,COogv9Ib,Warsaw,"Full HD",Samsung,Android,123.197.141.16 +4877,w4pb7SPV,Paris,4K,LG,Ubuntu,202.226.240.210 +4878,nHdCuDgiGh,Berlin,"Full HD",LG,Ubuntu,3.81.108.89 +4879,GX0PSz,Warsaw,"Full HD",Philips,Android,55.218.236.75 +4880,2Z4tn,Paris,"Full HD",Sencor,Android,177.174.186.165 +4881,UGycx2SV,Warsaw,"Full HD",LG,Linux,96.255.169.195 +4882,fPgmW,Paris,"Full HD",LG,Android,52.164.113.137 +4883,eztm4,Berlin,4K,Philips,Ubuntu,245.148.245.165 +4884,kcjDGUshzX,Warsaw,4K,Samsung,Linux,188.59.229.75 +4885,IkpaZmilSJ,Paris,4K,Philips,Android,0.176.163.112 +4886,A1ByZfiXM,Warsaw,4K,Philips,Linux,85.230.238.108 +4887,SgMF9,Amsterdam,4K,Philips,Linux,60.44.222.143 +4888,VpXNM,Amsterdam,4K,Philips,Linux,97.101.143.166 +4889,71iudl9KnG,Amsterdam,"Full HD",Philips,Ubuntu,68.112.42.210 +4890,1sy0HJwNe,Warsaw,"Full HD",LG,Android,45.54.252.101 +4891,OPcKG3of4,Warsaw,4K,Samsung,Android,85.24.49.104 +4892,DX1zZthviF,Warsaw,4K,Philips,Ubuntu,78.16.29.21 +4893,A9bZmM,Warsaw,"Full HD",LG,Android,196.4.45.33 +4894,hIiHSBd,Paris,"Full HD",Sencor,Android,128.73.240.182 +4895,gMAuvQb,Paris,"Full HD",LG,Linux,37.70.222.139 +4896,sKEj4q7Bw2,Paris,"Full HD",LG,Android,231.23.188.75 +4897,yvQ47P,Amsterdam,4K,LG,Linux,250.131.214.197 +4898,hbRgpXx,Paris,"Full HD",Philips,Android,112.220.192.152 +4899,QX2tbp,Warsaw,"Full HD",Philips,Android,182.14.19.162 +4900,7wXF1V,Paris,"Full HD",Philips,Linux,87.191.156.89 +4901,CwXN3U7OS,Amsterdam,"Full HD",Samsung,Linux,144.0.182.222 +4902,5cI4dT,Amsterdam,4K,LG,Android,215.12.6.79 +4903,CScRGqhm,Amsterdam,4K,LG,Android,10.251.65.131 +4904,6AtqM83r,Warsaw,"Full HD",Sencor,Android,68.20.134.40 +4905,kiPn3,Amsterdam,"Full HD",Sencor,Ubuntu,170.197.217.98 +4906,5n2EJB3,Paris,4K,Sencor,Android,21.120.171.102 +4907,7zYjWhH,Paris,4K,Sencor,Ubuntu,149.39.207.175 +4908,a08VGfWPX,Berlin,"Full HD",Philips,Ubuntu,34.17.126.130 +4909,gvxpLDiO2,Amsterdam,"Full HD",Philips,Android,240.211.126.53 +4910,E7PaxYUeDC,Warsaw,4K,Sencor,Linux,59.207.219.79 +4911,pV9WnK5sP,Paris,4K,Samsung,Ubuntu,29.233.196.109 +4912,IEvYhrfpN,Berlin,"Full HD",Samsung,Linux,186.193.135.79 +4913,XqrcxS,Berlin,4K,Philips,Android,188.82.169.153 +4914,hvy2bXWN,Warsaw,"Full HD",Samsung,Ubuntu,141.136.120.98 +4915,tMhpRZniz,Berlin,"Full HD",Philips,Ubuntu,224.167.248.63 +4916,YKTXrnW,Warsaw,4K,Philips,Android,159.197.45.72 +4917,jH6PS84,Berlin,4K,Philips,Linux,244.140.114.18 +4918,Ss5W8ywz,Warsaw,4K,LG,Linux,127.17.158.30 +4919,N78fT0,Paris,"Full HD",Samsung,Ubuntu,150.122.41.40 +4920,HiLcfD0l,Warsaw,"Full HD",LG,Ubuntu,213.18.99.101 +4921,Grh7zgBb,Amsterdam,4K,Samsung,Ubuntu,228.106.254.87 +4922,wBDZtjYz,Paris,4K,LG,Linux,170.187.153.134 +4923,Caonlw,Paris,4K,LG,Linux,79.133.25.243 +4924,Wvu89r1x,Warsaw,4K,Samsung,Linux,200.53.178.125 +4925,GQMNbm4u,Warsaw,4K,Sencor,Linux,166.18.149.165 +4926,9XGjaN,Berlin,"Full HD",Sencor,Linux,217.119.15.21 +4927,zihDv,Berlin,4K,Samsung,Android,131.205.199.248 +4928,rvJPzsKA,Paris,4K,Samsung,Linux,192.16.28.136 +4929,vT37P8oYJg,Warsaw,"Full HD",Samsung,Ubuntu,62.50.139.128 +4930,w5SieuTB,Amsterdam,4K,Samsung,Android,99.200.23.154 +4931,k3cbOd1f,Warsaw,4K,Samsung,Linux,211.137.76.63 +4932,ZBebJFYlIO,Paris,"Full HD",LG,Ubuntu,148.32.63.127 +4933,dEPp4Wfq3,Paris,4K,Philips,Ubuntu,168.191.244.46 +4934,mjfk1d,Warsaw,"Full HD",Sencor,Linux,233.230.211.40 +4935,YgC9GbTi1w,Paris,"Full HD",Samsung,Android,212.210.87.200 +4936,U6fOx,Berlin,4K,LG,Ubuntu,0.74.250.97 +4937,SfqUM4a,Paris,"Full HD",Samsung,Linux,242.223.252.240 +4938,cCy7PZlQ,Amsterdam,4K,Sencor,Android,61.175.29.119 +4939,XczoCkEvV,Paris,4K,Philips,Ubuntu,111.230.64.254 +4940,TNh4RtibK,Paris,4K,LG,Linux,67.91.152.67 +4941,sDZHtcT52,Berlin,"Full HD",Sencor,Android,105.49.127.9 +4942,QBvGh,Paris,4K,Sencor,Android,146.36.239.141 +4943,gnOm36,Berlin,"Full HD",LG,Linux,155.161.206.201 +4944,B6unNpcQh,Amsterdam,4K,Philips,Linux,115.94.168.150 +4945,xbicm,Paris,4K,Sencor,Ubuntu,105.182.20.122 +4946,1LA0F4haXJ,Paris,"Full HD",Samsung,Ubuntu,49.254.209.207 +4947,BYlShpEbc,Paris,"Full HD",Philips,Android,13.234.108.128 +4948,PAMBcIC3z,Paris,"Full HD",Philips,Ubuntu,112.168.6.41 +4949,8ae2A,Warsaw,4K,Sencor,Ubuntu,151.105.232.117 +4950,L9Td0EbSqc,Amsterdam,4K,Samsung,Ubuntu,206.184.79.31 +4951,iu6EjKvnUt,Amsterdam,"Full HD",LG,Ubuntu,47.119.170.54 +4952,9Q7Dm,Amsterdam,4K,Philips,Linux,143.93.157.40 +4953,PIJ1d,Amsterdam,4K,Philips,Ubuntu,11.49.138.123 +4954,MpytL,Paris,"Full HD",Samsung,Android,234.235.139.68 +4955,eRJd34UAn,Paris,4K,Sencor,Ubuntu,165.0.128.242 +4956,QBemwz,Warsaw,4K,LG,Ubuntu,82.15.165.190 +4957,RKSbE,Amsterdam,"Full HD",Philips,Android,179.213.25.161 +4958,xowQOuGh,Warsaw,"Full HD",LG,Linux,45.224.159.242 +4959,NSr5mHO,Berlin,"Full HD",LG,Linux,125.174.96.109 +4960,dcG2C,Warsaw,4K,Samsung,Ubuntu,246.74.72.219 +4961,I43VPDdCL,Berlin,"Full HD",LG,Linux,51.244.187.245 +4962,Wt4bx8,Berlin,"Full HD",Philips,Android,9.194.7.229 +4963,0DxPI,Paris,"Full HD",Samsung,Android,190.21.101.217 +4964,iBR65Xzgy,Berlin,4K,Samsung,Ubuntu,63.66.48.233 +4965,iJK4owC0y,Warsaw,"Full HD",Philips,Linux,160.82.46.239 +4966,5vCWpFcb,Amsterdam,4K,Sencor,Android,65.8.77.112 +4967,aLU4WENj,Warsaw,4K,LG,Ubuntu,168.36.255.214 +4968,ayqw9,Amsterdam,"Full HD",LG,Ubuntu,86.229.35.23 +4969,ERVNtH,Amsterdam,"Full HD",Sencor,Android,183.79.19.72 +4970,gz7TK,Amsterdam,"Full HD",Sencor,Linux,64.132.228.117 +4971,YtDmNEjrg,Amsterdam,4K,Philips,Android,6.44.33.88 +4972,QaMcF,Amsterdam,"Full HD",Samsung,Ubuntu,11.223.85.92 +4973,WvqV9jzdBT,Amsterdam,4K,Sencor,Linux,40.11.193.246 +4974,0WCcgOr,Warsaw,"Full HD",Samsung,Ubuntu,194.211.251.52 +4975,sixrbAk3u,Amsterdam,4K,Philips,Android,211.177.136.208 +4976,zmRNQ,Amsterdam,4K,Sencor,Android,154.56.205.74 +4977,92YMObkABS,Berlin,4K,Samsung,Ubuntu,215.95.96.194 +4978,N0VowHn7,Amsterdam,"Full HD",Philips,Android,248.96.132.97 +4979,oa5UvSVLWJ,Warsaw,"Full HD",Samsung,Android,182.236.179.55 +4980,oSmdMK8JT6,Berlin,4K,Samsung,Android,237.211.247.38 +4981,rtC62,Warsaw,4K,Philips,Ubuntu,98.15.151.74 +4982,MLWdJQkN28,Paris,"Full HD",Philips,Ubuntu,126.240.236.234 +4983,Xskgzp,Amsterdam,4K,Sencor,Ubuntu,88.199.73.214 +4984,ypodwQJA,Amsterdam,"Full HD",Sencor,Linux,229.171.101.239 +4985,hD3lp5,Paris,"Full HD",Sencor,Android,30.131.219.221 +4986,8ZG69XICc,Warsaw,4K,Philips,Android,169.164.91.73 +4987,eaIvJjm,Paris,"Full HD",Samsung,Ubuntu,161.102.174.127 +4988,jlkSmJ4,Berlin,"Full HD",Philips,Ubuntu,71.226.86.151 +4989,0CmV7Ye,Paris,"Full HD",LG,Ubuntu,36.205.98.123 +4990,fSgIq,Amsterdam,"Full HD",Sencor,Ubuntu,3.5.136.244 +4991,tbRp1W,Amsterdam,4K,Philips,Android,111.201.4.87 +4992,VCO0BI,Warsaw,"Full HD",Samsung,Linux,170.172.26.226 +4993,SZxihXKe,Warsaw,4K,LG,Linux,174.60.244.220 +4994,EYzc4KOQFg,Amsterdam,"Full HD",Philips,Ubuntu,237.174.134.52 +4995,yhuZD42M,Amsterdam,4K,Sencor,Ubuntu,140.30.23.125 +4996,0NOGr,Amsterdam,"Full HD",Samsung,Ubuntu,101.179.4.167 +4997,XOItnc2p1q,Amsterdam,"Full HD",Sencor,Linux,16.161.88.170 +4998,A05eGwgs32,Berlin,4K,Philips,Android,109.59.201.103 +4999,rn5wN3,Paris,"Full HD",Samsung,Ubuntu,139.244.146.60 +5000,Dydl0,Warsaw,"Full HD",Samsung,Linux,228.224.92.174 diff --git a/src/Behavioral/Observer/HumanResources.php b/src/Behavioral/Observer/HumanResources.php index ae17afb..66e97cd 100644 --- a/src/Behavioral/Observer/HumanResources.php +++ b/src/Behavioral/Observer/HumanResources.php @@ -1,4 +1,5 @@ communicator->inform($message); } - public function layOf(Employee $employee): void + public function layOff(Employee $employee): void { $this->communicator->detach($employee); } diff --git a/src/Behavioral/Observer/demo.php b/src/Behavioral/Observer/demo.php index 8e6ffe3..8ee1b0f 100644 --- a/src/Behavioral/Observer/demo.php +++ b/src/Behavioral/Observer/demo.php @@ -1,4 +1,5 @@ inform("New employee: " . $software->getName()); $hr->employ($software); -$hr->layOf($software); +$hr->layOff($software); $hr->inform("Employee was laid off: " . $software->getName()); diff --git a/src/Behavioral/Strategy/Context.php b/src/Behavioral/Strategy/Context.php index 25aafba..113a879 100644 --- a/src/Behavioral/Strategy/Context.php +++ b/src/Behavioral/Strategy/Context.php @@ -1,19 +1,12 @@ formatter = match ($outputType) { - "json" => new JSONFormatter(), - "xml" => new XMLFormatter(), - "string" => new StringFormatter(), - default => throw new \InvalidArgumentException("{$outputType} is not supported"), - }; } public function formatData(array $data): string diff --git a/src/Behavioral/Strategy/FormatterFactory.php b/src/Behavioral/Strategy/FormatterFactory.php new file mode 100644 index 0000000..0688767 --- /dev/null +++ b/src/Behavioral/Strategy/FormatterFactory.php @@ -0,0 +1,18 @@ + new JSONFormatter(), + OutputType::Xml => new XMLFormatter(), + OutputType::String => new StringFormatter(), + }; + } +} + + diff --git a/src/Behavioral/Strategy/JSONFormatter.php b/src/Behavioral/Strategy/JSONFormatter.php index 1eee2d7..3e0145c 100644 --- a/src/Behavioral/Strategy/JSONFormatter.php +++ b/src/Behavioral/Strategy/JSONFormatter.php @@ -1,4 +1,5 @@ file->getFilePath()}' />"; + $src = htmlspecialchars($this->file->getFilePath(), ENT_QUOTES, 'UTF-8'); + return "