diff --git a/README.md b/README.md index 90832e66..c755b432 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,16 @@ # DelphiMVCFramework 3.1.0-lithium is [here](https://github.com/danieleteti/delphimvcframework/releases/tag/v3.1.0-lithium)! -DelphiMVCFramework is the most popular Delphi project on github! +DelphiMVCFramework is the **most popular** Delphi project on GitHub! Daniele is working on the [DelphiMVCFramework Handbook](https://leanpub.com/delphimvcframework)! Stay tuned! -## How to correctly get the source -It is not needed to download the git repository. Just download the [latest version as zip file](https://github.com/danieleteti/delphimvcframework/releases/latest) and you are ok. -If you want to partecipate to the testing phase (which usually contains brand new features) you can get the [latest Release Candidate version](https://github.com/danieleteti/delphimvcframework/releases). +## How to install DMVCFramework +*It is not needed to download the git repository*. Just download the [latest version as a zip file](https://github.com/danieleteti/delphimvcframework/releases/latest) and you are ok. +If you want to participate to the testing phase (which usually contains brand new features) you can get the [latest Release Candidate version](https://github.com/danieleteti/delphimvcframework/releases). Take in mind that, even if RCs are usually very stable, they are still not ready for production utilization. -## What users says about DMVCFramework +## What users say about DMVCFramework >"DMVCFramework is a great framework. It's very intuitive, fast, easy to use, actually there is nothing more to ask for." -- Samir @@ -23,54 +23,55 @@ Take in mind that, even if RCs are usually very stable, they are still not ready >"It's fantastic! Just define your entities and you are up and running in 5 minutes. Nothing comparable on the market." -- Marco ->"The best framework for creating web servers with Delphi! It is very easy to create Delphi servers and publish Apis and Rest resources. +>"The best framework for creating web servers with Delphi! It is very easy to create Delphi servers and publish APIs and Rest resources. Congratulations to Daniele Teti and all the staff for the excellent work!" -- Marcos N. - -## DelphiMVCFramework Main Features +> We started the process of migrating our systems to micro services and are loving the DMVCFramework "DMVCFramework is definitely part of our lives right now". -- E. Costa - * Simple to use, check the ["Getting Started: 5 minutes guide"](https://danieleteti.gitbooks.io/delphimvcframework/content/chapter_getting_started.html) and you will be up and running in 5 minutes or less! +## DMVCFramework Main Features + + * Simple to use, check the ["Getting Started: 5 minutes guide"](https://danieleteti.gitbooks.io/delphimvcframework/content/chapter_getting_started.html) and you will be up and running in 5 minutes or less! (the guide is a bit outdated - a new book is being written by Daniele Teti. Let us know if you are interested in [DMVCFramework Handbook](https://leanpub.com/delphimvcframework)) * [Project Roadmap](roadmap.md) is always public * More than 40 samples to learn all the features and be proficient and productive * RESTful (RMM Level 3) compliant - * JSON-RPC 2.0 Support with automatic objects remotization + * JSON-RPC 2.0 Support with automatic objects remotization (check [sample](https://github.com/danieleteti/delphimvcframework/tree/master/samples/jsonrpc_with_published_objects)) * Stable and solid, used by small/mid/big projects since 2010 - * Very fast! (3.x is 60% faster than the 2.x) - * Support group at https://www.facebook.com/groups/delphimvcframework with more than 2100 active members + * Very fast! (2.x was pretty fast and now, 3.x is 60% faster than the 2.x!) + * Support group at https://www.facebook.com/groups/delphimvcframework with more than 2500 active members * Can be used in load balanced environment * Wizard for the Delphi IDE. It makes DelphiMVCFramework even more simple to use! * Optional session support - * JSON Web Token Support (JWT) - * Extendable using middlewares (simple hooks to handle request/response) + * JSON Web Token Support (JWT) (check [sample](https://github.com/danieleteti/delphimvcframework/tree/master/samples/jsonwebtoken)) + * Extendable using middleware - simple hooks to handle request/response (check [sample](https://github.com/danieleteti/delphimvcframework/tree/master/samples/middleware)) * Flexible yet simple to use, authorization/authentication framework based on industry standards. * HTTP Basic Authentication * JWT Authentication * Custom Authentication * CORS support - * Controllers inheritance! You can define your own base controller and inherith from it. + * Controllers inheritance! You can define your own base controller and inherit from it. * Fancy URL with parameter mappings - * Specialied renders to generate text, HTML, JSON. + * Specialized renders to generate text, HTML, JSON. * Powerful and customizable mapper to serialize/deserialize data. * Can be packaged as stand alone server, apache module (XE6 or better) and ISAPI dll * Integrated RESTClient * Works with XE7, XE8, Delphi 10 Seattle, Delphi 10.1 Berlin, Delphi 10.2 Tokyo, Delphi 10.3 Rio * Works on Linux (Delphi 10.2 Tokyo or better) - * Completely unit tested - * There is a sample for each functionality - * There is a complete set of trainings about it, but the samples are included in the project - * Server side generated pages using Mustache (https://mustache.github.io/) for Delphi (https://github.com/synopse/dmustache) + * Completely unit tested (more than 130 unit tests) + * There is a sample for each functionality (check the [dmvcframework_(yourversion)_samples.zip](https://github.com/danieleteti/delphimvcframework/releases)) + * Fully supported by [bitTime Professionals](http://www.bittimeprofessionals.it) (training, consultancy, custom development etc.) + * Server side generated pages using [Mustache for Delphi](https://github.com/synopse/dmustache) * Specific trainings are available (email to `professionals@bittime.it` for a date and a place) - * Messaging extension using ServerSentEvents + * Messaging extension using [ServerSentEvents](https://github.com/danieleteti/delphimvcframework/tree/master/samples/serversentevents) * Automatic documentation through `/system/describeserver.info` * Driven by its huge community (Facebook group https://www.facebook.com/groups/delphimvcframework) * Semantic Versioning * Simple and [documented](docs/ITDevCON%202013%20-%20Introduction%20to%20DelphiMVCFramework.pdf) - * Continuosly tested for Delphi versions incompatibilities by the proud [compatibility mantainers](COMPATIBILITY_MANTAINERS.MD) + * Continuously tested for Delphi versions incompatibilities by the proud [compatibility maintainers](COMPATIBILITY_MANTAINERS.MD) ## What's Cooking in the Lab ### DelphiMVCFramework 3.1.1-beryllium (currently in `RC` phase) -- New! Added SQLGenerator and RQL compiler for PostgreSQL and MSSQLServer (in addition to MySQL, MariaDB, Firebird and Interbase) +- New! Added SQLGenerator and RQL compiler for PostgreSQL, SQLite and MSSQLServer (in addition to MySQL, MariaDB, Firebird and Interbase) - Improved! Greatly improved support for [HATEOAS](https://en.wikipedia.org/wiki/HATEOAS) in renders. Check `TRenderSampleController.GetPeople_AsObjectList_HATEOS` and all the others actions end with `HATEOS` in `renders.dproj` sample) ```delphi @@ -118,7 +119,7 @@ Render(lPerson, False, .Add(HATEOAS._TYPE, TMVCMediaType.APPLICATION_JSON); end); -``` +``` - Better packages organization (check `packages` folder) - New! `TMVCActiveRecord.Count` method (e.g. `TMVCActiveRecord.Count(TCustomer)` returns the number of records for the entity mapped by the class `TCustomer`) @@ -127,8 +128,8 @@ Render(lPerson, False, - New! `TMVCAnalyticsMiddleware` to do automatic analytics on the API (generates a CSV file). Based on an idea by Nirav Kaku (https://www.facebook.com/nirav.kaku). Check the sample in `\samples\middleware_analytics\` - New! `TMVCActiveRecord.DeleteAll` deletes all the records from a table - New! `TMVCActiveRecord.DeleteRQL` deletes records using an `RQL` expression as `where` clause. -- New! Microsoft SQLServer Support in ActiveRecord and RQL (thanks to one of the biggest Delphi based company in Italy which heavily uses DMVCFramework) -- New! SQLite Support in ActiveRecord and RQL, so that MVCActiveRecord can be used also for Delphi mobile projects! +- New! Microsoft SQLServer Support in ActiveRecord and RQL (*thanks to one of the biggest Delphi based company in Italy which heavily uses DMVCFramework*) +- New! SQLite Support in MVCActiveRecord and RQL, so that MVCActiveRecord can be used also for Delphi mobile projects! - Improved! `ActiveRecordShowCase` sample is much better now. - Improved! In case of unhandled exception `TMVCEngine` is compliant with the default response content-type (usually it did would reply using `text/plain`). - Fix! [issue184](https://github.com/danieleteti/delphimvcframework/issues/184). @@ -166,9 +167,43 @@ end; - New! Added support for `TArray` and `TArray` in default json serializer (Thank you [Pedro Oliveira](https://github.com/pedrooliveira01)) - Improved JWT Standard Compliance! Thanks to [Vinicius Sanchez](https://github.com/viniciussanchez) for his work on [issue #241](https://github.com/danieleteti/delphimvcframework/issues/241) - Improved! DMVCFramework now has 130+ unit tests that checks its funtionalities at each build! +- New! Serialization callback for custom `TDataSet` descendants serialization in `TMVCJsonDataObjectsSerializer`. +```delphi +procedure TMainForm.btnDataSetToJSONArrayClick(Sender: TObject); +var + lSer: TMVCJsonDataObjectsSerializer; + lJArray: TJSONArray; +begin + FDQuery1.Open(); + lSer := TMVCJsonDataObjectsSerializer.Create; + try + lJArray := TJSONArray.Create; + try + lSer.DataSetToJsonArray(FDQuery1, lJArray, TMVCNameCase.ncLowerCase, [], + procedure(const aField: TField; const aJsonObject: TJSONObject; var Handled: Boolean) + begin + if SameText(aField.FieldName, 'created_at') then + begin + aJsonObject.S['year_and_month'] := FormatDateTime('yyyy-mm', TDateTimeField(aField).Value); + Handled := True; + end; + end); + //The json objects will not contains "created_at" anymore, but only "year_and_month". + Memo1.Lines.Text := lJArray.ToJSON(false); + finally + lJArray.Free; + end; + finally + lSer.Free; + end; +end; +``` +- New! Shortcut render' methods which simplify RESTful API development + - `procedure ResponseCreated(const Location: String = ''; const Reason: String = 'Created'); virtual;` + - ` procedure ResponseAccepted(const HREF: String; const ID: String; const Reason: String = 'Accepted'); virtual;` + - `procedure ResponseNoContent(const Reason: String = 'No Content'); virtual;` - New Installation procedure! Just open the project group, build all and install the design-time package (which is `dmvcframeworkDT`) - |Delphi Version|Project Group| |---|---| |Delphi 10.3 Rio| `packages\d103\dmvcframework_group.groupproj`| @@ -218,16 +253,6 @@ DelphiMVCFramework roadmap is always updated as-soon-as the features planned are As you know, good support on open source software is a must for professional users. If you need trainings, consultancy or custom developments on DelphiMVCFramework, send an email to *dmvcframework at bittime dot it*. Alternatively you can send a request using the [contacts forms](http://www.bittimeprofessionals.it/contatti) on [bittimeprofessionals website](http://www.bittimeprofessionals.it). bit Time Professionals is the company behind DelphiMVCFramework, al the main developers works there. - -### Using mapping framework in Delphi Starter Edition -A lot of users ask about it, now is possible to use the mapper framework also in Delphi Started Edition. To enable the "StarterEditionMode" open ```sources\dmvcframework.inc``` and remove the dot (.) after the curly brace in the following line - -```{.$DEFINE STARTEREDITION}``` - -become - -```{$DEFINE STARTEREDITION}``` - ## Release Notes **3.0.0 (hydrogen)** - First release of the 3.0.0 version @@ -235,7 +260,7 @@ become **2.1.3 (lithium)** - FIX https://github.com/danieleteti/delphimvcframework/issues/64 - Added unit tests to avoid regressions - + **2.1.2 (helium)** - FIX for Delphi versions who don't have ```TJSONBool``` (Delphi XE8 or older) - Added new conditional define in dmvcframework.inc: JSONBOOL (defined for Delphi Seattle+) @@ -243,7 +268,7 @@ become **2.1.1 (hydrogen)** - Updated the IDE Expert to show the current version of the framework - FIX to the mapper about the datasets null values (needs to be checked in old Delphi versions) - - ADDED support for boolean values in datasets serialization + - ADDED support for Boolean values in datasets serialization - ADDED unit tests about Mapper and dataset fields nullability - The current version is available in constant ```DMVCFRAMEWORK_VERSION``` defined in ```MVCFramework.Commons.pas``` @@ -255,7 +280,7 @@ Check the [DMVCFramework Developer Guide](https://danieleteti.gitbooks.io/delphi # Getting Started Below the is a basic sample of a DMVCFramework server wich can be deployed as standa-alone application, as an Apache module or as ISAPI dll. This flexibility is provided by the Delphi WebBroker framework (built-in in Delphi since Delphi 4). -The project containes an IDE Expert which make creating DMVCFramework project a breeze. However not all the Delphi version are supported, so here's the manual version (which is not complicated at all). +The project contains an IDE Expert which make creating DMVCFramework project a breeze. However not all the Delphi version are supported, so here's the manual version (which is not complicated at all). To create this server, you have to create a new ```Delphi Projects -> WebBroker -> WebServerApplication```. Then add the following changes to the webmodule. ```delphi @@ -301,7 +326,6 @@ end; end. ``` -Remember that the files inside the redist folder *must* be in the executable path or in the system path. If starting the server whithin the IDE doesn't works, try to run the executable outside the IDE and check the dependencies. That's it! You have just created your first DelphiMVCFramework. Now you have to add a controller to respond to the http request. ## Sample Controller diff --git a/docs/dmvcframework-logo-github-social-repository.pdn b/docs/dmvcframework-logo-github-social-repository.pdn new file mode 100644 index 00000000..bd26614c Binary files /dev/null and b/docs/dmvcframework-logo-github-social-repository.pdn differ diff --git a/docs/dmvcframework-logo-github-social-repository.png b/docs/dmvcframework-logo-github-social-repository.png new file mode 100644 index 00000000..2213cb79 Binary files /dev/null and b/docs/dmvcframework-logo-github-social-repository.png differ diff --git a/docs/dmvcframework_logofacebook_no_version.png b/docs/dmvcframework_logofacebook_no_version.png new file mode 100644 index 00000000..8d79def0 Binary files /dev/null and b/docs/dmvcframework_logofacebook_no_version.png differ diff --git a/lib/loggerpro/samples/01_global_logger/MainFormU.dfm b/lib/loggerpro/samples/01_global_logger/MainFormU.dfm deleted file mode 100644 index ee5cd750..00000000 --- a/lib/loggerpro/samples/01_global_logger/MainFormU.dfm +++ /dev/null @@ -1,61 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'LoggerPro SAMPLE' - ClientHeight = 132 - ClientWidth = 584 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 137 - Height = 57 - Caption = 'DEBUG' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 151 - Top = 8 - Width = 137 - Height = 57 - Caption = 'INFO' - TabOrder = 1 - OnClick = Button2Click - end - object Button3: TButton - Left = 294 - Top = 8 - Width = 137 - Height = 57 - Caption = 'WARNING' - TabOrder = 2 - OnClick = Button3Click - end - object Button4: TButton - Left = 437 - Top = 8 - Width = 137 - Height = 57 - Caption = 'ERROR' - TabOrder = 3 - OnClick = Button4Click - end - object Button5: TButton - Left = 8 - Top = 71 - Width = 280 - Height = 57 - Caption = 'Multithread logging' - TabOrder = 4 - OnClick = Button5Click - end -end diff --git a/lib/loggerpro/samples/01_global_logger/MainFormU.pas b/lib/loggerpro/samples/01_global_logger/MainFormU.pas deleted file mode 100644 index 972ac5cf..00000000 --- a/lib/loggerpro/samples/01_global_logger/MainFormU.pas +++ /dev/null @@ -1,93 +0,0 @@ -unit MainFormU; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, - System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; - -type - TMainForm = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - Button4: TButton; - Button5: TButton; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button4Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - private - { Private declarations } - public - { Public declarations } - end; - -var - MainForm: TMainForm; - -implementation - -uses - // for fast&dirty logging, you can just include - // the unit LoggerPro.GlobalLogger and start to log! - LoggerPro.GlobalLogger; - -{$R *.dfm} - -procedure TMainForm.Button1Click(Sender: TObject); -begin - Log.Debug('This is a debug message with TAG1', 'TAG1'); - Log.Debug('This is a debug message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button2Click(Sender: TObject); -begin - Log.Info('This is a info message with TAG1', 'TAG1'); - Log.Info('This is a info message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button3Click(Sender: TObject); -begin - Log.Warn('This is a warning message with TAG1', 'TAG1'); - Log.Warn('This is a warning message with TAG2', 'TAG2'); - -end; - -procedure TMainForm.Button4Click(Sender: TObject); -begin - Log.Error('This is an error message with TAG1', 'TAG1'); - Log.Error('This is an error message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button5Click(Sender: TObject); -var - lThreadProc: TProc; -begin - lThreadProc := procedure - var - I: Integer; - lThreadID: String; - begin - lThreadID := IntToStr(TThread.CurrentThread.ThreadID); - for I := 1 to 200 do - begin - Log.Debug('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Info('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Warn('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Error('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - end; - end; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; -end; - -end. diff --git a/lib/loggerpro/samples/01_global_logger/global_logger.dpr b/lib/loggerpro/samples/01_global_logger/global_logger.dpr deleted file mode 100644 index c681f740..00000000 --- a/lib/loggerpro/samples/01_global_logger/global_logger.dpr +++ /dev/null @@ -1,14 +0,0 @@ -program global_logger; - -uses - Vcl.Forms, - MainFormU in 'MainFormU.pas' {MainForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/01_global_logger/global_logger.dproj b/lib/loggerpro/samples/01_global_logger/global_logger.dproj deleted file mode 100644 index 31836493..00000000 --- a/lib/loggerpro/samples/01_global_logger/global_logger.dproj +++ /dev/null @@ -1,624 +0,0 @@ - - - {E7F8BF79-AFE4-4B2B-AE66-7AD628C7BFCF} - 18.6 - VCL - global_logger.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - $(BDS)\bin\delphi_PROJECTICON.ico - global_logger - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - ..\..\;$(DCC_UnitSearchPath) - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - true - .\bin - $(BDS)\bin\default_app.manifest - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - true - true - 1033 - false - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - - - - MainSource - - -
MainForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - global_logger.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - global_logger.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/02_file_appender/LoggerProConfig.pas b/lib/loggerpro/samples/02_file_appender/LoggerProConfig.pas deleted file mode 100644 index a3cdcd6b..00000000 --- a/lib/loggerpro/samples/02_file_appender/LoggerProConfig.pas +++ /dev/null @@ -1,60 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.FileAppender; - -var - _Log: ILogWriter; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -initialization - -{ The TLoggerProFileAppender has its defaults defined as follows: - DEFAULT_LOG_FORMAT = '%0:s [TID %1:-8d][%2:-10s] %3:s [%4:s]'; - DEFAULT_MAX_BACKUP_FILE_COUNT = 5; - DEFAULT_MAX_FILE_SIZE_KB = 1000; - - You can override these dafaults passing parameters to the constructor. - Here's some configuration examples: - @longcode(# - // Creates log in the same exe folder without PID in the filename - _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, - [TFileAppenderOption.LogsInTheSameFolder])]); - - // Creates log in the AppData/Roaming with PID in the filename - _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, - [TFileAppenderOption.IncludePID])]); - - // Creates log in the same folder with PID in the filename - _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, - [TFileAppenderOption.IncludePID])]); - #) -} - -// Creates log in the ..\..\ folder without PID in the filename -_Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, '..\..', [])]); -// Create logs in the exe' same folder -// _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5)]); - -// Creates log in the AppData/Roaming with PID in the filename -// _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, -// [TFileAppenderOption.IncludePID])]); - -// Creates log in the same folder with PID in the filename -// _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, -// [TFileAppenderOption.IncludePID])]); - -end. diff --git a/lib/loggerpro/samples/02_file_appender/file_appender.dpr b/lib/loggerpro/samples/02_file_appender/file_appender.dpr deleted file mode 100644 index 54903d5a..00000000 --- a/lib/loggerpro/samples/02_file_appender/file_appender.dpr +++ /dev/null @@ -1,15 +0,0 @@ -program file_appender; - -uses - Vcl.Forms, - LoggerProConfig in 'LoggerProConfig.pas', - MainFormU in '..\common\MainFormU.pas' {MainForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/02_file_appender/file_appender.dproj b/lib/loggerpro/samples/02_file_appender/file_appender.dproj deleted file mode 100644 index 709c4fcc..00000000 --- a/lib/loggerpro/samples/02_file_appender/file_appender.dproj +++ /dev/null @@ -1,624 +0,0 @@ - - - {8AF43854-5755-44F3-AF53-DD929F6BA647} - 18.6 - VCL - file_appender.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - file_appender - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - 1033 - true - true - false - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - - - - MainSource - - - -
MainForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - file_appender.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - file_appender.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/03_console_appender/LoggerProConfig.pas b/lib/loggerpro/samples/03_console_appender/LoggerProConfig.pas deleted file mode 100644 index 9945e769..00000000 --- a/lib/loggerpro/samples/03_console_appender/LoggerProConfig.pas +++ /dev/null @@ -1,29 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.ConsoleAppender, Winapi.Windows; - -var - _Log: ILogWriter; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -initialization - -_Log := BuildLogWriter([TLoggerProConsoleAppender.Create]); -if not IsConsole then - AllocConsole; - -end. diff --git a/lib/loggerpro/samples/03_console_appender/console_appender.dpr b/lib/loggerpro/samples/03_console_appender/console_appender.dpr deleted file mode 100644 index dc514226..00000000 --- a/lib/loggerpro/samples/03_console_appender/console_appender.dpr +++ /dev/null @@ -1,16 +0,0 @@ -program console_appender; - -uses - Vcl.Forms, - LoggerProConfig in 'LoggerProConfig.pas', - MainFormU in '..\common\MainFormU.pas' {MainForm}; - -{$R *.res} - -begin - ReportMemoryLeaksOnShutdown := True; - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/03_console_appender/console_appender.dproj b/lib/loggerpro/samples/03_console_appender/console_appender.dproj deleted file mode 100644 index c925bc0e..00000000 --- a/lib/loggerpro/samples/03_console_appender/console_appender.dproj +++ /dev/null @@ -1,618 +0,0 @@ - - - {314E1C0F-EC4A-4AE9-AFB1-C0ABE60886D3} - 18.6 - VCL - console_appender.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - console_appender - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - 1033 - true - true - false - Debug - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - - - - MainSource - - - -
MainForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - console_appender.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/04_outputdebugstring_appender/LoggerProConfig.pas b/lib/loggerpro/samples/04_outputdebugstring_appender/LoggerProConfig.pas deleted file mode 100644 index ea06a76d..00000000 --- a/lib/loggerpro/samples/04_outputdebugstring_appender/LoggerProConfig.pas +++ /dev/null @@ -1,27 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.OutputDebugStringAppender; - -var - _Log: ILogWriter; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -initialization - -_Log := BuildLogWriter([TLoggerProOutputDebugStringAppender.Create]) - -end. diff --git a/lib/loggerpro/samples/04_outputdebugstring_appender/outputdebugstring_appender.dpr b/lib/loggerpro/samples/04_outputdebugstring_appender/outputdebugstring_appender.dpr deleted file mode 100644 index 650c6c20..00000000 --- a/lib/loggerpro/samples/04_outputdebugstring_appender/outputdebugstring_appender.dpr +++ /dev/null @@ -1,15 +0,0 @@ -program outputdebugstring_appender; - -uses - Vcl.Forms, - LoggerProConfig in 'LoggerProConfig.pas', - MainFormU in '..\common\MainFormU.pas' {MainForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/05_vcl_appenders/VCLAppendersFormU.dfm b/lib/loggerpro/samples/05_vcl_appenders/VCLAppendersFormU.dfm deleted file mode 100644 index f62f86d1..00000000 --- a/lib/loggerpro/samples/05_vcl_appenders/VCLAppendersFormU.dfm +++ /dev/null @@ -1,133 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'LoggerPro SAMPLE' - ClientHeight = 535 - ClientWidth = 834 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - Visible = True - OnCreate = FormCreate - DesignSize = ( - 834 - 535) - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 137 - Height = 57 - Caption = 'DEBUG' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 151 - Top = 8 - Width = 137 - Height = 57 - Caption = 'INFO' - TabOrder = 1 - OnClick = Button2Click - end - object Button3: TButton - Left = 294 - Top = 8 - Width = 137 - Height = 57 - Caption = 'WARNING' - TabOrder = 2 - OnClick = Button3Click - end - object Button4: TButton - Left = 437 - Top = 8 - Width = 137 - Height = 57 - Caption = 'ERROR' - TabOrder = 3 - OnClick = Button4Click - end - object Button5: TButton - Left = 8 - Top = 71 - Width = 280 - Height = 57 - Caption = 'Multithread logging' - TabOrder = 4 - OnClick = Button5Click - end - object PageControl1: TPageControl - Left = 8 - Top = 134 - Width = 818 - Height = 393 - ActivePage = tsListViewAppender - Anchors = [akLeft, akTop, akRight, akBottom] - TabOrder = 5 - object tsListViewAppender: TTabSheet - Caption = 'ListView Appender DEMO' - object ListView1: TListView - Left = 0 - Top = 0 - Width = 810 - Height = 365 - Align = alClient - Columns = < - item - AutoSize = True - Caption = 'Application Logs' - end> - ColumnClick = False - Ctl3D = False - DoubleBuffered = True - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Consolas' - Font.Style = [] - OwnerDraw = True - RowSelect = True - ParentDoubleBuffered = False - ParentFont = False - TabOrder = 0 - ViewStyle = vsReport - end - end - object tsMemoAppender: TTabSheet - Caption = 'Memo Appender DEMO' - ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 281 - ExplicitHeight = 165 - object Memo1: TMemo - Left = 0 - Top = 0 - Width = 810 - Height = 365 - Align = alClient - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Courier New' - Font.Style = [] - ParentFont = False - ReadOnly = True - ScrollBars = ssVertical - TabOrder = 0 - WordWrap = False - ExplicitLeft = -535 - ExplicitTop = -228 - ExplicitWidth = 816 - ExplicitHeight = 393 - end - end - end -end diff --git a/lib/loggerpro/samples/05_vcl_appenders/VCLAppendersFormU.pas b/lib/loggerpro/samples/05_vcl_appenders/VCLAppendersFormU.pas deleted file mode 100644 index 0b28c900..00000000 --- a/lib/loggerpro/samples/05_vcl_appenders/VCLAppendersFormU.pas +++ /dev/null @@ -1,117 +0,0 @@ -unit VCLAppendersFormU; - -interface - -uses - Winapi.Windows, - Winapi.Messages, - System.SysUtils, - System.Variants, - System.Classes, - Vcl.Graphics, - Vcl.Controls, - Vcl.Forms, - Vcl.Dialogs, - Vcl.StdCtrls, - LoggerPro, - Vcl.ComCtrls, - System.ImageList, - Vcl.ImgList; - -type - TMainForm = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - Button4: TButton; - Button5: TButton; - PageControl1: TPageControl; - tsListViewAppender: TTabSheet; - tsMemoAppender: TTabSheet; - Memo1: TMemo; - ListView1: TListView; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button4Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - procedure FormCreate(Sender: TObject); - private - FLog: ILogWriter; - { Private declarations } - public - function Log: ILogWriter; - end; - -var - MainForm: TMainForm; - -implementation - -uses - LoggerPro.VCLMemoAppender, - LoggerPro.VCLListViewAppender; - -{$R *.dfm} - -procedure TMainForm.Button1Click(Sender: TObject); -begin - Log.Debug('This is a debug message with TAG1', 'TAG1'); - Log.Debug('This is a debug message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button2Click(Sender: TObject); -begin - Log.Info('This is a info message with TAG1', 'TAG1'); - Log.Info('This is a info message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button3Click(Sender: TObject); -begin - Log.Warn('This is a warning message with TAG1', 'TAG1'); - Log.Warn('This is a warning message with TAG2', 'TAG2'); - -end; - -procedure TMainForm.Button4Click(Sender: TObject); -begin - Log.Error('This is an error message with TAG1', 'TAG1'); - Log.Error('This is an error message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button5Click(Sender: TObject); -var - lThreadProc: TProc; -begin - lThreadProc := procedure - var - I: Integer; - lThreadID: String; - begin - lThreadID := IntToStr(TThread.CurrentThread.ThreadID); - for I := 1 to 50 do - begin - Log.Debug('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING'); - Log.Info('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING'); - Log.Warn('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING'); - Log.Error('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, 'MULTITHREADING'); - end; - end; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; -end; - -procedure TMainForm.FormCreate(Sender: TObject); -begin - // Let's create the local loggers for this form - FLog := BuildLogWriter([TVCLListViewAppender.Create(ListView1), TVCLMemoLogAppender.Create(Memo1)]) -end; - -function TMainForm.Log: ILogWriter; -begin - Result := FLog; -end; - -end. diff --git a/lib/loggerpro/samples/05_vcl_appenders/vcl_appenders.dpr b/lib/loggerpro/samples/05_vcl_appenders/vcl_appenders.dpr deleted file mode 100644 index d662b4dd..00000000 --- a/lib/loggerpro/samples/05_vcl_appenders/vcl_appenders.dpr +++ /dev/null @@ -1,14 +0,0 @@ -program vcl_appenders; - -uses - Vcl.Forms, - VCLAppendersFormU in 'VCLAppendersFormU.pas' {MainForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/05_vcl_appenders/vcl_appenders.dproj b/lib/loggerpro/samples/05_vcl_appenders/vcl_appenders.dproj deleted file mode 100644 index c96949b1..00000000 --- a/lib/loggerpro/samples/05_vcl_appenders/vcl_appenders.dproj +++ /dev/null @@ -1,623 +0,0 @@ - - - {3EC88B82-7B27-4D69-8E7E-632D33F11C42} - 18.6 - VCL - vcl_appenders.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - vcl_appenders - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - 1033 - true - true - false - Debug - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - - - - MainSource - - -
MainForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - vcl_appenders.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - vcl_appenders.exe - true - - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/08_email_appender/LoggerProConfig.pas b/lib/loggerpro/samples/08_email_appender/LoggerProConfig.pas deleted file mode 100644 index 5d8e67f3..00000000 --- a/lib/loggerpro/samples/08_email_appender/LoggerProConfig.pas +++ /dev/null @@ -1,81 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.FileAppender, - LoggerPro.EMailAppender, - LoggerPro.OutputDebugStringAppender, - System.SysUtils, - idSMTP, System.IOUtils, - IdIOHandlerStack, IdSSL, - IdSSLOpenSSL, IdExplicitTLSClientServerBase; - -var - _Log: ILogWriter; - -const - USE_SSL = true; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -function GetSMTP: TidSMTP; -begin - Result := TidSMTP.Create(nil); - try - if USE_SSL then - begin - Result.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(Result); - end; - Result.Host := 'smtp.gmail.com'; - Result.Port := 25; - Result.UseTLS := TIdUseTLS.utUseImplicitTLS; - Result.AuthType := satDefault; - Result.Username := 'daniele.teti@gmail.com'; - if not TFile.Exists('config.txt') then - raise Exception.Create('Create a "config.txt" file containing the password'); - Result.Password := TFile.ReadAllText('config.txt'); // ''; - except - Result.Free; - raise; - end; -end; - -procedure SetupLogger; -const - - {$IFDEF DEBUG} - - LOG_LEVEL = TLogType.Debug; - - {$ELSE} - - LOG_LEVEL = TLogType.Warning; - - {$ENDIF} - -var - lEmailAppender: ILogAppender; -begin - lEmailAppender := TLoggerProEMailAppender.Create(GetSMTP, 'LoggerPro', 'd.teti@bittime.it'); - lEmailAppender.SetLogLevel(TLogType.Error); - _Log := BuildLogWriter([TLoggerProFileAppender.Create, - lEmailAppender, - TLoggerProOutputDebugStringAppender.Create], nil, LOG_LEVEL); -end; - -initialization - -SetupLogger; - -end. diff --git a/lib/loggerpro/samples/08_email_appender/MainFormU.dfm b/lib/loggerpro/samples/08_email_appender/MainFormU.dfm deleted file mode 100644 index 35e03364..00000000 --- a/lib/loggerpro/samples/08_email_appender/MainFormU.dfm +++ /dev/null @@ -1,62 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'LoggerPro SAMPLE' - ClientHeight = 140 - ClientWidth = 584 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - Visible = True - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 137 - Height = 57 - Caption = 'DEBUG' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 151 - Top = 8 - Width = 137 - Height = 57 - Caption = 'INFO' - TabOrder = 1 - OnClick = Button2Click - end - object Button3: TButton - Left = 294 - Top = 8 - Width = 137 - Height = 57 - Caption = 'WARNING' - TabOrder = 2 - OnClick = Button3Click - end - object Button4: TButton - Left = 437 - Top = 8 - Width = 137 - Height = 57 - Caption = 'ERROR' - TabOrder = 3 - OnClick = Button4Click - end - object Button5: TButton - Left = 8 - Top = 71 - Width = 280 - Height = 57 - Caption = 'Multithread logging' - TabOrder = 4 - OnClick = Button5Click - end -end diff --git a/lib/loggerpro/samples/08_email_appender/MainFormU.pas b/lib/loggerpro/samples/08_email_appender/MainFormU.pas deleted file mode 100644 index 5ec9d260..00000000 --- a/lib/loggerpro/samples/08_email_appender/MainFormU.pas +++ /dev/null @@ -1,88 +0,0 @@ -unit MainFormU; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, - System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, LoggerPro; - -type - TMainForm = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - Button4: TButton; - Button5: TButton; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button4Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - end; - -var - MainForm: TMainForm; - -implementation - -uses - LoggerPro.VCLMemoAppender, LoggerProConfig; - -{$R *.dfm} - - -procedure TMainForm.Button1Click(Sender: TObject); -begin - Log.Debug('This is a debug message with TAG1', 'TAG1'); - Log.Debug('This is a debug message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button2Click(Sender: TObject); -begin - Log.Info('This is a info message with TAG1', 'TAG1'); - Log.Info('This is a info message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button3Click(Sender: TObject); -begin - Log.Warn('This is a warning message with TAG1', 'TAG1'); - Log.Warn('This is a warning message with TAG2', 'TAG2'); - -end; - -procedure TMainForm.Button4Click(Sender: TObject); -begin - Log.Error('This is an error message with TAG1', 'TAG1'); - Log.Error('This is an error message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button5Click(Sender: TObject); -var - lThreadProc: TProc; -begin - lThreadProc := procedure - var - I: Integer; - lThreadID: String; - begin - lThreadID := IntToStr(TThread.Current.ThreadID); - for I := 1 to 200 do - begin - Log.Debug('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Info('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Warn('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Error('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - end; - end; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; -end; - -end. diff --git a/lib/loggerpro/samples/08_email_appender/email_appender.dpr b/lib/loggerpro/samples/08_email_appender/email_appender.dpr deleted file mode 100644 index c54ffa0b..00000000 --- a/lib/loggerpro/samples/08_email_appender/email_appender.dpr +++ /dev/null @@ -1,15 +0,0 @@ -program email_appender; - -uses - Vcl.Forms, - MainFormU in 'MainFormU.pas' {MainForm}, - LoggerProConfig in 'LoggerProConfig.pas'; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/08_email_appender/email_appender.dproj b/lib/loggerpro/samples/08_email_appender/email_appender.dproj deleted file mode 100644 index d9255ef6..00000000 --- a/lib/loggerpro/samples/08_email_appender/email_appender.dproj +++ /dev/null @@ -1,574 +0,0 @@ - - - {3EC88B82-7B27-4D69-8E7E-632D33F11C42} - 18.2 - VCL - email_appender.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - email_appender - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - .\bin - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - 1033 - true - true - true - false - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - true - - - - MainSource - - -
MainForm
- dfm -
- - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - email_appender.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - email_appender.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 0 - - - - - classes - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\ - 1 - - - - - Contents - 1 - - - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/100_udp_syslog/LoggerProConfig.pas b/lib/loggerpro/samples/100_udp_syslog/LoggerProConfig.pas deleted file mode 100644 index 6fb431db..00000000 --- a/lib/loggerpro/samples/100_udp_syslog/LoggerProConfig.pas +++ /dev/null @@ -1,30 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro, LoggerPro.UDPSyslogAppender; - -var - Log: ILogWriter; - Appender: TLoggerProUDPSyslogAppender; - -implementation - -initialization - -Appender := TLoggerProUDPSyslogAppender.Create( - '127.0.0.1' - , 5114 //UDPClientPort.Value - , 'COMPUTER' - , 'USER' - , 'EXE' - , '0.0.1' - , '' - , True - , False - ); - -Log := BuildLogWriter([Appender]); - -end. diff --git a/lib/loggerpro/samples/100_udp_syslog/UDPServerClientForm.dfm b/lib/loggerpro/samples/100_udp_syslog/UDPServerClientForm.dfm deleted file mode 100644 index c39e67d9..00000000 --- a/lib/loggerpro/samples/100_udp_syslog/UDPServerClientForm.dfm +++ /dev/null @@ -1,166 +0,0 @@ -object FUDPServerClientForm: TFUDPServerClientForm - Left = 0 - Top = 0 - Caption = 'UDP Server & Client' - ClientHeight = 624 - ClientWidth = 1138 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - PixelsPerInch = 96 - TextHeight = 13 - object Label1: TLabel - Left = 0 - Top = 0 - Width = 1138 - Height = 19 - Align = alTop - Caption = 'Switch on the UDP server to listen to broadcasts on 127.0.0.1.' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - ExplicitWidth = 442 - end - object Label2: TLabel - Left = 0 - Top = 19 - Width = 1138 - Height = 19 - Align = alTop - Caption = - 'Also switch on the UDP client to start broadcasting logs to 127.' + - '0.0.1.' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - ExplicitWidth = 490 - end - object Label3: TLabel - Left = 0 - Top = 38 - Width = 1138 - Height = 19 - Align = alTop - Caption = 'Watch server log below to see received syslog messages.' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - ExplicitWidth = 402 - end - object UDPServerReceived: TMemo - Left = 0 - Top = 170 - Width = 1138 - Height = 454 - Align = alClient - Color = clBackground - Font.Charset = DEFAULT_CHARSET - Font.Color = clLime - Font.Height = -16 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - ReadOnly = True - ScrollBars = ssVertical - TabOrder = 0 - end - object Panel1: TPanel - Left = 0 - Top = 57 - Width = 1138 - Height = 113 - Align = alTop - BevelInner = bvLowered - TabOrder = 1 - object Label4: TLabel - Left = 8 - Top = 6 - Width = 73 - Height = 13 - Caption = 'UDP Client Port' - end - object Label5: TLabel - Left = 240 - Top = 6 - Width = 78 - Height = 13 - Caption = 'UDP Server Port' - end - object UDPServerControl: TRadioGroup - Left = 367 - Top = 2 - Width = 100 - Height = 105 - Caption = 'UDP Server' - ItemIndex = 1 - Items.Strings = ( - 'On' - 'Off') - TabOrder = 0 - OnClick = UDPServerControlClick - end - object UDPClientControl: TRadioGroup - Left = 134 - Top = 2 - Width = 100 - Height = 105 - Caption = 'UDP Client' - ItemIndex = 1 - Items.Strings = ( - 'On' - 'Off') - TabOrder = 1 - OnClick = UDPClientControlClick - end - object UDPClientPort: TSpinEdit - Left = 8 - Top = 25 - Width = 121 - Height = 22 - MaxValue = 0 - MinValue = 0 - TabOrder = 2 - Value = 5114 - end - object UDPServerPort: TSpinEdit - Left = 240 - Top = 25 - Width = 121 - Height = 22 - MaxValue = 0 - MinValue = 0 - TabOrder = 3 - Value = 5114 - end - end - object IdUDPServer: TIdUDPServer - Bindings = < - item - IP = '127.0.0.1' - Port = 5114 - end> - DefaultPort = 0 - OnUDPRead = IdUDPServerUDPRead - Left = 536 - Top = 8 - end - object UDPClientTimer: TTimer - Enabled = False - OnTimer = UDPClientTimerTimer - Left = 616 - Top = 8 - end -end diff --git a/lib/loggerpro/samples/100_udp_syslog/UDPServerClientForm.pas b/lib/loggerpro/samples/100_udp_syslog/UDPServerClientForm.pas deleted file mode 100644 index 7b93e428..00000000 --- a/lib/loggerpro/samples/100_udp_syslog/UDPServerClientForm.pas +++ /dev/null @@ -1,97 +0,0 @@ -unit UDPServerClientForm; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdBaseComponent, IdComponent, - IdUDPBase, IdUDPServer, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Samples.Spin, - IdGlobal, IdSocketHandle, LoggerPro.UDPSyslogAppender; - -type - TFUDPServerClientForm = class(TForm) - IdUDPServer: TIdUDPServer; - Label1: TLabel; - Label2: TLabel; - Label3: TLabel; - UDPServerReceived: TMemo; - Panel1: TPanel; - UDPServerControl: TRadioGroup; - UDPClientControl: TRadioGroup; - UDPClientPort: TSpinEdit; - Label4: TLabel; - Label5: TLabel; - UDPServerPort: TSpinEdit; - UDPClientTimer: TTimer; - procedure UDPClientTimerTimer(Sender: TObject); - procedure UDPClientControlClick(Sender: TObject); - procedure UDPServerControlClick(Sender: TObject); - procedure IdUDPServerUDPRead(AThread: TIdUDPListenerThread; - const AData: TIdBytes; ABinding: TIdSocketHandle); - public - { Public declarations } - end; - -var - FUDPServerClientForm: TFUDPServerClientForm; - -implementation - -uses - LoggerPro, LoggerProConfig, Math; - -const - STATUS_ON = 0; - STATUS_OFF = 1; - -{$R *.dfm} - -function GetPIDByHWND(const hWnd: THandle): THandle; -var - PID: DWORD; -begin - Result := 0; - if hWnd = 0 then Exit; - GetWindowThreadProcessID(hWnd, @PID); - Result := PID; -end; - -procedure TFUDPServerClientForm.IdUDPServerUDPRead( - AThread: TIdUDPListenerThread; const AData: TIdBytes; - ABinding: TIdSocketHandle); -begin - UDPServerReceived.Lines.Add(BytesToString(AData, IndyTextEncoding_UTF8)); - UDPServerReceived.Lines.Add('----------------'); - SendMessage(UDPServerReceived.Handle, EM_LINESCROLL, 0, UDPServerReceived.Lines.Count); -end; - -procedure TFUDPServerClientForm.UDPClientControlClick(Sender: TObject); -begin - UDPClientTimer.Enabled := UDPClientControl.ItemIndex = STATUS_ON; - if not UDPClientTimer.Enabled then Exit; - - Appender.ProcID := IntToStr(GetPIDByHWND(Application.Handle)); - Appender.Port := UDPClientPort.Value; - Appender.UserName := GetEnvironmentVariable('USERNAME'); - Appender.HostName := GetEnvironmentVariable('COMPUTERNAME'); - Appender.Application := ExtractFileName(ParamStr(0)); -end; - -procedure TFUDPServerClientForm.UDPClientTimerTimer(Sender: TObject); -begin - case RandomRange(0, 5) of - 0: Log.Debug('debug message', 'DEBUG'); - 1: Log.Info('info message', 'INFO'); - 2: Log.Warn('warn message', 'WARN'); - 3: Log.Error('error message', 'ERROR'); - 4: Log.Info('Some Access Violation', 'INFO'); - end; -end; - -procedure TFUDPServerClientForm.UDPServerControlClick(Sender: TObject); -begin - IdUDPServer.Bindings[0].Port := UDPServerPort.Value; - IdUDPServer.Active := UDPServerControl.ItemIndex = STATUS_ON; -end; - -end. diff --git a/lib/loggerpro/samples/100_udp_syslog/udp_syslog.dpr b/lib/loggerpro/samples/100_udp_syslog/udp_syslog.dpr deleted file mode 100644 index eae204c2..00000000 --- a/lib/loggerpro/samples/100_udp_syslog/udp_syslog.dpr +++ /dev/null @@ -1,15 +0,0 @@ -program udp_syslog; - -uses - Vcl.Forms, - UDPServerClientForm in 'UDPServerClientForm.pas' {FUDPServerClientForm}, - LoggerProConfig in 'LoggerProConfig.pas'; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TFUDPServerClientForm, FUDPServerClientForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/10_multiple_appenders/LoggerProConfig.pas b/lib/loggerpro/samples/10_multiple_appenders/LoggerProConfig.pas deleted file mode 100644 index 4e8607fe..00000000 --- a/lib/loggerpro/samples/10_multiple_appenders/LoggerProConfig.pas +++ /dev/null @@ -1,42 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.FileAppender, - LoggerPro.ConsoleAppender, - LoggerPro.OutputDebugStringAppender; - -var - _Log: ILogWriter; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -procedure SetupLogger; -const -{$IFDEF DEBUG} - LOG_LEVEL = TLogType.Debug; -{$ELSE} - LOG_LEVEL = TLogType.Warning; -{$ENDIF} -begin - _Log := BuildLogWriter([TLoggerProFileAppender.Create, - TLoggerProConsoleAppender.Create, - TLoggerProOutputDebugStringAppender.Create], nil, LOG_LEVEL); -end; - -initialization - -SetupLogger; - -end. diff --git a/lib/loggerpro/samples/10_multiple_appenders/multiple_appenders.dpr b/lib/loggerpro/samples/10_multiple_appenders/multiple_appenders.dpr deleted file mode 100644 index 06e11e93..00000000 --- a/lib/loggerpro/samples/10_multiple_appenders/multiple_appenders.dpr +++ /dev/null @@ -1,16 +0,0 @@ -program multiple_appenders; - -uses - Vcl.Forms, - LoggerProConfig in 'LoggerProConfig.pas', - MainFormU in '..\common\MainFormU.pas' {MainForm}; - -{$R *.res} - -begin - ReportMemoryLeaksOnShutdown := True; - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/10_multiple_appenders/multiple_appenders.dproj b/lib/loggerpro/samples/10_multiple_appenders/multiple_appenders.dproj deleted file mode 100644 index 96614a1c..00000000 --- a/lib/loggerpro/samples/10_multiple_appenders/multiple_appenders.dproj +++ /dev/null @@ -1,625 +0,0 @@ - - - {AECB1A73-B410-469B-94FE-BC9EAEFB8AB3} - 18.6 - VCL - multiple_appenders.dpr - True - Release - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - multiple_appenders - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - 1033 - true - true - false - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - Debug - PerMonitor - - - - MainSource - - - -
MainForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - multiple_appenders.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - multiple_appenders.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/110_rest_appender/LoggerProConfig.pas b/lib/loggerpro/samples/110_rest_appender/LoggerProConfig.pas deleted file mode 100644 index b842a307..00000000 --- a/lib/loggerpro/samples/110_rest_appender/LoggerProConfig.pas +++ /dev/null @@ -1,70 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -const -{$IF Defined(MSWINDOWS)} - REST_LOGS_COLLECTOR_URL = 'http://pippo:8080'; -{$ENDIF} -{$IF Defined(Android)} - REST_LOGS_COLLECTOR_URL = 'http://192.168.1.7:8080'; -{$ENDIF} - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.RESTAppender, - LoggerPro.FileAppender, - System.Net.HttpClient, - System.SysUtils; - -var - _Log: ILogWriter; - _Events: TLoggerProEventsHandler; - _RESTAppender: ILogAppender; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -initialization - -_Events := TLoggerProEventsHandler.Create; -_Events.OnAppenderError := - procedure(const AppenderClassName: string; const aFailedLogItem: TLogItem; - const Reason: TLogErrorReason; var Action: TLogErrorAction) - begin - Action := TLogErrorAction.DiscardOlder; - end; - -DefaultLoggerProAppenderQueueSize := 10; -_RESTAppender := TLoggerProRESTAppender.Create(REST_LOGS_COLLECTOR_URL + '/api/logs'); -TLoggerProRESTAppender(_RESTAppender).OnNetSendError := - procedure(const Sender: TObject; const LogItem: TLogItem; const NetError: Exception; - var RetryCount: Integer) - begin - // retries to send log for 5 times, then discard the logitem - if RetryCount = 5 then - begin - RetryCount := 0 - end - else - begin - Inc(RetryCount); - end; - end; - -_Log := BuildLogWriter([_RESTAppender, TLoggerProFileAppender.Create], _Events); - -finalization - -_Log := nil; -_Events.Free; - -end. diff --git a/lib/loggerpro/samples/110_rest_appender/RESTAppenderFormU.dfm b/lib/loggerpro/samples/110_rest_appender/RESTAppenderFormU.dfm deleted file mode 100644 index 4c31f6a6..00000000 --- a/lib/loggerpro/samples/110_rest_appender/RESTAppenderFormU.dfm +++ /dev/null @@ -1,62 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'LoggerPro SAMPLE' - ClientHeight = 142 - ClientWidth = 584 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - Visible = True - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 137 - Height = 57 - Caption = 'DEBUG' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 151 - Top = 8 - Width = 137 - Height = 57 - Caption = 'INFO' - TabOrder = 1 - OnClick = Button2Click - end - object Button3: TButton - Left = 294 - Top = 8 - Width = 137 - Height = 57 - Caption = 'WARNING' - TabOrder = 2 - OnClick = Button3Click - end - object Button4: TButton - Left = 437 - Top = 8 - Width = 137 - Height = 57 - Caption = 'ERROR' - TabOrder = 3 - OnClick = Button4Click - end - object Button5: TButton - Left = 8 - Top = 71 - Width = 280 - Height = 57 - Caption = 'Multithread logging' - TabOrder = 4 - OnClick = Button5Click - end -end diff --git a/lib/loggerpro/samples/110_rest_appender/RESTAppenderFormU.pas b/lib/loggerpro/samples/110_rest_appender/RESTAppenderFormU.pas deleted file mode 100644 index 02ae37f3..00000000 --- a/lib/loggerpro/samples/110_rest_appender/RESTAppenderFormU.pas +++ /dev/null @@ -1,91 +0,0 @@ -unit RESTAppenderFormU; - -interface - -uses - Winapi.Windows, - Winapi.Messages, - System.SysUtils, - System.Variants, - System.Classes, - Vcl.Graphics, - Vcl.Controls, - Vcl.Forms, - Vcl.Dialogs, - Vcl.StdCtrls, - LoggerPro, - Vcl.ExtCtrls; - -type - TMainForm = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - Button4: TButton; - Button5: TButton; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button4Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - private - { Private declarations } - public - - end; - -var - MainForm: TMainForm; - -implementation - -{$R *.dfm} - -uses - LoggerProConfig; - -procedure TMainForm.Button1Click(Sender: TObject); -begin - Log.Debug('This is a debug message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button2Click(Sender: TObject); -begin - Log.Info('This is a info message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button3Click(Sender: TObject); -begin - Log.Warn('This is a warning message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button4Click(Sender: TObject); -begin - Log.Error('This is a error message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button5Click(Sender: TObject); -var - lThreadProc: TProc; -begin - lThreadProc := procedure - var - I: Integer; - lThreadID: string; - begin - lThreadID := IntToStr(TThread.Current.ThreadID); - for I := 1 to 100 do - begin - Log.Debug('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - Log.Info('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - Log.Warn('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - Log.Error('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - end; - end; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; -end; - -end. diff --git a/lib/loggerpro/samples/110_rest_appender/RESTAppenderSample.dpr b/lib/loggerpro/samples/110_rest_appender/RESTAppenderSample.dpr deleted file mode 100644 index 9e5aeaa2..00000000 --- a/lib/loggerpro/samples/110_rest_appender/RESTAppenderSample.dpr +++ /dev/null @@ -1,16 +0,0 @@ -program RESTAppenderSample; - -uses - Vcl.Forms, - RESTAppenderFormU in 'RESTAppenderFormU.pas' {MainForm}, - LoggerProConfig in 'LoggerProConfig.pas', - LoggerPro.RESTAppender in '..\..\LoggerPro.RESTAppender.pas'; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/110_rest_appender/RESTAppenderSample.dproj b/lib/loggerpro/samples/110_rest_appender/RESTAppenderSample.dproj deleted file mode 100644 index 647fc8b5..00000000 --- a/lib/loggerpro/samples/110_rest_appender/RESTAppenderSample.dproj +++ /dev/null @@ -1,625 +0,0 @@ - - - {6428419F-8F13-4ED8-94A7-2F7860515AAC} - 18.6 - VCL - RESTAppenderSample.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - RESTAppenderSample - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - 1033 - true - true - false - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - - - - MainSource - - -
MainForm
- dfm -
- - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - RESTAppenderSample.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - RESTAppenderSample.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/110_rest_appender/rest_appender_group.groupproj b/lib/loggerpro/samples/110_rest_appender/rest_appender_group.groupproj deleted file mode 100644 index 649e8d5c..00000000 --- a/lib/loggerpro/samples/110_rest_appender/rest_appender_group.groupproj +++ /dev/null @@ -1,48 +0,0 @@ - - - {5BA437FC-4365-4824-8F39-36A3387CD280} - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/AndroidManifest.xml b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/AndroidManifest.xml deleted file mode 100644 index 26399d32..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/AndroidManifest.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/AndroidManifest.xml b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/AndroidManifest.xml deleted file mode 100644 index 26399d32..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/AndroidManifest.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/classes/classes.dex b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/classes/classes.dex deleted file mode 100644 index 4117deb7..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/classes/classes.dex and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/library/lib/armeabi-v7a/gdbserver b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/library/lib/armeabi-v7a/gdbserver deleted file mode 100644 index b5a5c60b..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/library/lib/armeabi-v7a/gdbserver and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-hdpi/ic_launcher.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-hdpi/ic_launcher.png deleted file mode 100644 index 2850c82c..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-hdpi/ic_launcher.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-large/splash_image.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-large/splash_image.png deleted file mode 100644 index babc829a..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-large/splash_image.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-ldpi/ic_launcher.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-ldpi/ic_launcher.png deleted file mode 100644 index 6f594218..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-ldpi/ic_launcher.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-mdpi/ic_launcher.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-mdpi/ic_launcher.png deleted file mode 100644 index 9a6d8928..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-mdpi/ic_launcher.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-normal/splash_image.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-normal/splash_image.png deleted file mode 100644 index 7266612b..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-normal/splash_image.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-small/splash_image.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-small/splash_image.png deleted file mode 100644 index 9a67bb33..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-small/splash_image.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xhdpi/ic_launcher.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xhdpi/ic_launcher.png deleted file mode 100644 index fefe62ed..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xhdpi/ic_launcher.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xlarge/splash_image.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xlarge/splash_image.png deleted file mode 100644 index 72bd1918..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xlarge/splash_image.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xxhdpi/ic_launcher.png b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xxhdpi/ic_launcher.png deleted file mode 100644 index 0abc131d..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable/splash_image_def.xml b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable/splash_image_def.xml deleted file mode 100644 index 90fc726c..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/drawable/splash_image_def.xml +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/values/styles.xml b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/values/styles.xml deleted file mode 100644 index 8a6563b1..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/MobileRESTAppenderSample/res/values/styles.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/classes.dex b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/classes.dex deleted file mode 100644 index 4117deb7..00000000 Binary files a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/classes.dex and /dev/null differ diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/splash_image_def.xml b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/splash_image_def.xml deleted file mode 100644 index 90fc726c..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/splash_image_def.xml +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/styles.xml b/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/styles.xml deleted file mode 100644 index 8a6563b1..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/Android/Debug/styles.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/AndroidManifest.template.xml b/lib/loggerpro/samples/110_rest_appender_mobile/AndroidManifest.template.xml deleted file mode 100644 index b5936845..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/AndroidManifest.template.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -<%uses-permission%> - - - -<%application-meta-data%> - <%services%> - - - - - - - - - - <%activity%> - <%receivers%> - - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/MainFormU.fmx b/lib/loggerpro/samples/110_rest_appender_mobile/MainFormU.fmx deleted file mode 100644 index bc33e2e5..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/MainFormU.fmx +++ /dev/null @@ -1,96 +0,0 @@ -object Form2: TForm2 - Left = 0 - Top = 0 - Caption = 'Form2' - ClientHeight = 569 - ClientWidth = 343 - Padding.Left = 10.000000000000000000 - Padding.Top = 10.000000000000000000 - Padding.Right = 10.000000000000000000 - Padding.Bottom = 10.000000000000000000 - FormFactor.Width = 320 - FormFactor.Height = 480 - FormFactor.Devices = [Desktop] - OnCreate = FormCreate - DesignerMasterStyle = 3 - object btnDEBUG: TButton - Align = Top - Margins.Left = 5.000000000000000000 - Margins.Top = 5.000000000000000000 - Margins.Right = 5.000000000000000000 - Margins.Bottom = 5.000000000000000000 - Position.X = 15.000000000000000000 - Position.Y = 54.000000000000000000 - Size.Width = 313.000000000000000000 - Size.Height = 57.000000000000000000 - Size.PlatformDefault = False - TabOrder = 0 - Text = 'Send DEBUG Message' - OnClick = btnDEBUGClick - Left = 8 - Top = 8 - end - object btnWARNING: TButton - Align = Top - Margins.Left = 5.000000000000000000 - Margins.Top = 5.000000000000000000 - Margins.Right = 5.000000000000000000 - Margins.Bottom = 5.000000000000000000 - Position.X = 15.000000000000000000 - Position.Y = 188.000000000000000000 - Size.Width = 313.000000000000000000 - Size.Height = 57.000000000000000000 - Size.PlatformDefault = False - TabOrder = 1 - Text = 'Send WARNING Message' - OnClick = btnWARNINGClick - Left = 151 - Top = 8 - end - object btnINFO: TButton - Align = Top - Margins.Left = 5.000000000000000000 - Margins.Top = 5.000000000000000000 - Margins.Right = 5.000000000000000000 - Margins.Bottom = 5.000000000000000000 - Position.X = 15.000000000000000000 - Position.Y = 121.000000000000000000 - Size.Width = 313.000000000000000000 - Size.Height = 57.000000000000000000 - Size.PlatformDefault = False - TabOrder = 2 - Text = 'Send INFO Message' - OnClick = btnINFOClick - Left = 294 - Top = 8 - end - object btnERROR: TButton - Align = Top - Margins.Left = 5.000000000000000000 - Margins.Top = 5.000000000000000000 - Margins.Right = 5.000000000000000000 - Margins.Bottom = 5.000000000000000000 - Position.X = 15.000000000000000000 - Position.Y = 255.000000000000000000 - Size.Width = 313.000000000000000000 - Size.Height = 57.000000000000000000 - Size.PlatformDefault = False - TabOrder = 3 - Text = 'Send ERROR Message' - OnClick = btnERRORClick - Left = 437 - Top = 8 - end - object Label1: TLabel - Align = MostTop - Position.X = 10.000000000000000000 - Position.Y = 10.000000000000000000 - Size.Width = 323.000000000000000000 - Size.Height = 39.000000000000000000 - Size.PlatformDefault = False - StyleLookup = 'listboxheaderlabel' - TextSettings.HorzAlign = Center - Text = 'LoggerPro - REST Appender DEMO' - TabOrder = 4 - end -end diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/MainFormU.pas b/lib/loggerpro/samples/110_rest_appender_mobile/MainFormU.pas deleted file mode 100644 index 3229023b..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/MainFormU.pas +++ /dev/null @@ -1,96 +0,0 @@ -unit MainFormU; - -interface - -uses - System.SysUtils, - System.Types, - System.UITypes, - System.Classes, - System.Variants, - FMX.Types, - FMX.Controls, - FMX.Forms, - FMX.Graphics, - FMX.Dialogs, - FMX.Controls.Presentation, - FMX.StdCtrls; - -type - TForm2 = class(TForm) - Label1: TLabel; - procedure btnDEBUGClick(Sender: TObject); - procedure btnERRORClick(Sender: TObject); - procedure btnINFOClick(Sender: TObject); - procedure btnWARNINGClick(Sender: TObject); - procedure FormCreate(Sender: TObject); - private - { Private declarations } - public - { Public declarations } - end; - -var - Form2: TForm2; - -implementation - -{$R *.fmx} - - -uses - LoggerProConfig, - System.Permissions, -{$IFDEF ANDROID} - Androidapi.JNI.Os, - Androidapi.JNI.JavaTypes, - Androidapi.Helpers, -{$ENDIF} - FMX.DialogService; - -procedure TForm2.btnDEBUGClick(Sender: TObject); -begin - Log.Debug('This is a debug message with TAG1 from mobile', 'TAG1'); -end; - -procedure TForm2.btnERRORClick(Sender: TObject); -begin - Log.Error('This is a error message with TAG1 from mobile', 'TAG1'); -end; - -procedure TForm2.btnINFOClick(Sender: TObject); -begin - Log.Info('This is a info message with TAG1 from mobile', 'TAG1'); -end; - -procedure TForm2.btnWARNINGClick(Sender: TObject); -begin - Log.Warn('This is a warning message with TAG1 from mobile', 'TAG1'); -end; - -procedure TForm2.FormCreate(Sender: TObject); -begin -{$IFDEF ANDROID} - PermissionsService.RequestPermissions - ([JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)], - procedure(const APermissions: TArray; const AGrantResults: TArray) - begin - if not((Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted)) then - begin - TDialogService.ShowMessage('LoggerPro will not work'); - end; - end, - procedure(const APermissions: TArray; const APostRationaleProc: TProc) - begin - TDialogService.ShowMessage('The app needs to access to the storage, please allows the next request', - procedure(const AResult: TModalResult) - begin - APostRationaleProc(); - end - ); - end - ); -{$ENDIF} -end; - -end. diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.deployproj b/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.deployproj deleted file mode 100644 index be814ea3..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.deployproj +++ /dev/null @@ -1,242 +0,0 @@ - - - - 12 - - - b4f817df - - - iPhone5 - - - - - - - MobileRESTAppenderSample\ - MobileRESTAppenderSample.exe - ProjectOutput - 0 - - - True - True - - - - - - MobileRESTAppenderSample.app\Contents\MacOS\ - libcgsqlite3.dylib - DependencyModule - 1 - - - True - - - MobileRESTAppenderSample.app\Contents\MacOS\ - libcgunwind.1.0.dylib - DependencyModule - 1 - - - True - - - - - MobileRESTAppenderSample\res\drawable-ldpi\ - ic_launcher.png - Android_LauncherIcon36 - 1 - - - True - - - MobileRESTAppenderSample\library\lib\armeabi-v7a\ - libMobileRESTAppenderSample.so - ProjectOutput - 1 - - - True - True - - - MobileRESTAppenderSample\res\drawable-hdpi\ - ic_launcher.png - Android_LauncherIcon72 - 1 - - - True - - - MobileRESTAppenderSample\res\drawable-large\ - splash_image.png - Android_SplashImage640 - 1 - - - True - - - MobileRESTAppenderSample\res\drawable-xlarge\ - splash_image.png - Android_SplashImage960 - 1 - - - True - - - MobileRESTAppenderSample\res\drawable-small\ - splash_image.png - Android_SplashImage426 - 1 - - - True - - - MobileRESTAppenderSample\res\drawable-mdpi\ - ic_launcher.png - Android_LauncherIcon48 - 1 - - - True - - - MobileRESTAppenderSample\library\lib\mips\ - libMobileRESTAppenderSample.so - AndroidLibnativeMipsFile - 1 - - - True - - - MobileRESTAppenderSample\library\lib\armeabi-v7a\ - gdbserver - AndroidGDBServer - 1 - - - True - - - MobileRESTAppenderSample\classes\ - classes.dex - AndroidClassesDexFile - 1 - - - True - - - MobileRESTAppenderSample\res\drawable\ - splash_image_def.xml - AndroidSplashImageDef - 1 - - - True - - - MobileRESTAppenderSample\res\values\ - styles.xml - AndroidSplashStyles - 1 - - - True - - - MobileRESTAppenderSample\ - AndroidManifest.xml - ProjectAndroidManifest - 1 - - - True - - - MobileRESTAppenderSample\library\lib\armeabi\ - libMobileRESTAppenderSample.so - AndroidLibnativeArmeabiFile - 1 - - - True - - - MobileRESTAppenderSample\res\drawable-xxhdpi\ - ic_launcher.png - Android_LauncherIcon144 - 1 - - - True - - - MobileRESTAppenderSample\res\drawable-normal\ - splash_image.png - Android_SplashImage470 - 1 - - - True - - - MobileRESTAppenderSample\res\drawable-xhdpi\ - ic_launcher.png - Android_LauncherIcon96 - 1 - - - True - - - MobileRESTAppenderSample\res\values-v21\ - styles.xml - AndroidSplashStylesV21 - 1 - - - True - - - - - MobileRESTAppenderSample.app\ - libPCRE.dylib - DependencyModule - 1 - - - True - - - MobileRESTAppenderSample.app\ - libcgunwind.1.0.dylib - DependencyModule - 1 - - - True - - - MobileRESTAppenderSample.app\ - libpcre.dylib - DependencyModule - 1 - - - True - - - diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.dpr b/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.dpr deleted file mode 100644 index c788d505..00000000 --- a/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.dpr +++ /dev/null @@ -1,18 +0,0 @@ -program MobileRESTAppenderSample; - -uses - System.StartUpCopy, - FMX.Forms, - MainFormU in 'MainFormU.pas' {Form2}, - LoggerProConfig in '..\110_rest_appender\LoggerProConfig.pas', - LoggerPro.FileAppender in '..\..\LoggerPro.FileAppender.pas', - LoggerPro in '..\..\LoggerPro.pas', - LoggerPro.RESTAppender in '..\..\LoggerPro.RESTAppender.pas'; - -{$R *.res} - -begin - Application.Initialize; - Application.CreateForm(TForm2, Form2); - Application.Run; -end. diff --git a/lib/loggerpro/samples/120_elastic_search_appender/ESAppenderFormU.dfm b/lib/loggerpro/samples/120_elastic_search_appender/ESAppenderFormU.dfm deleted file mode 100644 index 4c31f6a6..00000000 --- a/lib/loggerpro/samples/120_elastic_search_appender/ESAppenderFormU.dfm +++ /dev/null @@ -1,62 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'LoggerPro SAMPLE' - ClientHeight = 142 - ClientWidth = 584 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - Visible = True - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 137 - Height = 57 - Caption = 'DEBUG' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 151 - Top = 8 - Width = 137 - Height = 57 - Caption = 'INFO' - TabOrder = 1 - OnClick = Button2Click - end - object Button3: TButton - Left = 294 - Top = 8 - Width = 137 - Height = 57 - Caption = 'WARNING' - TabOrder = 2 - OnClick = Button3Click - end - object Button4: TButton - Left = 437 - Top = 8 - Width = 137 - Height = 57 - Caption = 'ERROR' - TabOrder = 3 - OnClick = Button4Click - end - object Button5: TButton - Left = 8 - Top = 71 - Width = 280 - Height = 57 - Caption = 'Multithread logging' - TabOrder = 4 - OnClick = Button5Click - end -end diff --git a/lib/loggerpro/samples/120_elastic_search_appender/ESAppenderFormU.pas b/lib/loggerpro/samples/120_elastic_search_appender/ESAppenderFormU.pas deleted file mode 100644 index 83d48192..00000000 --- a/lib/loggerpro/samples/120_elastic_search_appender/ESAppenderFormU.pas +++ /dev/null @@ -1,92 +0,0 @@ -unit ESAppenderFormU; - -interface - -uses - Winapi.Windows, - Winapi.Messages, - System.SysUtils, - System.Variants, - System.Classes, - Vcl.Graphics, - Vcl.Controls, - Vcl.Forms, - Vcl.Dialogs, - Vcl.StdCtrls, - LoggerPro, - Vcl.ExtCtrls; - -type - TMainForm = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - Button4: TButton; - Button5: TButton; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button4Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - private - { Private declarations } - public - - end; - -var - MainForm: TMainForm; - -implementation - -{$R *.dfm} - - -uses - LoggerProConfig; - -procedure TMainForm.Button1Click(Sender: TObject); -begin - Log.Debug('This is a debug message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button2Click(Sender: TObject); -begin - Log.Info('This is a info message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button3Click(Sender: TObject); -begin - Log.Warn('This is a warning message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button4Click(Sender: TObject); -begin - Log.Error('This is a error message with TAG1', 'TAG1'); -end; - -procedure TMainForm.Button5Click(Sender: TObject); -var - lThreadProc: TProc; -begin - lThreadProc := procedure - var - I: Integer; - lThreadID: string; - begin - lThreadID := IntToStr(TThread.Current.ThreadID); - for I := 1 to 100 do - begin - Log.Debug('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - Log.Info('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - Log.Warn('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - Log.Error('log message %s ThreadID: %s', [TimeToStr(now), lThreadID], 'MULTITHREADING'); - end; - end; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; -end; - -end. diff --git a/lib/loggerpro/samples/120_elastic_search_appender/ElasticSearchAppenderSample.dpr b/lib/loggerpro/samples/120_elastic_search_appender/ElasticSearchAppenderSample.dpr deleted file mode 100644 index fff3f44b..00000000 --- a/lib/loggerpro/samples/120_elastic_search_appender/ElasticSearchAppenderSample.dpr +++ /dev/null @@ -1,17 +0,0 @@ -program ElasticSearchAppenderSample; - -uses - Vcl.Forms, - ESAppenderFormU in 'ESAppenderFormU.pas' {MainForm}, - LoggerProConfig in 'LoggerProConfig.pas', - LoggerPro.RESTAppender in '..\..\LoggerPro.RESTAppender.pas', - LoggerPro.ElasticSearchAppender in '..\..\LoggerPro.ElasticSearchAppender.pas'; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/120_elastic_search_appender/ElasticSearchAppenderSample.dproj b/lib/loggerpro/samples/120_elastic_search_appender/ElasticSearchAppenderSample.dproj deleted file mode 100644 index 75670875..00000000 --- a/lib/loggerpro/samples/120_elastic_search_appender/ElasticSearchAppenderSample.dproj +++ /dev/null @@ -1,573 +0,0 @@ - - - {3EC88B82-7B27-4D69-8E7E-632D33F11C42} - 18.4 - VCL - ElasticSearchAppenderSample.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - ElasticSearchAppenderSample - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - 1033 - true - true - true - false - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - true - - - - MainSource - - -
MainForm
- dfm -
- - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - ElasticSearchAppenderSample.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - ElasticSearchAppenderSample.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 0 - - - - - classes - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\ - 1 - - - - - Contents - 1 - - - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/120_elastic_search_appender/LoggerProConfig.pas b/lib/loggerpro/samples/120_elastic_search_appender/LoggerProConfig.pas deleted file mode 100644 index f2ee7385..00000000 --- a/lib/loggerpro/samples/120_elastic_search_appender/LoggerProConfig.pas +++ /dev/null @@ -1,65 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.FileAppender, - System.Net.HttpClient, - System.SysUtils, - LoggerPro.ElasticSearchAppender; - -var - _Log: ILogWriter; - _Events: TLoggerProEventsHandler; - _RESTAppender: ILogAppender; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -initialization - -_Events := TLoggerProEventsHandler.Create; -_Events.OnAppenderError := - procedure(const AppenderClassName: string; const aFailedLogItem: TLogItem; const Reason: TLogErrorReason; var Action: TLogErrorAction) - begin - Action := TLogErrorAction.SkipNewest; - end; - -DefaultLoggerProAppenderQueueSize := 100; -{$IF Defined(MSWINDOWS)} -_RESTAppender := TLoggerProElasticSearchAppender.Create('http://localhost', 9200, 'loggerpro'); -{$ENDIF} -{$IF Defined(Android)} -_RESTAppender := TLoggerProElasticSearchAppender.Create('http://192.168.1.6:8080/api/logs'); -{$ENDIF} -TLoggerProElasticSearchAppender(_RESTAppender).OnNetSendError := - procedure(const Sender: TObject; const LogItem: TLogItem; const NetError: Exception; var RetryCount: Integer) - begin - // retries to send log for 5 times, then discard the logitem - if RetryCount = 5 then - begin - RetryCount := 0 - end - else - begin - Inc(RetryCount); - end; - end; - -_Log := BuildLogWriter([_RESTAppender, TLoggerProFileAppender.Create], _Events); - -finalization - -_Log := nil; -_Events.Free; - -end. diff --git a/lib/loggerpro/samples/15_appenders_with_different_log_levels/LoggerProConfig.pas b/lib/loggerpro/samples/15_appenders_with_different_log_levels/LoggerProConfig.pas deleted file mode 100644 index 25f1dcee..00000000 --- a/lib/loggerpro/samples/15_appenders_with_different_log_levels/LoggerProConfig.pas +++ /dev/null @@ -1,45 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.FileAppender, - LoggerPro.ConsoleAppender, - LoggerPro.OutputDebugStringAppender; - -var - _Log: ILogWriter; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -procedure SetupLogger; -var - lFileAppender, lErrorsFileAppender, lOutputDebugStringAppender: ILogAppender; -begin - lFileAppender := TLoggerProFileAppender.Create(5, 1000, 'logs'); - lFileAppender.SetLogLevel(TLogType.Info); - - lErrorsFileAppender := TLoggerProFileAppender.Create(5, 1000, 'logs_errors'); - lErrorsFileAppender.SetLogLevel(TLogType.Error); - - lOutputDebugStringAppender := TLoggerProOutputDebugStringAppender.Create; - // default TLogType.Debug - - _Log := BuildLogWriter([lFileAppender, lErrorsFileAppender, lOutputDebugStringAppender]); -end; - -initialization - -SetupLogger; - -end. diff --git a/lib/loggerpro/samples/15_appenders_with_different_log_levels/multi_appenders_different_loglevels.dpr b/lib/loggerpro/samples/15_appenders_with_different_log_levels/multi_appenders_different_loglevels.dpr deleted file mode 100644 index f635f841..00000000 --- a/lib/loggerpro/samples/15_appenders_with_different_log_levels/multi_appenders_different_loglevels.dpr +++ /dev/null @@ -1,16 +0,0 @@ -program multi_appenders_different_loglevels; - -uses - Vcl.Forms, - LoggerProConfig in 'LoggerProConfig.pas', - MainFormU in '..\common\MainFormU.pas' {MainForm}; - -{$R *.res} - -begin - ReportMemoryLeaksOnShutdown := True; - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/15_appenders_with_different_log_levels/multi_appenders_different_loglevels.dproj b/lib/loggerpro/samples/15_appenders_with_different_log_levels/multi_appenders_different_loglevels.dproj deleted file mode 100644 index 5f634c80..00000000 --- a/lib/loggerpro/samples/15_appenders_with_different_log_levels/multi_appenders_different_loglevels.dproj +++ /dev/null @@ -1,574 +0,0 @@ - - - {AECB1A73-B410-469B-94FE-BC9EAEFB8AB3} - 18.2 - VCL - multi_appenders_different_loglevels.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - multi_appenders_different_loglevels - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - 1033 - true - true - true - false - .\bin - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - true - - - - MainSource - - - -
MainForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - multi_appenders_different_loglevels.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - multi_appenders_different_loglevels.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 0 - - - - - classes - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\ - 1 - - - - - Contents - 1 - - - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/20_multiple_loggers/LoggerProConfig.pas b/lib/loggerpro/samples/20_multiple_loggers/LoggerProConfig.pas deleted file mode 100644 index d11fe898..00000000 --- a/lib/loggerpro/samples/20_multiple_loggers/LoggerProConfig.pas +++ /dev/null @@ -1,40 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.FileAppender, - LoggerPro.ConsoleAppender, - LoggerPro.OutputDebugStringAppender; - -var - _Log: ILogWriter; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -procedure SetupLogger; -begin - _Log := BuildLogWriter([TLoggerProFileAppender.Create, - TLoggerProConsoleAppender.Create, - TLoggerProOutputDebugStringAppender.Create]); - // only errors on console - _Log.Appenders[1].SetLogLevel(TLogType.Error); - // only warnings or errors on outputdebugstring - _Log.Appenders[2].SetLogLevel(TLogType.Warning); -end; - -initialization - -SetupLogger; - -end. diff --git a/lib/loggerpro/samples/20_multiple_loggers/MultipleLoggersU.dfm b/lib/loggerpro/samples/20_multiple_loggers/MultipleLoggersU.dfm deleted file mode 100644 index 4d8bc13f..00000000 --- a/lib/loggerpro/samples/20_multiple_loggers/MultipleLoggersU.dfm +++ /dev/null @@ -1,58 +0,0 @@ -object MultipleLoggersForm: TMultipleLoggersForm - Left = 0 - Top = 0 - Caption = 'MultipleLoggersForm' - ClientHeight = 350 - ClientWidth = 900 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - OnCreate = FormCreate - DesignSize = ( - 900 - 350) - PixelsPerInch = 96 - TextHeight = 13 - object Memo1: TMemo - Left = 8 - Top = 47 - Width = 884 - Height = 295 - Anchors = [akLeft, akTop, akRight, akBottom] - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = 'Courier New' - Font.Style = [] - Lines.Strings = ( - 'Memo1') - ParentFont = False - ScrollBars = ssVertical - TabOrder = 0 - WordWrap = False - ExplicitWidth = 567 - ExplicitHeight = 146 - end - object btnFormLocalLog: TButton - Left = 8 - Top = 8 - Width = 129 - Height = 33 - Caption = 'btnFormLocalLog' - TabOrder = 1 - OnClick = btnFormLocalLogClick - end - object btnApplicationLevelLog: TButton - Left = 143 - Top = 8 - Width = 129 - Height = 33 - Caption = 'btnApplicationLevelLog' - TabOrder = 2 - OnClick = btnApplicationLevelLogClick - end -end diff --git a/lib/loggerpro/samples/20_multiple_loggers/MultipleLoggersU.pas b/lib/loggerpro/samples/20_multiple_loggers/MultipleLoggersU.pas deleted file mode 100644 index 9f37ddc5..00000000 --- a/lib/loggerpro/samples/20_multiple_loggers/MultipleLoggersU.pas +++ /dev/null @@ -1,60 +0,0 @@ -unit MultipleLoggersU; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, - System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, LoggerPro, Vcl.StdCtrls; - -type - TMultipleLoggersForm = class(TForm) - Memo1: TMemo; - btnFormLocalLog: TButton; - btnApplicationLevelLog: TButton; - procedure FormCreate(Sender: TObject); - procedure btnFormLocalLogClick(Sender: TObject); - procedure btnApplicationLevelLogClick(Sender: TObject); - private - FLogWriter: ILogWriter; - function LocalLog: ILogWriter; - public - { Public declarations } - end; - -var - MultipleLoggersForm: TMultipleLoggersForm; - -implementation - -uses - LoggerPro.VCLMemoAppender, LoggerProConfig; - -{$R *.dfm} - -procedure TMultipleLoggersForm.btnApplicationLevelLogClick(Sender: TObject); -begin - Log.Log(TLogType(Random(Ord(TLogType.Error) + 1)), - 'Message sent to the application level LoggerPro instance (random type)', - 'APP'); -end; - -procedure TMultipleLoggersForm.btnFormLocalLogClick(Sender: TObject); -begin - LocalLog.Log(TLogType(Random(Ord(TLogType.Error) + 1)), - 'Message sent to the form local LoggerPro instance (random type)', 'tag'); -end; - -procedure TMultipleLoggersForm.FormCreate(Sender: TObject); -begin - FLogWriter := BuildLogWriter([TVCLMemoLogAppender.Create(Memo1)], nil, - TLogType.Info); - FLogWriter.Info('Local log correctly initialized', 'tag'); -end; - -function TMultipleLoggersForm.LocalLog: ILogWriter; -begin - Result := FLogWriter; -end; - -end. diff --git a/lib/loggerpro/samples/20_multiple_loggers/multiple_loggers.dpr b/lib/loggerpro/samples/20_multiple_loggers/multiple_loggers.dpr deleted file mode 100644 index 35ed7d08..00000000 --- a/lib/loggerpro/samples/20_multiple_loggers/multiple_loggers.dpr +++ /dev/null @@ -1,16 +0,0 @@ -program multiple_loggers; - -uses - Vcl.Forms, - MultipleLoggersU in 'MultipleLoggersU.pas' {MultipleLoggersForm}, - LoggerProConfig in 'LoggerProConfig.pas'; - -{$R *.res} - -begin - ReportMemoryLeaksOnShutdown := True; - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMultipleLoggersForm, MultipleLoggersForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/20_multiple_loggers/multiple_loggers.dproj b/lib/loggerpro/samples/20_multiple_loggers/multiple_loggers.dproj deleted file mode 100644 index 4832ec3a..00000000 --- a/lib/loggerpro/samples/20_multiple_loggers/multiple_loggers.dproj +++ /dev/null @@ -1,619 +0,0 @@ - - - {7E520460-0C12-4F7F-8144-CDA37E8AC977} - 18.6 - VCL - multiple_loggers.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - multiple_loggers - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - ..\..\;$(DCC_UnitSearchPath) - 1033 - true - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - 1033 - true - true - false - Debug - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - - - - MainSource - - -
MultipleLoggersForm
- dfm -
- - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - multiple_loggers.dpr - - - (untitled) - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/50_custom_appender/LoggerProConfig.pas b/lib/loggerpro/samples/50_custom_appender/LoggerProConfig.pas deleted file mode 100644 index ead7412c..00000000 --- a/lib/loggerpro/samples/50_custom_appender/LoggerProConfig.pas +++ /dev/null @@ -1,59 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.ConsoleAppender, System.SysUtils; - -type - TMyCustomAppender = class(TLoggerProAppenderBase) - public - procedure Setup; override; - procedure TearDown; override; - procedure WriteLog(const aLogItem: TLogItem); override; - end; - -var - _Log: ILogWriter; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -{ TMyCustomAppender } -procedure TMyCustomAppender.Setup; -begin - // -end; - -procedure TMyCustomAppender.TearDown; -begin - // -end; - -procedure TMyCustomAppender.WriteLog(const aLogItem: TLogItem); -begin - // uncomment this to see what happend if an appender raise an exception - - // raise Exception.Create('Kill LoggerPro'); - - // uncomment this to see what happend if an appender is slow - Sleep(2000); - WriteLn('[THE BAD APPENDER] ' + aLogItem.LogMessage); -end; - -initialization - -_Log := BuildLogWriter([ - TLoggerProConsoleAppender.Create, - TMyCustomAppender.Create]) - -end. diff --git a/lib/loggerpro/samples/50_custom_appender/custom_appender.dpr b/lib/loggerpro/samples/50_custom_appender/custom_appender.dpr deleted file mode 100644 index 36b27960..00000000 --- a/lib/loggerpro/samples/50_custom_appender/custom_appender.dpr +++ /dev/null @@ -1,15 +0,0 @@ -program custom_appender; - -uses - Vcl.Forms, - LoggerProConfig in 'LoggerProConfig.pas', - MainFormU in '..\common\MainFormU.pas' {MainForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/60_logging_inside_dll/DLLGroup.groupproj b/lib/loggerpro/samples/60_logging_inside_dll/DLLGroup.groupproj deleted file mode 100644 index 20049db1..00000000 --- a/lib/loggerpro/samples/60_logging_inside_dll/DLLGroup.groupproj +++ /dev/null @@ -1,48 +0,0 @@ - - - {35EC5589-AF86-466C-B335-FDF408CA836C} - - - - MainProgram.dproj - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/loggerpro/samples/60_logging_inside_dll/MainFormU.dfm b/lib/loggerpro/samples/60_logging_inside_dll/MainFormU.dfm deleted file mode 100644 index e6327d99..00000000 --- a/lib/loggerpro/samples/60_logging_inside_dll/MainFormU.dfm +++ /dev/null @@ -1,43 +0,0 @@ -object Form5: TForm5 - Left = 0 - Top = 0 - Caption = 'Form5' - ClientHeight = 299 - ClientWidth = 413 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 153 - Height = 57 - Caption = 'Load Library' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 8 - Top = 167 - Width = 153 - Height = 57 - Caption = 'UnLoad Library' - TabOrder = 1 - OnClick = Button2Click - end - object btnDoSomething: TButton - Left = 8 - Top = 88 - Width = 153 - Height = 57 - Caption = 'Do Something' - TabOrder = 2 - OnClick = btnDoSomethingClick - end -end diff --git a/lib/loggerpro/samples/60_logging_inside_dll/MainFormU.pas b/lib/loggerpro/samples/60_logging_inside_dll/MainFormU.pas deleted file mode 100644 index e03bc844..00000000 --- a/lib/loggerpro/samples/60_logging_inside_dll/MainFormU.pas +++ /dev/null @@ -1,59 +0,0 @@ -unit MainFormU; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, - System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; - -type - TForm5 = class(TForm) - Button1: TButton; - Button2: TButton; - btnDoSomething: TButton; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure btnDoSomethingClick(Sender: TObject); - private - FHandle: NativeUInt; - { Private declarations } - public - { Public declarations } - end; - -var - Form5: TForm5; - Init, DeInit, DoSomething: procedure; - -implementation - -uses - LoggerPro.GlobalLogger; - -{$R *.dfm} - - -procedure TForm5.btnDoSomethingClick(Sender: TObject); -begin - DoSomething; -end; - -procedure TForm5.Button1Click(Sender: TObject); -begin - Log.Debug('Loading dll', 'main'); - FHandle := LoadLibrary('mydll.dll'); - Init := GetProcAddress(FHandle, 'Init'); - DeInit := GetProcAddress(FHandle, 'DeInit'); - DoSomething := GetProcAddress(FHandle, 'DoSomething'); - Init(); -end; - -procedure TForm5.Button2Click(Sender: TObject); -begin - Log.Debug('UnLoading dll', 'main'); - DeInit(); - FreeLibrary(FHandle); -end; - -end. diff --git a/lib/loggerpro/samples/60_logging_inside_dll/MainProgram.dpr b/lib/loggerpro/samples/60_logging_inside_dll/MainProgram.dpr deleted file mode 100644 index 77e941ff..00000000 --- a/lib/loggerpro/samples/60_logging_inside_dll/MainProgram.dpr +++ /dev/null @@ -1,17 +0,0 @@ -program MainProgram; - -uses - Vcl.Forms, - LoggerPro.GlobalLogger, - MainFormU in 'MainFormU.pas' {Form5}; - -{$R *.res} - -begin - ReportMemoryLeaksOnShutdown := True; - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TForm5, Form5); - Application.Run; - ReleaseGlobalLogger; -end. diff --git a/lib/loggerpro/samples/60_logging_inside_dll/MyThreadU.pas b/lib/loggerpro/samples/60_logging_inside_dll/MyThreadU.pas deleted file mode 100644 index 083d18ff..00000000 --- a/lib/loggerpro/samples/60_logging_inside_dll/MyThreadU.pas +++ /dev/null @@ -1,60 +0,0 @@ -unit MyThreadU; - -interface - -uses - System.Classes; - -type - TMyThread = class(TThread) - procedure Execute; override; - end; - - IMyInterface = interface - ['{603F3B5A-116C-4286-B70B-85CD7747BCF0}'] - end; - - TMyObject = class(TInterfacedObject, IMyInterface) - protected - fMyThread: TMyThread; - public - constructor Create; - destructor Destroy; override; - end; - -implementation - -uses - LoggerPro.GlobalLogger; - -{ TMyThread } - -procedure TMyThread.Execute; -begin - while not Terminated do - begin - Log.Debug('Into the thread...', 'DLLTHREAD'); - Sleep(1000); - end; -end; - -{ TMyObject } - -constructor TMyObject.Create; -begin - inherited; - Log.Debug('Creating the thread', 'DLLTHREAD'); - FMyThread := TMyThread.Create(true); - FMyThread.Start; -end; - -destructor TMyObject.Destroy; -begin - Log.Debug('Destroing the thread', 'DLLTHREAD'); - FMyThread.Terminate; - FMyThread.WaitFor; - FMyThread.Free; - inherited; -end; - -end. diff --git a/lib/loggerpro/samples/60_logging_inside_dll/mydll.dpr b/lib/loggerpro/samples/60_logging_inside_dll/mydll.dpr deleted file mode 100644 index 286fbb79..00000000 --- a/lib/loggerpro/samples/60_logging_inside_dll/mydll.dpr +++ /dev/null @@ -1,31 +0,0 @@ -library mydll; - -uses - LoggerPro.GlobalLogger, - MyThreadU in 'MyThreadU.pas'; - -var - lObj: IMyInterface = nil; - -procedure Init; -begin - lObj := TMyObject.Create; -end; - -procedure DeInit; -begin - lObj := nil; - ReleaseGlobalLogger; // This is required inside dll and ISAPI!! -end; - -procedure DoSomething; -begin - Log.Debug('This is a log message from the DLL', 'DLL'); -end; - -exports - Init, DeInit, DoSomething; - -begin - -end. diff --git a/lib/loggerpro/samples/60_logging_inside_dll/mydll.dproj b/lib/loggerpro/samples/60_logging_inside_dll/mydll.dproj deleted file mode 100644 index a86e0ecc..00000000 --- a/lib/loggerpro/samples/60_logging_inside_dll/mydll.dproj +++ /dev/null @@ -1,658 +0,0 @@ - - - {F282830C-26FD-4AD0-9E03-98375CF020DD} - 18.6 - None - mydll.dpr - True - Debug - Win32 - 1 - Library - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - 1040 - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - true - ..\..\;$(DCC_UnitSearchPath) - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - mydll - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;FireDACMSSQLDriver;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;LockBoxDR;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;bindcomp;DBXInformixDriver;IndyIPClient;dbxcds;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - - - .\bin - (None) - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;frxe23;vclFireDAC;rbRTL1723;emsclientfiredac;DataSnapFireDAC;svnui;tethering;JvGlobus;FireDACADSDriver;JvPluginSystem;HOAsysR;DBXMSSQLDriver;JvMM;rbDAD1723;dclRBDBE1723;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;JvBands;vcldb;bindcompfmx;svn;JvNet;DBXOracleDriver;JvJans;ipstudiowinwordxp;inetdb;JvAppFrm;rbDB1723;rbIBE1723;Intraweb;rbTC1723;VirtualTreesDR;FmxTeeUI;JvDotNetCtrls;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;vclib;rbDBE1723;JvWizards;FireDACDBXDriver;dbexpress;IndyCore;UIBD21Win32R;vclx;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;rbCIDE1723;bdertl;JvDB;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;frxTee23;JclDeveloperTools;vclie;CPortLibDXE;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;JvCmp;JvHMI;rbRAP1723;rbFireDAC1723;FireDACCommonDriver;DataSnapClient;LockBoxDR;rbTCUI1723;inet;bindcompdbx;IndyIPCommon;JvCustom;vcl;DBXSybaseASEDriver;IndyIPServer;JvXPCtrls;IndySystem;FireDACDb2Driver;rbRest1723;dsnapcon;TSG5201;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;Jcl;JvCore;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;rbADO1723;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;ibxpress;Tee;JvManagedThreads;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DTKANPRPackage;DBXSybaseASADriver;JvTimeFramework;CustomIPTransport;vcldsnap;CodeSiteExpressPkg;JvSystem;SampleListViewMultiDetailAppearancePackage;JvStdCtrls;rbIDE1723;rbBDE1723;bindcomp;appanalytics;ipstudiowin;DBXInformixDriver;officeXPrt;rbUSERDesign1723;IndyIPClient;rbDIDE1723;AsyncProDR;bindcompvcl;frxDB23;vcldbx;TeeUI;dclRBADO1723;vclribbon;dbxcds;VclSmp;JvPascalInterpreter;adortl;FireDACODBCDriver;JvDocking;KernowSoftwareFMX;JclVcl;DataSnapIndy10ServerTransport;dclRBFireDAC1723;dclRBE1723;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;frx23;JvControls;JvPrintPreview;JclContainers;rbRCL1723;PowerPDFDR;rbRIDE1723;fmxase;$(DCC_UsePackage) - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - - - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;Intraweb;VirtualTreesDR;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;LockBoxDR;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;ipstudiowin;DBXInformixDriver;officeXPrt;IndyIPClient;AsyncProDR;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;PowerPDFDR;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - 3 - true - true - D:\DEV\LoggerPro\samples\60_logging_inside_dll\Win32\Debug\MainProgram.exe - 1033 - None - true - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Application - - - - mydll.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - mydll.rsm - true - - - - - true - - - - - true - - - - - true - - - - - mydll.dll - true - - - - - true - - - - - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - False - False - True - False - - - 12 - - - - - diff --git a/lib/loggerpro/samples/70_isapi_sample/WebModuleU.dfm b/lib/loggerpro/samples/70_isapi_sample/WebModuleU.dfm deleted file mode 100644 index 2588c22b..00000000 --- a/lib/loggerpro/samples/70_isapi_sample/WebModuleU.dfm +++ /dev/null @@ -1,12 +0,0 @@ -object WebModule1: TWebModule1 - OldCreateOrder = False - Actions = < - item - Default = True - Name = 'DefaultHandler' - PathInfo = '/' - OnAction = WebModule1DefaultHandlerAction - end> - Height = 230 - Width = 415 -end diff --git a/lib/loggerpro/samples/70_isapi_sample/WebModuleU.pas b/lib/loggerpro/samples/70_isapi_sample/WebModuleU.pas deleted file mode 100644 index a314f81c..00000000 --- a/lib/loggerpro/samples/70_isapi_sample/WebModuleU.pas +++ /dev/null @@ -1,36 +0,0 @@ -unit WebModuleU; - -interface - -uses System.SysUtils, System.Classes, Web.HTTPApp; - -type - TWebModule1 = class(TWebModule) - procedure WebModule1DefaultHandlerAction(Sender: TObject; - Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); - private - { Private declarations } - public - { Public declarations } - end; - -var - WebModuleClass: TComponentClass = TWebModule1; - -implementation - -{%CLASSGROUP 'Vcl.Controls.TControl'} - -{$R *.dfm} - -procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject; - Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); -begin - Response.Content := - '' + - 'ISAPI Web Server Application' + - 'Web Server Application' + - ''; -end; - -end. diff --git a/lib/loggerpro/samples/70_isapi_sample/loggerproisapisample.dpr b/lib/loggerpro/samples/70_isapi_sample/loggerproisapisample.dpr deleted file mode 100644 index ac205526..00000000 --- a/lib/loggerpro/samples/70_isapi_sample/loggerproisapisample.dpr +++ /dev/null @@ -1,32 +0,0 @@ -library loggerproisapisample; - -uses - LoggerPro.GlobalLogger, - Winapi.ActiveX, - System.Win.ComObj, - Web.WebBroker, - Web.Win.ISAPIApp, - Web.Win.ISAPIThreadPool, - Winapi.Windows, - WebModuleU in 'WebModuleU.pas' {WebModule1: TWebModule}; - -{$R *.res} - -function TerminateExtension(dwFlags: DWORD): BOOL; stdcall; -begin - ReleaseGlobalLogger; - Result := Web.Win.ISAPIThreadPool.TerminateExtension(dwFlags); -end; - -exports - GetExtensionVersion, - HttpExtensionProc, - TerminateExtension; - -begin - CoInitFlags := COINIT_MULTITHREADED; - Application.Initialize; - Application.WebModuleClass := WebModuleClass; - Application.Run; - -end. diff --git a/lib/loggerpro/samples/70_isapi_sample/loggerproisapisample.dproj b/lib/loggerpro/samples/70_isapi_sample/loggerproisapisample.dproj deleted file mode 100644 index d6157abe..00000000 --- a/lib/loggerpro/samples/70_isapi_sample/loggerproisapisample.dproj +++ /dev/null @@ -1,470 +0,0 @@ - - - {84CCC543-73C4-4C97-88C1-F7E943E6E7BF} - 18.1 - VCL - loggerproisapisample.dpr - True - Debug - Win32 - 1 - Library - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - loggerproisapisample - $(BDS)\bin\delphi_PROJECTICNS.icns - true - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - 1033 - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;frxe23;vclFireDAC;rbRTL1723;emsclientfiredac;DataSnapFireDAC;svnui;tethering;JvGlobus;FireDACADSDriver;JvPluginSystem;HOAsysR;DBXMSSQLDriver;JvMM;rbDAD1723;dclRBDBE1723;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;JvBands;vcldb;bindcompfmx;svn;JvNet;DBXOracleDriver;JvJans;ipstudiowinwordxp;inetdb;JvAppFrm;rbDB1723;rbIBE1723;Intraweb;rbTC1723;VirtualTreesDR;FmxTeeUI;JvDotNetCtrls;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;vclib;rbDBE1723;JvWizards;FireDACDBXDriver;dbexpress;IndyCore;UIBD21Win32R;vclx;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;rbCIDE1723;bdertl;JvDB;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;frxTee23;JclDeveloperTools;vclie;CPortLibDXE;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;JvCmp;JvHMI;rbRAP1723;rbFireDAC1723;FireDACCommonDriver;DataSnapClient;LockBoxDR;rbTCUI1723;inet;bindcompdbx;IndyIPCommon;JvCustom;vcl;DBXSybaseASEDriver;IndyIPServer;JvXPCtrls;IndySystem;FireDACDb2Driver;rbRest1723;dsnapcon;TSG5201;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;Jcl;JvCore;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;rbADO1723;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;ibxpress;Tee;JvManagedThreads;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DTKANPRPackage;DBXSybaseASADriver;JvTimeFramework;CustomIPTransport;vcldsnap;CodeSiteExpressPkg;JvSystem;SampleListViewMultiDetailAppearancePackage;JvStdCtrls;rbIDE1723;rbBDE1723;bindcomp;appanalytics;ipstudiowin;DBXInformixDriver;officeXPrt;rbUSERDesign1723;IndyIPClient;rbDIDE1723;AsyncProDR;bindcompvcl;frxDB23;vcldbx;TeeUI;dclRBADO1723;vclribbon;dbxcds;VclSmp;JvPascalInterpreter;adortl;FireDACODBCDriver;JvDocking;KernowSoftwareFMX;JclVcl;DataSnapIndy10ServerTransport;dclRBFireDAC1723;dclRBE1723;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;frx23;JvControls;JvPrintPreview;JclContainers;rbRCL1723;PowerPDFDR;rbRIDE1723;fmxase;$(DCC_UsePackage) - true - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - - - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;Intraweb;VirtualTreesDR;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;LockBoxDR;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;ipstudiowin;DBXInformixDriver;officeXPrt;IndyIPClient;AsyncProDR;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;PowerPDFDR;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - 1033 - ..\..\;$(DCC_UnitSearchPath) - None - true - false - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - -
WebModule1
- TWebModule -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Library - - - - loggerproisapisample.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - loggerproisapisample.dll - true - - - - - - Contents\Resources - 1 - - - - - classes - 1 - - - - - Contents\MacOS - 0 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - library\lib\mips - 1 - - - - - 0 - - - 1 - - - 1 - - - 1 - - - library\lib\armeabi-v7a - 1 - - - 1 - - - - - 0 - - - 1 - .framework - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - library\lib\x86 - 1 - - - - - 1 - - - 1 - - - 1 - - - - - - library\lib\armeabi - 1 - - - - - 0 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-large - 1 - - - - - 1 - - - 1 - - - 1 - - - - - - res\drawable-hdpi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - - - 1 - - - 1 - - - 1 - - - - - res\values - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - res\drawable - 1 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 0 - .bpl - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-xlarge - 1 - - - - - res\drawable-ldpi - 1 - - - - - 0 - .dll;.bpl - - - 1 - .dylib - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/LoggerProConfig.pas b/lib/loggerpro/samples/90_remote_logging_with_redis/LoggerProConfig.pas deleted file mode 100644 index 09d69378..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/LoggerProConfig.pas +++ /dev/null @@ -1,47 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.RedisAppender, Redis.Client, WinApi.Windows; - -var - _Log: ILogWriter; - _Events: TLoggerProEventsHandler; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -initialization - -_Events := TLoggerProEventsHandler.Create; -_Events.OnAppenderError := procedure( - const AppenderClassName: string; - const aFailedLogItem: TLogItem; - const Reason: TLogErrorReason; - var Action: TLogErrorAction) - begin - Action := TLogErrorAction.SkipNewest; - WinApi.Windows.Beep(800, 500); - end; - -DefaultLoggerProAppenderQueueSize := 10; -_Log := BuildLogWriter([ - TLoggerProRedisAppender.Create(TRedisClient.Create('127.0.0.1', 6379)) - ], _Events); - -finalization - -_Log := nil; -_Events.Free; - -end. diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/ProjectGroup.groupproj b/lib/loggerpro/samples/90_remote_logging_with_redis/ProjectGroup.groupproj deleted file mode 100644 index 7b5b7bfd..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/ProjectGroup.groupproj +++ /dev/null @@ -1,48 +0,0 @@ - - - {1ADC8EA7-9CB7-4B06-9321-E5463936369D} - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/RedisAppenderFormU.dfm b/lib/loggerpro/samples/90_remote_logging_with_redis/RedisAppenderFormU.dfm deleted file mode 100644 index 16b444a6..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/RedisAppenderFormU.dfm +++ /dev/null @@ -1,63 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'LoggerPro SAMPLE' - ClientHeight = 142 - ClientWidth = 584 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - Visible = True - OnCreate = FormCreate - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 137 - Height = 57 - Caption = 'DEBUG' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 151 - Top = 8 - Width = 137 - Height = 57 - Caption = 'INFO' - TabOrder = 1 - OnClick = Button2Click - end - object Button3: TButton - Left = 294 - Top = 8 - Width = 137 - Height = 57 - Caption = 'WARNING' - TabOrder = 2 - OnClick = Button3Click - end - object Button4: TButton - Left = 437 - Top = 8 - Width = 137 - Height = 57 - Caption = 'ERROR' - TabOrder = 3 - OnClick = Button4Click - end - object Button5: TButton - Left = 8 - Top = 71 - Width = 280 - Height = 57 - Caption = 'Multithread logging' - TabOrder = 4 - OnClick = Button5Click - end -end diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/RedisAppenderFormU.pas b/lib/loggerpro/samples/90_remote_logging_with_redis/RedisAppenderFormU.pas deleted file mode 100644 index c7c5b0ad..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/RedisAppenderFormU.pas +++ /dev/null @@ -1,113 +0,0 @@ -unit RedisAppenderFormU; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, - System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, LoggerPro, Vcl.ExtCtrls; - -type - TMainForm = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - Button4: TButton; - Button5: TButton; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button4Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - procedure FormCreate(Sender: TObject); - private - fContext: string; - { Private declarations } - public - - end; - -var - MainForm: TMainForm; - -implementation - -{$R *.dfm} - - -uses LoggerProConfig; - -procedure TMainForm.Button1Click(Sender: TObject); -begin - Log.DebugFmt('This is a debug message with TAG1 (%s)', [fContext], 'TAG1'); -end; - -procedure TMainForm.Button2Click(Sender: TObject); -begin - Log.InfoFmt('This is a info message with TAG1 (%s)', [fContext], 'TAG1'); -end; - -procedure TMainForm.Button3Click(Sender: TObject); -begin - Log.WarnFmt('This is a warning message with TAG1 (%s)', [fContext], 'TAG1'); -end; - -procedure TMainForm.Button4Click(Sender: TObject); -begin - Log.ErrorFmt('This is a error message with TAG1 (%s)', [fContext], 'TAG1'); -end; - -procedure TMainForm.Button5Click(Sender: TObject); -var - lThreadProc: TProc; -begin - lThreadProc := procedure - var - I: Integer; - lThreadID: string; - begin - lThreadID := IntToStr(TThread.Current.ThreadID); - for I := 1 to 100 do - begin - Log.Debug('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Info('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Warn('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Error('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - end; - end; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; -end; - -function GetUserFromWindows: string; -var - iLen: Cardinal; -begin - iLen := 256; - Result := StringOfChar(#0, iLen); - GetUserName(PChar(Result), iLen); - SetLength(Result, iLen-1); -end; - -function GetComputerNameFromWindows: string; -var - iLen: Cardinal; -begin - iLen := MAX_COMPUTERNAME_LENGTH + 1; - Result := StringOfChar(#0, iLen); - GetComputerName(PChar(Result), iLen); - SetLength(Result, iLen); -end; - -procedure TMainForm.FormCreate(Sender: TObject); -begin - fContext := GetUserFromWindows + '@' + GetComputerNameFromWindows; -end; - -end. diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/RemoteRedisAppenderSample.dpr b/lib/loggerpro/samples/90_remote_logging_with_redis/RemoteRedisAppenderSample.dpr deleted file mode 100644 index be4a3f8d..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/RemoteRedisAppenderSample.dpr +++ /dev/null @@ -1,16 +0,0 @@ -program RemoteRedisAppenderSample; - -uses - Vcl.Forms, - RedisAppenderFormU in 'RedisAppenderFormU.pas' {MainForm}, - LoggerPro.RedisAppender in '..\..\LoggerPro.RedisAppender.pas', - LoggerProConfig in 'LoggerProConfig.pas'; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/RemoteRedisAppenderSample.dproj b/lib/loggerpro/samples/90_remote_logging_with_redis/RemoteRedisAppenderSample.dproj deleted file mode 100644 index 6f74edc7..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/RemoteRedisAppenderSample.dproj +++ /dev/null @@ -1,572 +0,0 @@ - - - {3EC88B82-7B27-4D69-8E7E-632D33F11C42} - 18.2 - VCL - RemoteRedisAppenderSample.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - RemoteRedisAppenderSample - $(BDS)\bin\delphi_PROJECTICON.ico - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - ..\..\;$(DCC_UnitSearchPath) - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;frxe23;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;JvPluginSystem;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;dclRBDBE1723;vcltouch;JvBands;vcldb;rbDB1723;svn;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;JvJans;Intraweb;dxSkinOffice2007BlueRS23;rbIBE1723;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;JvDotNetCtrls;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;rbDBE1723;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;rbCIDE1723;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;rbRAP1723;JvHMI;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;dclRBIBE1723;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;Jcl;rbADO1723;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;rbUSER1723;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;JvManagedThreads;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;DTKANPRPackage;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;CodeSiteExpressPkg;dxSkinTheAsphaltWorldRS23;JvSystem;SampleListViewMultiDetailAppearancePackage;dxRichEditControlRS23;JvStdCtrls;JvTimeFramework;ipstudiowin;appanalytics;cxPivotGridRS23;rbUSERDesign1723;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;frxDB23;vcldbx;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;rbDIDE1723;JvPascalInterpreter;JvDocking;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;frx23;dxSpellCheckerRS23;JvControls;dxSkinsdxBarPainterRS23;JvPrintPreview;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;rbRTL1723;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;svnui;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;JvGlobus;HOAsysR;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;JvMM;dxSkinXmas2008BlueRS23;rbDAD1723;DatasnapConnectorsFreePascal;bindcompfmx;JvNet;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;JvAppFrm;ipstudiowinwordxp;rbTC1723;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;DelphiCookbookListViewAppearance;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;JvWizards;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;UIBD21Win32R;JvPageComps;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;bdertl;JvDB;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;frxTee23;dxTileControlRS23;JclDeveloperTools;cxGridRS23;CPortLibDXE;FireDACOracleDriver;DBXMySQLDriver;JvCmp;rbFireDAC1723;DBXFirebirdDriver;FireDACCommonDriver;rbTCUI1723;LockBoxDR;inet;IndyIPCommon;JvCustom;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;JvXPCtrls;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;rbRest1723;TSG5201;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;JvCore;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;JvDlgs;JvRuntimeDesign;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;rbIDE1723;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;rbBDE1723;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;dclRBADO1723;vclribbon;dbxcds;KernowSoftwareFMX;adortl;dclRBFireDAC1723;dclRBE1723;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;JclContainers;dxSkinVisualStudio2013DarkRS23;rbRCL1723;dxSkinscxSchedulerPainterRS23;rbRIDE1723;fmxase;$(DCC_UsePackage) - $(BDS)\bin\default_app.manifest - true - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - - - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;DBXDb2Driver;dxCoreRS23;vclactnband;vclFireDAC;dxPSLnksRS23;dxPSdxLCLnkRS23;tethering;cxDataRS23;dxPSdxOCLnkRS23;dxTabbedMDIRS23;FireDACADSDriver;dxSkinBlackRS23;dxSkinLondonLiquidSkyRS23;dxDBXServerModeRS23;dxHttpIndyRequestRS23;dxPScxGridLnkRS23;cxSchedulerRS23;FireDACMSSQLDriver;vcltouch;vcldb;dxWizardControlRS23;dxSkinMcSkinRS23;dxPScxCommonRS23;Intraweb;dxSkinOffice2007BlueRS23;dxBarRS23;cxSchedulerRibbonStyleEventEditorRS23;dxSkinOffice2013WhiteRS23;dxPSTeeChartRS23;cxLibraryRS23;dxSkinVisualStudio2013LightRS23;vclib;cxPivotGridChartRS23;dxSkinSummer2008RS23;dxPSdxDBOCLnkRS23;dxGDIPlusRS23;dxSkinDarkSideRS23;FireDACDBXDriver;dxSkinFoggyRS23;dxSkinSevenRS23;vclx;dxSkinOffice2010SilverRS23;dxdborRS23;RESTBackendComponents;dxLayoutControlRS23;dxPSPrVwRibbonRS23;VCLRESTComponents;dxSkinDevExpressStyleRS23;dxSkinWhiteprintRS23;vclie;bindengine;CloudService;FireDACMySQLDriver;dxSkinOffice2013DarkGrayRS23;DataSnapClient;dxPScxPCProdRS23;bindcompdbx;DBXSybaseASEDriver;IndyIPServer;dxSkinPumpkinRS23;IndySystem;dsnapcon;cxTreeListdxBarPopupMenuRS23;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;dxSkinLilianRS23;dxBarDBNavRS23;dxFlowChartRS23;dxSkinOffice2016ColorfulRS23;DBXOdbcDriver;FireDACTDataDriver;FMXTee;ipstudiowinclient;soaprtl;DbxCommonDriver;dxSpreadSheetRS23;AsyncProDR;dxSkinOffice2007PinkRS23;dxPSdxSpreadSheetLnkRS23;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinHighContrastRS23;rtl;dxSkinSevenClassicRS23;DbxClientDriver;dxSkinDevExpressDarkStyleRS23;DBXSybaseASADriver;dxNavBarRS23;dxSkinMetropolisDarkRS23;dxSkinTheAsphaltWorldRS23;dxRichEditControlRS23;ipstudiowin;appanalytics;cxPivotGridRS23;dxSkinsdxDLPainterRS23;IndyIPClient;dxRibbonRS23;dxPScxVGridLnkRS23;bindcompvcl;dxSkinOffice2007SilverRS23;dxPScxTLLnkRS23;dxMapControlRS23;TeeUI;VclSmp;dxPScxSchedulerLnkRS23;cxTreeListRS23;FireDACODBCDriver;DataSnapIndy10ServerTransport;dxRibbonCustomizationFormRS23;dxPSRichEditControlLnkRS23;dxBarExtDBItemsRS23;DataSnapProviderClient;FireDACMongoDBDriver;dxSkiniMaginaryRS23;dxSpellCheckerRS23;dxSkinsdxBarPainterRS23;dxSkinCoffeeRS23;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;dxADOServerModeRS23;emsclientfiredac;DataSnapFireDAC;dxmdsRS23;dxSkinLiquidSkyRS23;dxdbtrRS23;dxSkinSpringTimeRS23;dxPSDBTeeChartRS23;dxSkinscxPCPainterRS23;dxPSCoreRS23;DBXMSSQLDriver;dxSkinXmas2008BlueRS23;DatasnapConnectorsFreePascal;bindcompfmx;DBXOracleDriver;dxSkinSilverRS23;dxSkinValentineRS23;inetdb;FmxTeeUI;dxBarExtItemsRS23;FireDACIBDriver;fmx;fmxdae;dxServerModeRS23;dxPsPrVwAdvRS23;dxSkinOffice2010BlackRS23;cxPageControlRS23;dxSkinStardustRS23;cxSchedulerGridRS23;dbexpress;IndyCore;dxSkinSharpPlusRS23;dsnap;DataSnapCommon;emsclient;FireDACCommon;dxSkinOffice2010BlueRS23;dxSkinVS2010RS23;dxSkinMetropolisRS23;DataSnapConnectors;cxVerticalGridRS23;soapserver;dxSkinCaramelRS23;dxTileControlRS23;cxGridRS23;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;LockBoxDR;inet;IndyIPCommon;dxSkinDarkRoomRS23;dxDockingRS23;vcl;dxSkinOffice2007GreenRS23;dxPScxExtCommonRS23;dxSkinsCoreRS23;FireDACDb2Driver;dxThemeRS23;dxSkinsdxRibbonPainterRS23;dxSkinVisualStudio2013BlueRS23;dxSkinMoneyTwinsRS23;dxPSdxFCLnkRS23;dxtrmdRS23;TeeDB;FireDAC;cxSchedulerTreeBrowserRS23;dxFireDACServerModeRS23;dxSkinBlueRS23;OverbyteIcsD10SRun;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS23;dxSkinGlassOceansRS23;dxSkinsdxNavBarPainterRS23;dxGaugeControlRS23;ibxpress;Tee;dxSkinSharpRS23;DataSnapServer;ibxbindings;cxPivotGridOLAPRS23;vclwinx;FireDACDSDriver;dxSkinBlueprintRS23;dxSkinOffice2007BlackRS23;CustomIPTransport;vcldsnap;dxSkinOffice2013LightGrayRS23;bindcomp;DBXInformixDriver;officeXPrt;dxPSdxGaugeControlLnkRS23;dxPScxPivotGridLnkRS23;dxorgcRS23;dxPSdxDBTVLnkRS23;vclribbon;dbxcds;adortl;dxComnRS23;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;cxExportRS23;dxSkinOffice2016DarkRS23;dxSkinVisualStudio2013DarkRS23;dxSkinscxSchedulerPainterRS23;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - 1033 - true - true - true - false - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - true - - - - MainSource - - -
MainForm
- dfm -
- - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - RemoteRedisAppenderSample.dpr - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - RemoteRedisAppenderSample.exe - true - - - - - 0 - .dll;.bpl - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - - - Contents\Resources - 1 - - - - - classes - 1 - - - - - Contents\MacOS - 0 - - - 1 - - - Contents\MacOS - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - library\lib\mips - 1 - - - - - 1 - - - 1 - - - 0 - - - 1 - - - Contents\MacOS - 1 - - - library\lib\armeabi-v7a - 1 - - - 1 - - - - - 0 - - - Contents\MacOS - 1 - .framework - - - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi - 1 - - - - - 0 - - - 1 - - - Contents\MacOS - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-large - 1 - - - - - 1 - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - res\drawable-hdpi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - Contents - 1 - - - - - ..\ - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\values - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - res\drawable - 1 - - - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - 0 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 0 - .bpl - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-xlarge - 1 - - - - - res\drawable-ldpi - 1 - - - - - 1 - - - 1 - - - - - - - - - - - - - True - False - - - 12 - - - - -
diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/MainFormU.dfm b/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/MainFormU.dfm deleted file mode 100644 index d2aa3ed6..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/MainFormU.dfm +++ /dev/null @@ -1,789 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'Redis Logs Viewer' - ClientHeight = 540 - ClientWidth = 895 - Color = clBtnFace - Constraints.MinHeight = 400 - Constraints.MinWidth = 680 - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object Splitter1: TSplitter - Left = 138 - Top = 45 - Height = 476 - ExplicitLeft = 186 - ExplicitTop = 91 - ExplicitHeight = 430 - end - object StatusBar1: TStatusBar - Left = 0 - Top = 521 - Width = 895 - Height = 19 - Panels = < - item - Width = 300 - end - item - Width = 200 - end - item - Width = 50 - end> - end - object ToolBar1: TToolBar - AlignWithMargins = True - Left = 3 - Top = 3 - Width = 889 - Height = 39 - ButtonHeight = 38 - ButtonWidth = 122 - Caption = 'ToolBar1' - Images = ImageList1 - List = True - ShowCaptions = True - TabOrder = 1 - object ToolButton1: TToolButton - Left = 0 - Top = 0 - Action = actRefresh - end - object ToolButton4: TToolButton - Left = 122 - Top = 0 - Action = actFollowTail - end - object ToolButton6: TToolButton - Left = 244 - Top = 0 - Width = 8 - Caption = 'ToolButton6' - ImageIndex = 2 - Style = tbsSeparator - end - object ToolButton5: TToolButton - Left = 252 - Top = 0 - Caption = '&Refresh Interval' - DropdownMenu = ppmRefreshInterval - ImageIndex = 2 - end - object ToolButton2: TToolButton - Left = 374 - Top = 0 - Width = 8 - Caption = 'ToolButton2' - ImageIndex = 1 - Style = tbsSeparator - end - object ToolButton3: TToolButton - Left = 382 - Top = 0 - Action = actClearLogs - end - end - object Panel2: TPanel - Left = 0 - Top = 45 - Width = 138 - Height = 476 - Align = alLeft - BevelOuter = bvNone - Constraints.MinWidth = 138 - TabOrder = 2 - object GroupBox1: TGroupBox - AlignWithMargins = True - Left = 3 - Top = 3 - Width = 132 - Height = 155 - Align = alTop - Caption = 'Redis Server' - TabOrder = 0 - object Label1: TLabel - Left = 6 - Top = 21 - Width = 48 - Height = 13 - Caption = 'Hostname' - end - object Label2: TLabel - Left = 6 - Top = 69 - Width = 20 - Height = 13 - Caption = 'Port' - end - object EditRedisHostname: TEdit - Left = 6 - Top = 40 - Width = 120 - Height = 21 - TabOrder = 0 - Text = '127.0.0.1' - end - object EditRedisPort: TEdit - Left = 6 - Top = 88 - Width = 120 - Height = 21 - NumbersOnly = True - TabOrder = 1 - Text = '6379' - end - object btnApply: TButton - Left = 6 - Top = 121 - Width = 120 - Height = 25 - Caption = 'Connect' - TabOrder = 2 - OnClick = btnApplyClick - end - end - end - object Panel3: TPanel - Left = 141 - Top = 45 - Width = 754 - Height = 476 - Align = alClient - BevelOuter = bvNone - TabOrder = 3 - object lstLogs: TListBox - AlignWithMargins = True - Left = 3 - Top = 3 - Width = 748 - Height = 470 - Style = lbOwnerDrawFixed - Align = alClient - DoubleBuffered = True - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Consolas' - Font.Style = [] - ItemHeight = 19 - ParentDoubleBuffered = False - ParentFont = False - TabOrder = 0 - OnDrawItem = lstLogsDrawItem - end - end - object Timer1: TTimer - Enabled = False - Interval = 2000 - OnTimer = Timer1Timer - Left = 40 - Top = 432 - end - object ActionList1: TActionList - Images = ImageList1 - OnUpdate = ActionList1Update - Left = 440 - Top = 272 - object actRefresh: TAction - Caption = '&Refresh' - ImageIndex = 0 - SecondaryShortCuts.Strings = ( - 'CTRL+R') - ShortCut = 116 - OnExecute = actRefreshExecute - end - object actClearLogs: TAction - Caption = '&Clear Logs' - ImageIndex = 1 - OnExecute = actClearLogsExecute - end - object actFollowTail: TAction - Caption = '&Follow Tail' - GroupIndex = 1 - ImageIndex = 2 - OnExecute = actFollowTailExecute - end - end - object ImageList1: TImageList - DrawingStyle = dsTransparent - Height = 32 - Width = 32 - Left = 512 - Top = 272 - Bitmap = { - 494C010103000800240020002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000800000002000000001002000000000000040 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000E4EEFF1BCCE0FF33BAD5FF45CCE0FF33D9E8FF26000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000080DEB87F02BE70FF01BD6FFF01BC6FFF00BB6EFF00BA6DFF00B96CFF00B8 - 6BFF00B76AFF00B669FF00B568FF00B467FF00B367FF00B266FF00B265FF00B1 - 65FF00B064FF00B063FF00AF63FF00AE62FF00AE62FF00AE62FF00AE62FF80D6 - B07F000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000C3DBFF3C6CA6 - FF931B76FFE40066FFFF0066FFFF0066FFFF0066FFFF0468FFFB1C76FFE367A3 - FF98BAD5FF450000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000006E85EC990E35E0FF6E85EC9900000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000006E85EC990E35E0FF6E85EC99000000000000 - 00000000000000000000000000000000000000000000000000000000000004C0 - 73FF03BF72FF02BE71FF02BE70FF01BD6FFF01BC6FFF00BB6EFF00BA6DFF00B9 - 6CFF00B86BFF00B76AFF00B669FF00B568FF00B467FF00B367FF00B266FF00B2 - 65FF00B165FF00B064FF00B063FF00AF63FF00AE62FF00AE62FF00AE62FF00AE - 62FF00AE62FF0000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D5E6FF2A4B94FFB40068FFFF0068 - FFFF0068FFFF0068FFFF0068FFFF0068FFFF0068FFFF056AFFFA1071FFEF1D79 - FFE22B81FFD45D9FFFA2CDE1FF32000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000E35E0FF0E35E0FF0E35E0FF0E35E0FF193EE1F3000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000E35E0FF0E35E0FF0E35E0FF0E35E0FF0E35E0FF0000 - 000000000000000000000000000000000000000000000000000083E0BA7F06C1 - 74FF04C073FF03BF72FF02BE71FF02BE70FF01BD6FFF01BC6FFF00BB6EFF00BA - 6DFF00B96CFF00B86BFF00B76AFF00B669FF00B568FF00B467FF00B367FF00B2 - 66FF00B265FF00B165FF00B064FF00B063FF00AF63FF00AE62FF00AE62FF00AE - 62FF00AE62FF80D6B07F00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000A2C8FF5D096FFFF6006AFFFF006AFFFF006A - FFFF006AFFFF006AFFFF006AFFFF006AFFFF006AFFFF076EFFF81375FFEC217D - FFDE3186FFCE408FFFBF4D96FFB2A8CCFF570000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000F36E1FF0F36E1FF0F36E1FF0F36E1FF0F36E1FF0F36E1FF0F36E1FF0000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000F36E1FF0F36E1FF0F36E1FF0F36E1FF0F36E1FF0F36E1FF0F36 - E1FF00000000000000000000000000000000000000000000000008C376FF07C2 - 75FF06C174FF04C073FF03BF72FF02BE71FF02BE70FF01BD6FFF01BC6FFF00BB - 6EFF00BA6DFF00B96CFF00B86BFF00B76AFF00B669FF00B568FF00B467FF00B3 - 67FF00B266FF00B265FF00B165FF00B064FF00B063FF00AF63FF00AE62FF00AE - 62FF00AE62FF00AE62FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000084B8FF7B006CFFFF006CFFFF006CFFFF006CFFFF006C - FFFF006CFFFF006CFFFF006CFFFF006CFFFF006CFFFF0870FFF71879FFE72883 - FFD73A8DFFC54A96FFB5599FFFA667A7FF98A1C8FF5EFDFDFF02000000000000 - 0000000000000000000000000000000000000000000000000000000000006F87 - ED990F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37 - E1FF000000000000000000000000000000000000000000000000000000000000 - 00000F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37E1FF0F37 - E1FF6F87ED9900000000000000000000000000000000000000000AC377FF08C3 - 76FF07C275FF06C174FF04C073FF03BF72FF02BE71FF02BE70FF01BD6FFF01BC - 6FFF00BB6EFF00BA6DFF00B96CFF00B86BFF00B76AFF00B669FF00B568FF00B4 - 67FF00B367FF00B266FF00B265FF00B165FF00B064FF00B063FF00AF63FF00AE - 62FF00AE62FF00AE62FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000A5CBFF5A006EFFFF006EFFFF006EFFFF006EFFFF006EFFFF006E - FFFF006EFFFF006EFFFF006EFFFF006EFFFF006EFFFF0A73FFF51D7EFFE23189 - FFCE4494FFBB579FFFA867A8FF9874AFFF8B81B7FF7EC0DBFF3F000000000000 - 0000000000000000000000000000000000000000000000000000000000001038 - E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038 - E2FF1038E2FF0000000000000000000000000000000000000000000000001038 - E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038E2FF1038 - E2FF1038E2FF00000000000000000000000000000000000000000CC477FF0AC3 - 77FF08C376FF07C275FF06C174FF04C073FF03BF72FF02BE71FF02BE70FF01BD - 6FFF01BC6FFF00BB6EFF00BA6DFF00B96CFF00B86BFF00B76AFF00B669FF00B5 - 68FF00B467FF00B367FF00B266FF00B265FF00B165FF00B064FF00B063FF00AF - 63FF00AE62FF00AE62FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000DBEAFF240976FFF60071FFFF0071FFFF0071FFFF0071FFFF0071FFFF0071 - FFFF0071FFFF0071FFFF0071FFFF0071FFFF0071FFFF0E78FFF12485FFDB3D92 - FFC2549FFFAB67AAFF9877B3FF8885BBFF7A90C1FF6F9AC6FF65E2EEFF1D0000 - 0000000000000000000000000000000000000000000000000000000000006F88 - EE991039E3FF1039E3FF1039E3FF1039E3FF1039E3FF1039E3FF1039E3FF1039 - E3FF1039E3FF1039E3FF000000000000000000000000000000001039E3FF1039 - E3FF1039E3FF1039E3FF1039E3FF1039E3FF1039E3FF1039E3FF1039E3FF1039 - E3FF6F88EE9900000000000000000000000000000000000000000FC578FF0CC4 - 77FF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF72FF02BE71FF02BE - 70FF01BD6FFF01BC6FFF00BB6EFF00BA6DFF00B96CFF00B86BFF00B76AFF00B6 - 69FF00B568FF00B467FF00B367FF00B266FF00B265FF00B165FF00B064FF00B0 - 63FF00AF63FF00AE62FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000057A2FFA80073FFFF0073FFFF0073FFFF0073FFFF0073FFFF0073FFFF0073 - FFFF0073FFFF0073FFFF0073FFFF0073FFFF0073FFFF137DFFEC318DFFCE4D9D - FFB267ABFF987BB6FF848BBFFF7497C5FF68A1CBFF5EA8CFFF57BBD9FF44FEFE - FF01000000000000000000000000000000000000000000000000000000000000 - 0000113BE3FF113BE3FF113BE3FF113BE3FF113BE3FF113BE3FF113BE3FF113B - E3FF113BE3FF113BE3FF113BE3FF0000000000000000113BE3FF113BE3FF113B - E3FF113BE3FF113BE3FF113BE3FF113BE3FF113BE3FF113BE3FF113BE3FF113B - E3FF00000000000000000000000000000000000000000000000011C779FF0FC5 - 78FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF72FF02BE - 71FF02BE70FF01BD6FFF01BC6FFF00BB6EFF00BA6DFF00B96CFF00B86BFF00B7 - 6AFF00B669FF00B568FF00B467FF00B367FF00B266FF00B265FF00B165FF00B0 - 64FF00B063FF00AF63FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000000000CCE3 - FF330076FFFF0076FFFF0076FFFF0076FFFF0076FFFF0076FFFF0076FFFF0076 - FFFF0076FFFF127FFFED489CFFB769AEFF9654A3FFAB3894FFC7459BFFBA67AD - FF9881BBFF7E93C4FF6CA1CCFF5EABD1FF54B3D6FF4CB9D9FF46BEDCFF41E8F2 - FF17000000000000000000000000000000000000000000000000000000000000 - 000000000000113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF113C - E4FF113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF113C - E4FF113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF113CE4FF0000 - 000000000000000000000000000000000000000000000000000013C77AFF11C7 - 79FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF - 72FF02BE71FF02BE70FF01BD6FFFD8FFEFFFD8FFEFFF00BA6DFF00B96CFF00B8 - 6BFF00B76AFF00B669FF00B568FF00B467FF00B367FF00B266FF00B265FF00B1 - 65FF00B064FF00B063FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006CB1 - FF930079FFFF0079FFFF0079FFFF0079FFFF0079FFFF0079FFFF0079FFFF0079 - FFFF54A5FFABEAF3FF15000000000000000000000000FAFCFF05B0D5FF4F8CC2 - FF73A1CDFF5EAFD4FF50B9DAFF46C0DDFF3FC6E1FF39CAE3FF35CEE5FF31DBEC - FF24000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000123EE5FF123EE5FF123EE5FF123EE5FF123EE5FF123E - E5FF123EE5FF123EE5FF123EE5FF123EE5FF123EE5FF123EE5FF123EE5FF123E - E5FF123EE5FF123EE5FF123EE5FF123EE5FF123EE5FF123EE5FF000000000000 - 000000000000000000000000000000000000000000000000000016C87BFF13C7 - 7AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C0 - 73FF03BF72FF02BE71FFDCFFF0FFDCFFF0FFDCFFF0FFDCFFF0FF00BA6DFF00B9 - 6CFF00B86BFF00B76AFF00B669FF00B568FF00B467FF00B367FF00B266FF00B2 - 65FF00B165FF00B064FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000000000248E - FFDB007CFFFF007CFFFF007CFFFF007CFFFF007CFFFF007CFFFF007CFFFF4EA4 - FFB100000000000000000000000000000000000000000000000000000000DDED - FF22C6E1FF39CDE5FF32D2E7FF2DD5E9FF2AD8EAFF27DAEBFF25DBECFF24DCED - FF23FDFDFF020000000000000000000000000000000000000000000000000000 - 00000000000000000000000000001340E6FF1340E6FF1340E6FF1340E6FF1340 - E6FF1340E6FF1340E6FF1340E6FF1340E6FF1340E6FF1340E6FF1340E6FF1340 - E6FF1340E6FF1340E6FF1340E6FF1340E6FF1340E6FF00000000000000000000 - 000000000000000000000000000000000000000000000000000019C97CFF16C8 - 7BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C1 - 74FF04C073FFDFFFF2FFDFFFF2FFDFFFF2FFDFFFF2FFDFFFF2FFDFFFF2FF00BA - 6DFF00B96CFF00B86BFF00B76AFF00B669FF00B568FF00B467FF00B367FF00B2 - 66FF00B265FF00B165FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000F3F8FF0C007F - FFFF007FFFFF007FFFFF007FFFFF007FFFFF007FFFFF007FFFFF0983FFF6E7F2 - FF18000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000F1F7FF0EF2F8FF0DF1F7FF0EF1F7FF0EF2F8 - FF0DFCFDFF030000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000001342E7FF1342E7FF1342E7FF1342 - E7FF1342E7FF1342E7FF1342E7FF1342E7FF1342E7FF1342E7FF1342E7FF1342 - E7FF1342E7FF1342E7FF1342E7FF1342E7FF0000000000000000000000000000 - 00000000000000000000000000000000000000000000000000001CC97DFF19C9 - 7CFF16C87BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C2 - 75FFE4FFF4FFE4FFF4FFE4FFF4FFE4FFF4FFE4FFF4FFE4FFF4FFE4FFF4FFE4FF - F4FF00BA6DFF00B96CFF00B86BFF00B76AFF00B669FF00B568FF00B467FF00B3 - 67FF00B266FF00B265FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000D5EAFF2A0081 - FFFF0081FFFF0081FFFF0081FFFF0081FFFF0081FFFF0081FFFF48A4FFB70000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000001443E8FF1443E8FF1443 - E8FF1443E8FF1443E8FF1443E8FF1443E8FF1443E8FF1443E8FF1443E8FF1443 - E8FF1443E8FF1443E8FF1443E8FF000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000020CA7EFF1CC9 - 7DFF19C97CFF16C87BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FFE8FF - F6FFE8FFF6FFE8FFF6FFE8FFF6FFE8FFF6FFE8FFF6FFE8FFF6FFE8FFF6FFE8FF - F6FFE8FFF6FF00BA6DFF00B96CFF00B86BFF00B76AFF00B669FF00B568FF00B4 - 67FF00B367FF00B266FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000C9E4FF360084 - FFFF0084FFFF0084FFFF0084FFFF0084FFFF0084FFFF0084FFFF63B3FF9C0000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000001445E9FF1445 - E9FF1445E9FF1445E9FF1445E9FF1445E9FF1445E9FF1445E9FF1445E9FF1445 - E9FF1445E9FF1445E9FF00000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000023CB7FFF20CA - 7EFF1CC97DFF19C97CFF16C87BFF13C77AFF11C779FF0FC578FFEDFFF7FFEDFF - F7FFEDFFF7FFEDFFF7FFEDFFF7FF04C073FF03BF72FFEDFFF7FFEDFFF7FFEDFF - F7FFEDFFF7FFEDFFF7FF00BA6DFF00B96CFF00B86BFF00B76AFF00B669FF00B5 - 68FF00B467FF00B367FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000D5EBFF2A0087 - FFFF0087FFFF0087FFFF0087FFFF0087FFFF0087FFFF0087FFFF48A8FFB70000 - 0000000000000000000000000000000000004DABFFB20087FFFF0087FFFF0087 - FFFF0087FFFF0087FFFF0087FFFF0087FFFF0087FFFF0087FFFF0087FFFF4DAB - FFB2000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000001547EAFF1547 - EAFF1547EAFF1547EAFF1547EAFF1547EAFF1547EAFF1547EAFF1547EAFF1547 - EAFF1547EAFF1547EAFF00000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000027CB80FF23CB - 7FFF20CA7EFF1CC97DFF19C97CFF16C87BFF13C77AFFF1FFF9FFF1FFF9FFF1FF - F9FFF1FFF9FFF1FFF9FF07C275FF06C174FF04C073FF03BF72FFF1FFF9FFF1FF - F9FFF1FFF9FFF1FFF9FFF1FFF9FF00BA6DFF00B96CFF00B86BFF00B76AFF00B6 - 69FF00B568FF00B467FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000F3F9FF0C008A - FFFF008AFFFF008AFFFF008AFFFF008AFFFF008AFFFF008AFFFF098EFFF6E7F3 - FF180000000000000000000000000000000000000000008AFFFF008AFFFF008A - FFFF008AFFFF008AFFFF008AFFFF008AFFFF008AFFFF008AFFFF008AFFFF008A - FFFF000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000001649EBFF1649EBFF1649 - EBFF1649EBFF1649EBFF1649EBFF1649EBFF1649EBFF1649EBFF1649EBFF1649 - EBFF1649EBFF1649EBFF1649EBFF000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000002BCC81FF27CB - 80FF23CB7FFF20CA7EFF1CC97DFF19C97CFFF6FFFBFFF6FFFBFFF6FFFBFFF6FF - FBFFF6FFFBFF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF72FFF6FF - FBFFF6FFFBFFF6FFFBFFF6FFFBFFF6FFFBFF00BA6DFF00B96CFF00B86BFF00B7 - 6AFF00B669FF00B568FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000000000279E - FFD8008DFFFF008DFFFF008DFFFF008DFFFF008DFFFF008DFFFF008DFFFF4BAE - FFB40000000000000000000000000000000000000000000000000C92FFF3008D - FFFF008DFFFF008DFFFF008DFFFF008DFFFF008DFFFF008DFFFF008DFFFF008D - FFFF000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000174CEDFF174CEDFF174CEDFF174C - EDFF174CEDFF174CEDFF174CEDFF174CEDFF174CEDFF174CEDFF174CEDFF174C - EDFF174CEDFF174CEDFF174CEDFF174CEDFF0000000000000000000000000000 - 00000000000000000000000000000000000000000000000000002ECD82FF2BCC - 81FF27CB80FF23CB7FFF20CA7EFFF9FFFDFFF9FFFDFFF9FFFDFFF9FFFDFFF9FF - FDFF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF - 72FFF9FFFDFFF9FFFDFFF9FFFDFFF9FFFDFFF9FFFDFF00BA6DFF00B96CFF00B8 - 6BFF00B76AFF00B669FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000006FC0 - FF900090FFFF0090FFFF0090FFFF0090FFFF0090FFFF0090FFFF0090FFFF0090 - FFFF51B3FFAEEAF5FF15000000000000000000000000F6FBFF0945AEFFBA0090 - FFFF0090FFFF0090FFFF0090FFFF0090FFFF0090FFFF0090FFFF0090FFFF0090 - FFFF000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000184EEEFF184EEEFF184EEEFF184EEEFF184E - EEFF184EEEFF184EEEFF184EEEFF184EEEFF184EEEFF184EEEFF184EEEFF184E - EEFF184EEEFF184EEEFF184EEEFF184EEEFF184EEEFF00000000000000000000 - 000000000000000000000000000000000000000000000000000032CD83FF2ECD - 82FF2BCC81FF27CB80FF23CB7FFFFDFFFEFFFDFFFEFFFDFFFEFFFDFFFEFF13C7 - 7AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C0 - 73FF03BF72FFFDFFFEFFFDFFFEFFFDFFFEFFFDFFFEFF00BB6EFF00BA6DFF00B9 - 6CFF00B86BFF00B76AFF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000000000CFEA - FF300093FFFF0093FFFF0093FFFF0093FFFF0093FFFF0093FFFF0093FFFF0093 - FFFF0093FFFF129AFFED45B0FFBA66BEFF9951B5FFAE1B9EFFE40093FFFF0093 - FFFF0093FFFF0093FFFF0093FFFF0093FFFF0093FFFF0093FFFF0093FFFF0093 - FFFF000000000000000000000000000000000000000000000000000000000000 - 000000000000000000001950EFFF1950EFFF1950EFFF1950EFFF1950EFFF1950 - EFFF1950EFFF1950EFFF1950EFFF1950EFFF1950EFFF1950EFFF1950EFFF1950 - EFFF1950EFFF1950EFFF1950EFFF1950EFFF1950EFFF1950EFFF000000000000 - 000000000000000000000000000000000000000000000000000036CE84FF32CD - 83FF2ECD82FF2BCC81FF27CB80FFA6EACCFFFFFFFFFFFFFFFFFF19C97CFF16C8 - 7BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C1 - 74FF04C073FF03BF72FFFFFFFFFFFFFFFFFF98E5C5FF01BC6FFF00BB6EFF00BA - 6DFF00B96CFF00B86BFF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00005ABAFFA50095FFFF0095FFFF0095FFFF0195FFFE0095FFFF0095FFFF0095 - FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095 - FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095FFFF0095 - FFFF000000000000000000000000000000000000000000000000000000000000 - 0000000000001B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53 - F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53 - F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF1B53F1FF0000 - 00000000000000000000000000000000000000000000000000003ACF85FF36CE - 84FF32CD83FF2ECD82FF2BCC81FF27CB80FF23CB7FFF20CA7EFF1CC97DFF19C9 - 7CFF16C87BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C2 - 75FF06C174FF04C073FF03BF72FF02BE71FF02BE70FF01BD6FFF01BC6FFF00BB - 6EFF00BA6DFF00B96CFF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000DBF0FF24099BFFF60098FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098 - FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098 - FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098FFFF0098 - FFFF000000000000000000000000000000000000000000000000000000000000 - 00001D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58 - F3FF1D58F3FF1D58F3FF1D58F3FF00000000000000001D58F3FF1D58F3FF1D58 - F3FF1D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58F3FF1D58 - F3FF0000000000000000000000000000000000000000000000003DCF86FF3ACF - 85FF36CE84FF32CD83FF2ECD82FF2BCC81FF27CB80FF23CB7FFF20CA7EFF1CC9 - 7DFF19C97CFF16C87BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FF08C3 - 76FF07C275FF06C174FF04C073FF03BF72FF02BE71FF02BE70FF01BD6FFF01BC - 6FFF00BB6EFF00BA6DFF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000ABDDFF54009AFFFF009AFFFF009AFFFF009AFFFF009AFFFF009A - FFFF009AFFFF009AFFFF009AFFFF009AFFFF009AFFFF009AFFFF009AFFFF009A - FFFF009AFFFF009AFFFF009AFFFF009AFFFF009AFFFF009AFFFF009AFFFF009A - FFFF00000000000000000000000000000000000000000000000000000000789D - F9991F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5C - F6FF1F5CF6FF1F5CF6FF000000000000000000000000000000001F5CF6FF1F5C - F6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5CF6FF1F5C - F6FF789DF999000000000000000000000000000000000000000041D087FF3DCF - 86FF3ACF85FF36CE84FF32CD83FF2ECD82FF2BCC81FF27CB80FF23CB7FFF20CA - 7EFF1CC97DFF19C97CFF16C87BFF13C77AFF11C779FF0FC578FF0CC477FF0AC3 - 77FF08C376FF07C275FF06C174FF04C073FF03BF72FF02BE71FF02BE70FF01BD - 6FFF01BC6FFF00BB6EFF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000087D0FF78009CFFFF009CFFFF009CFFFF009CFFFF009C - FFFF009CFFFF009CFFFF009CFFFF009CFFFF009CFFFF009CFFFF009CFFFF009C - FFFF009CFFFF009CFFFF009CFFFF009CFFFF009CFFFF009CFFFF009CFFFF009C - FFFF000000000000000000000000000000000000000000000000000000002061 - F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061 - F8FF2061F8FF0000000000000000000000000000000000000000000000002061 - F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061F8FF2061 - F8FF2061F8FF000000000000000000000000000000000000000044D187FF41D0 - 87FF3DCF86FF3ACF85FF36CE84FF32CD83FF2ECD82FF2BCC81FF27CB80FF23CB - 7FFF20CA7EFF1CC97DFF19C97CFF16C87BFF13C77AFF11C779FF0FC578FF0CC4 - 77FF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF72FF02BE71FF02BE - 70FF01BD6FFF01BC6FFF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000A8DDFF5709A1FFF6009EFFFF009EFFFF009E - FFFF009EFFFF009EFFFF009EFFFF009EFFFF009EFFFF009EFFFF009EFFFF009E - FFFF009EFFFF009EFFFF009EFFFF009EFFFF00000000009EFFFF009EFFFF009E - FFFF000000000000000000000000000000000000000000000000000000007AA2 - FC992265FAFF2265FAFF2265FAFF2265FAFF2265FAFF2265FAFF2265FAFF2265 - FAFF000000000000000000000000000000000000000000000000000000000000 - 00002265FAFF2265FAFF2265FAFF2265FAFF2265FAFF2265FAFF2265FAFF2265 - FAFF7AA2FC99000000000000000000000000000000000000000048D188FF44D1 - 87FF41D087FF3DCF86FF3ACF85FF36CE84FF32CD83FF2ECD82FF2BCC81FF27CB - 80FF23CB7FFF20CA7EFF1CC97DFF19C97CFF16C87BFF13C77AFF11C779FF0FC5 - 78FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF72FF02BE - 71FF02BE70FF01BD6FFF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D5EFFF2A4EBDFFB100A0FFFF00A0 - FFFF00A0FFFF00A0FFFF00A0FFFF00A0FFFF00A0FFFF00A0FFFF00A0FFFF00A0 - FFFF00A0FFFF30B1FFCF99D9FF6600000000000000000000000000A0FFFF00A0 - FFFF000000000000000000000000000000000000000000000000000000000000 - 00002468FCFF2468FCFF2468FCFF2468FCFF2468FCFF2468FCFF2468FCFF0000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000002468FCFF2468FCFF2468FCFF2468FCFF2468FCFF2468FCFF2468 - FCFF0000000000000000000000000000000000000000000000004BD289FF48D1 - 88FF44D187FF41D087FF3DCF86FF3ACF85FF36CE84FF32CD83FF2ECD82FF2BCC - 81FF27CB80FF23CB7FFF20CA7EFF1CC97DFF19C97CFF16C87BFF13C77AFF11C7 - 79FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C073FF03BF - 72FF02BE71FF02BE70FF00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000C3E8FF3C6CC8 - FF931BAAFFE400A1FFFF00A1FFFF00A1FFFF00A1FFFF00A1FFFF12A7FFED5AC2 - FFA5B1E2FF4E0000000000000000000000000000000000000000000000004DBD - FFB2000000000000000000000000000000000000000000000000000000000000 - 000000000000256BFEFF256BFEFF256BFEFF256BFEFF256BFEFF000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000588DFEC3256BFEFF256BFEFF256BFEFF256BFEFF0000 - 0000000000000000000000000000000000000000000000000000A6E8C47F4BD2 - 89FF48D188FF44D187FF41D087FF3DCF86FF3ACF85FF36CE84FF32CD83FF2ECD - 82FF2BCC81FF27CB80FF23CB7FFF20CA7EFF1CC97DFF19C97CFF16C87BFF13C7 - 7AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C174FF04C0 - 73FF03BF72FF80DEB87F00000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000EAF7FF15CCECFF33C6E9FF39CCECFF33DEF2FF21000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007CA7FF99266DFFFF7CA7FF9900000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000007CA7FF99266DFFFF7CA7FF99000000000000 - 0000000000000000000000000000000000000000000000000000000000004ED2 - 8AFF4BD289FF48D188FF44D187FF41D087FF3DCF86FF3ACF85FF36CE84FF32CD - 83FF2ECD82FF2BCC81FF27CB80FF23CB7FFF20CA7EFF1CC97DFF19C97CFF16C8 - 7BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF07C275FF06C1 - 74FF04C073FF0000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000A6E8C47F4BD289FF48D188FF44D187FF41D087FF3DCF86FF3ACF85FF36CE - 84FF32CD83FF2ECD82FF2BCC81FF27CB80FF23CB7FFF20CA7EFF1CC97DFF19C9 - 7CFF16C87BFF13C77AFF11C779FF0FC578FF0CC477FF0AC377FF08C376FF83E0 - BA7F000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000080000000200000000100010000000000000200000000000000000000 - 000000000000000000000000FFFFFF00FFFFFFFFFFFFFFFFFFFFFFFF00000000 - FFFFFFFFFFFFFFFFFFFFFFFF00000000FFF83FFFFFFFFFFFF000000F00000000 - FFC007FFFC7FFE3FE000000700000000FF0001FFF83FFC1FC000000300000000 - FE0000FFF01FF80FC000000300000000FC00003FE00FF007C000000300000000 - F800003FE007E007C000000300000000F000001FE003C007C000000300000000 - F000000FF001800FC000000300000000E000000FF800001FC000000300000000 - E003800FFC00003FC000000300000000E00FE007FE00007FC000000300000000 - C00FFE07FF0000FFC000000300000000C01FFFFFFF8001FFC000000300000000 - C01FFFFFFFC003FFC000000300000000C01F000FFFC003FFC000000300000000 - C00F800FFF8001FFC000000300000000E00FC00FFF0000FFC000000300000000 - E003800FFE00007FC000000300000000E000000FFC00003FC000000300000000 - F000000FF800001FC000000300000000F000000FF001800FC000000300000000 - F800000FE003C007C000000300000000FC00000FE007E007C000000300000000 - FE00008FE00FF007C000000300000000FF0001CFF01FF80FC000000300000000 - FFC007EFF83FFC1FC000000300000000FFF83FFFFC7FFE3FE000000700000000 - FFFFFFFFFFFFFFFFF000000F00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000 - FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 - 000000000000} - end - object ppmRefreshInterval: TPopupMenu - Left = 256 - Top = 144 - object N1Sec1: TMenuItem - Tag = 1 - Caption = '&1 second' - OnClick = N2Sec1Click - end - object N2Sec1: TMenuItem - Tag = 2 - Caption = '&2 seconds' - Checked = True - OnClick = N2Sec1Click - end - object N5Sec1: TMenuItem - Tag = 5 - Caption = '&5 seconds' - OnClick = N2Sec1Click - end - object N10Sec1: TMenuItem - Tag = 10 - Caption = '1&0 seconds' - OnClick = N2Sec1Click - end - object N30seconds1: TMenuItem - Tag = 30 - Caption = '&30 seconds' - OnClick = N2Sec1Click - end - end -end diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/MainFormU.pas b/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/MainFormU.pas deleted file mode 100644 index b51247c0..00000000 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/MainFormU.pas +++ /dev/null @@ -1,243 +0,0 @@ -unit MainFormU; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, REdis.Client, REdis.Commons, REdis.NetLib.Indy, - Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.ComCtrls, Vcl.Buttons, System.Actions, - Vcl.ActnList, Vcl.ToolWin, System.ImageList, Vcl.ImgList, Vcl.Menus; - -type - TMainForm = class(TForm) - Timer1: TTimer; - StatusBar1: TStatusBar; - ToolBar1: TToolBar; - Panel2: TPanel; - Splitter1: TSplitter; - Panel3: TPanel; - ToolButton1: TToolButton; - ToolButton2: TToolButton; - ToolButton3: TToolButton; - lstLogs: TListBox; - ActionList1: TActionList; - actRefresh: TAction; - actClearLogs: TAction; - ImageList1: TImageList; - actFollowTail: TAction; - ToolButton4: TToolButton; - ToolButton5: TToolButton; - ToolButton6: TToolButton; - ppmRefreshInterval: TPopupMenu; - N1Sec1: TMenuItem; - N2Sec1: TMenuItem; - N5Sec1: TMenuItem; - N10Sec1: TMenuItem; - N30seconds1: TMenuItem; - GroupBox1: TGroupBox; - EditRedisHostname: TEdit; - EditRedisPort: TEdit; - btnApply: TButton; - Label1: TLabel; - Label2: TLabel; - procedure Timer1Timer(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure rgLogsTypesClick(Sender: TObject); - procedure actRefreshExecute(Sender: TObject); - procedure actClearLogsExecute(Sender: TObject); - procedure actFollowTailExecute(Sender: TObject); - procedure N2Sec1Click(Sender: TObject); - procedure btnApplyClick(Sender: TObject); - procedure ActionList1Update(Action: TBasicAction; var Handled: Boolean); - procedure lstLogsDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; - State: TOwnerDrawState); - private - FRedis: IRedisClient; - function GetCurrentLogKey: string; - procedure RefreshLogs; - procedure SetRefreshInterval(const aIntervalMS: Int64); - function Connected: Boolean; - public - { Public declarations } - end; - -var - MainForm: TMainForm; - -implementation - -uses - REdis.Values, System.StrUtils; - -{$R *.dfm} - -const - LOGGERPRO_KEY = 'loggerpro::logs'; - -procedure TMainForm.actClearLogsExecute(Sender: TObject); -begin - FRedis.DEL([GetCurrentLogKey]); - RefreshLogs; -end; - -procedure TMainForm.actFollowTailExecute(Sender: TObject); -begin - actFollowTail.Checked := not actFollowTail.Checked; -end; - -procedure TMainForm.ActionList1Update(Action: TBasicAction; - var Handled: Boolean); -begin - btnApply.Caption := ifthen(not Connected, 'Connect', 'Disconnect'); - EditRedisHostname.Enabled := not Connected; - EditRedisPort.Enabled := not Connected; - ToolBar1.Enabled := Connected; -end; - -procedure TMainForm.actRefreshExecute(Sender: TObject); -begin - RefreshLogs; - -end; - -procedure TMainForm.btnApplyClick(Sender: TObject); -begin - if not Connected then - FRedis := NewRedisClient(EditRedisHostname.Text, StrToInt(EditRedisPort.Text)) - else - FRedis := nil; -end; - -function TMainForm.Connected: Boolean; -begin - Result := FRedis <> nil; -end; - -procedure TMainForm.FormCreate(Sender: TObject); -begin - FRedis := nil; - actFollowTail.Checked := True; -end; - -procedure TMainForm.FormShow(Sender: TObject); -begin - RefreshLogs; - N2Sec1.Checked := True; - SetRefreshInterval(2000); -end; - -function TMainForm.GetCurrentLogKey: string; -begin - Result := LOGGERPRO_KEY; -end; - -procedure TMainForm.lstLogsDrawItem(Control: TWinControl; Index: Integer; - Rect: TRect; State: TOwnerDrawState); -var - lCanvas: TCanvas; - lText: string; - lRect: TRect; - lBGColor, lFGColor: TColor; -begin - lCanvas := (Control as TListBox).Canvas; - lText := lstLogs.Items[index]; - if lText.Contains('ERROR') then - begin - lBGColor := clRed; - lFGColor := clWhite; - end - else if lText.Contains('INFO') then - begin - lBGColor := clWhite; - lFGColor := clBlack; - end - else if lText.Contains('WARNING') then - begin - lBGColor := clYellow; - lFGColor := clRed; - end - else if lText.Contains('DEBUG') then - begin - lBGColor := clWhite; - lFGColor := clBlue; - end; - lCanvas.Brush.Color := lBGColor; - lCanvas.Font.Color := lFGColor; - lCanvas.FillRect(Rect); - lRect := Rect; - lrect.Left := lrect.Left + 5; - lCanvas.TextRect(lRect, lText, [TTextFormats.tfLeft, TTextFormats.tfEndEllipsis]); -end; - -procedure TMainForm.rgLogsTypesClick(Sender: TObject); -begin - RefreshLogs; -end; - -procedure TMainForm.RefreshLogs; -var - lArray: TRedisArray; - lSavedItemIndex: Integer; -begin - if not Connected then - begin - StatusBar1.Panels[2].Text := 'Not Connected'; - Exit; - end; - StatusBar1.Panels[2].Text := 'Connected'; - - lSavedItemIndex := lstLogs.ItemIndex; - lstLogs.Items.BeginUpdate; - try - lstLogs.Items.Clear; - // from the first to the last element of the list - lArray := FRedis.LRANGE(GetCurrentLogKey, 0, -1); - if lArray.HasValue then - begin - lstLogs.Items.AddStrings(lArray.ToArray); - if actFollowTail.Checked then - begin - lstLogs.ItemIndex := lstLogs.Items.Count - 1; - end - else - begin - if lstLogs.Count > lSavedItemIndex then - begin - lstLogs.ItemIndex := lSavedItemIndex; - end; - end; - end; - finally - lstLogs.Items.EndUpdate; - end; - StatusBar1.Panels[0].Text := 'Last update: ' + DateTimeToStr(Now); - StatusBar1.Panels[1].Text := 'Refresh Interval: ' + (Timer1.Interval div 1000).ToString + ' second/s'; -end; - -procedure TMainForm.SetRefreshInterval(const aIntervalMS: Int64); -begin - Timer1.Enabled := False; - Timer1.Interval := aIntervalMS; - Timer1.Enabled := True; - RefreshLogs; -end; - -procedure TMainForm.Timer1Timer(Sender: TObject); -begin - RefreshLogs; -end; - -procedure TMainForm.N2Sec1Click(Sender: TObject); -var - i: Integer; -begin - for i := 0 to ppmRefreshInterval.Items.Count - 1 do - begin - ppmRefreshInterval.Items[i].Checked := False; - end; - (Sender as TMenuItem).Checked := True; - SetRefreshInterval((Sender as TMenuItem).Tag * 1000); -end; - -end. diff --git a/lib/loggerpro/samples/SampleLoggerGroup.groupproj b/lib/loggerpro/samples/SampleLoggerGroup.groupproj deleted file mode 100644 index d4827f05..00000000 --- a/lib/loggerpro/samples/SampleLoggerGroup.groupproj +++ /dev/null @@ -1,192 +0,0 @@ - - - {CF29FFBC-223E-49C3-9A58-4DC5ACC9CE5D} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_down.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_down.gif deleted file mode 100644 index 5e078e42..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_down.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left-down.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left-down.gif deleted file mode 100644 index 7c9211e4..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left-down.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left-up.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left-up.gif deleted file mode 100644 index 165176d8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left-up.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left.gif deleted file mode 100644 index 9104f9e7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_left.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right-down.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right-down.gif deleted file mode 100644 index 01ef0bf1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right-down.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right-up.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right-up.gif deleted file mode 100644 index 97d508ce..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right-up.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right.gif deleted file mode 100644 index 16f0bac9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_right.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_up.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_up.gif deleted file mode 100644 index 30e854e3..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/arrow_up.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/attention.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/attention.gif deleted file mode 100644 index 0e38fbae..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/attention.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/backward.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/backward.gif deleted file mode 100644 index 89b02549..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/backward.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/bag.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/bag.gif deleted file mode 100644 index 62647604..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/bag.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/base.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/base.gif deleted file mode 100644 index 7d9b9300..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/base.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/bonus.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/bonus.gif deleted file mode 100644 index 7c33647a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/bonus.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/bug.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/bug.gif deleted file mode 100644 index d62bb0fc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/bug.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/calculator.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/calculator.gif deleted file mode 100644 index 733e10a9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/calculator.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/calendar.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/calendar.gif deleted file mode 100644 index fed0f797..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/calendar.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/cd_dvd.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/cd_dvd.gif deleted file mode 100644 index cf7ef97c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/cd_dvd.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/check-64.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/check-64.gif deleted file mode 100644 index 932d45de..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/check-64.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/check.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/check.gif deleted file mode 100644 index f1903003..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/check.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/check_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/check_2.gif deleted file mode 100644 index 22695e8d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/check_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/close_delete.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/close_delete.gif deleted file mode 100644 index 63a2da29..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/close_delete.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/close_delete_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/close_delete_2.gif deleted file mode 100644 index ac87b9b5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/close_delete_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/closed.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/closed.gif deleted file mode 100644 index 98ab8a86..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/closed.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/comment.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/comment.gif deleted file mode 100644 index c1967888..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/comment.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/computer.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/computer.gif deleted file mode 100644 index 27d837d3..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/computer.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/computer_monitor.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/computer_monitor.gif deleted file mode 100644 index 7469333d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/computer_monitor.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/copy.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/copy.gif deleted file mode 100644 index 8d688706..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/copy.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/credit_card.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/credit_card.gif deleted file mode 100644 index 0315aac3..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/credit_card.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/credit_card_back.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/credit_card_back.gif deleted file mode 100644 index 79fa998b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/credit_card_back.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/cut.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/cut.gif deleted file mode 100644 index 297e7e6f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/cut.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/delete_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/delete_2.gif deleted file mode 100644 index 429bb583..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/delete_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/document_file.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/document_file.gif deleted file mode 100644 index 04425db1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/document_file.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/email.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/email.gif deleted file mode 100644 index 156d0b4d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/email.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/eraser.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/eraser.gif deleted file mode 100644 index 1e81b541..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/eraser.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/favorite_love.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/favorite_love.gif deleted file mode 100644 index c1423847..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/favorite_love.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_blue.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_blue.gif deleted file mode 100644 index 1ad4f05f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_blue.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_gray.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_gray.gif deleted file mode 100644 index aa794de9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_gray.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_green.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_green.gif deleted file mode 100644 index c58d7fc4..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_green.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_red.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_red.gif deleted file mode 100644 index 836b2296..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_red.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_violet.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_violet.gif deleted file mode 100644 index 211a5993..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_violet.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_yellow.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_yellow.gif deleted file mode 100644 index 5e82f0cb..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/flag_mark_yellow.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/folder.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/folder.gif deleted file mode 100644 index bab2dd50..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/folder.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/forward.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/forward.gif deleted file mode 100644 index 6eaba8db..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/forward.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/friends_group.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/friends_group.gif deleted file mode 100644 index 1e7e5ddc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/friends_group.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/help.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/help.gif deleted file mode 100644 index 3168e53b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/help.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/help_ring-buoy.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/help_ring-buoy.gif deleted file mode 100644 index 1d59de67..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/help_ring-buoy.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/home.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/home.gif deleted file mode 100644 index 0376fa7c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/home.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/information.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/information.gif deleted file mode 100644 index b07c7966..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/information.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/ipod.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/ipod.gif deleted file mode 100644 index d9e23697..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/ipod.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/key_login.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/key_login.gif deleted file mode 100644 index be6c2bc9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/key_login.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/lamp_active.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/lamp_active.gif deleted file mode 100644 index ac025e20..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/lamp_active.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/lamp_inactive.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/lamp_inactive.gif deleted file mode 100644 index 8e140010..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/lamp_inactive.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/lock.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/lock.gif deleted file mode 100644 index 5b937948..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/lock.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/minus.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/minus.gif deleted file mode 100644 index de6d9754..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/minus.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/minus_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/minus_2.gif deleted file mode 100644 index b79ec385..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/minus_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/mobile_phone.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/mobile_phone.gif deleted file mode 100644 index 0afb4408..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/mobile_phone.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/network.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/network.gif deleted file mode 100644 index 78c5a9c0..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/network.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/network_close.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/network_close.gif deleted file mode 100644 index 05296491..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/network_close.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/new_email.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/new_email.gif deleted file mode 100644 index aa39e56d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/new_email.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/next.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/next.gif deleted file mode 100644 index 68ee6804..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/next.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/opened.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/opened.gif deleted file mode 100644 index 906936dc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/opened.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/options.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/options.gif deleted file mode 100644 index 3b335542..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/options.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/options_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/options_2.gif deleted file mode 100644 index 3b72fe8a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/options_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/paste.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/paste.gif deleted file mode 100644 index 632f852d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/paste.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/pause.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/pause.gif deleted file mode 100644 index 421c23d4..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/pause.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/pencil_edit.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/pencil_edit.gif deleted file mode 100644 index 1c383e70..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/pencil_edit.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/pie-chart_diagram.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/pie-chart_diagram.gif deleted file mode 100644 index b07d913e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/pie-chart_diagram.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/pie-chart_graph.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/pie-chart_graph.gif deleted file mode 100644 index a0e89d92..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/pie-chart_graph.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/play.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/play.gif deleted file mode 100644 index e2f4ec4a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/play.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/plus.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/plus.gif deleted file mode 100644 index ae492b79..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/plus.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/plus_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/plus_2.gif deleted file mode 100644 index 0e42281c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/plus_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/previous.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/previous.gif deleted file mode 100644 index c5c7036f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/previous.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/printer.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/printer.gif deleted file mode 100644 index 622b2438..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/printer.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/radio-button_off.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/radio-button_off.gif deleted file mode 100644 index 531f4731..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/radio-button_off.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/radio-button_on.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/radio-button_on.gif deleted file mode 100644 index c3d630d6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/radio-button_on.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/record.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/record.gif deleted file mode 100644 index aba8a216..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/record.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/refresh.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/refresh.gif deleted file mode 100644 index ac1a1bb9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/refresh.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/rss.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/rss.gif deleted file mode 100644 index 3364833a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/rss.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/save_as.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/save_as.gif deleted file mode 100644 index 79b1f22b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/save_as.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/save_diskette_floppy_disk.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/save_diskette_floppy_disk.gif deleted file mode 100644 index 0a1b3d30..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/save_diskette_floppy_disk.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/search_lense.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/search_lense.gif deleted file mode 100644 index 2bf9b9c8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/search_lense.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/shield_protect_off.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/shield_protect_off.gif deleted file mode 100644 index 07312ec2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/shield_protect_off.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/shield_protect_on.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/shield_protect_on.gif deleted file mode 100644 index 4043ecad..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/shield_protect_on.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/shopping_cart.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/shopping_cart.gif deleted file mode 100644 index df188e61..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/shopping_cart.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/shopping_cart_empty.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/shopping_cart_empty.gif deleted file mode 100644 index 38195d8b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/shopping_cart_empty.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/smartphone_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/smartphone_2.gif deleted file mode 100644 index 8d644da8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/smartphone_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/smartphone_iphone.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/smartphone_iphone.gif deleted file mode 100644 index a4f7b304..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/smartphone_iphone.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/sound_music-off.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/sound_music-off.gif deleted file mode 100644 index 78643cd2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/sound_music-off.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/sound_music-on.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/sound_music-on.gif deleted file mode 100644 index ad0f85d6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/sound_music-on.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/star.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/star.gif deleted file mode 100644 index def001c6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/star.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/star_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/star_2.gif deleted file mode 100644 index 12357ead..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/star_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/star_3.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/star_3.gif deleted file mode 100644 index 42df65ae..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/star_3.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/stop.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/stop.gif deleted file mode 100644 index afd7e5b1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/stop.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/stop_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/stop_2.gif deleted file mode 100644 index 740de9be..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/stop_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_blue.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_blue.gif deleted file mode 100644 index 6a55813e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_blue.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_gray.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_gray.gif deleted file mode 100644 index 9f6932a8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_gray.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_green.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_green.gif deleted file mode 100644 index 2611a40b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_green.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_orange.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_orange.gif deleted file mode 100644 index 558328dd..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_orange.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_red.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_red.gif deleted file mode 100644 index 2bf40a64..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_red.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_violet.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_violet.gif deleted file mode 100644 index cad30624..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_violet.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_white.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_white.gif deleted file mode 100644 index 1dc6cc62..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_white.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_yellow.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/tag_yellow.gif deleted file mode 100644 index fc6e12c9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/tag_yellow.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/time_clock.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/time_clock.gif deleted file mode 100644 index f51f9613..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/time_clock.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/trash_box.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/trash_box.gif deleted file mode 100644 index 0533d290..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/trash_box.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/trash_box_2.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/trash_box_2.gif deleted file mode 100644 index db8e30f7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/trash_box_2.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/unlock.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/unlock.gif deleted file mode 100644 index dadd2d1d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/unlock.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/user_friend.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/user_friend.gif deleted file mode 100644 index 5f6b2823..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/user_friend.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/user_woman.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/user_woman.gif deleted file mode 100644 index 1eaf49c4..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/user_woman.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/vote_no.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/vote_no.gif deleted file mode 100644 index 5ac51738..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/vote_no.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/vote_yes.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/vote_yes.gif deleted file mode 100644 index 9ea23cb7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/vote_yes.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/GIF/32/wizard.gif b/lib/loggerpro/samples/common/ICONS/GIF/32/wizard.gif deleted file mode 100644 index ae2c8638..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/GIF/32/wizard.gif and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_down.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_down.icns deleted file mode 100644 index 2a3a6a07..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_down.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left-down.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left-down.icns deleted file mode 100644 index 17398716..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left-down.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left-up.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left-up.icns deleted file mode 100644 index 08003ead..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left-up.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left.icns deleted file mode 100644 index ba199dcd..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_left.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right-down.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right-down.icns deleted file mode 100644 index 2bc2ba6d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right-down.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right-up.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right-up.icns deleted file mode 100644 index f0f2b749..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right-up.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right.icns deleted file mode 100644 index a02707c9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_right.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_up.icns b/lib/loggerpro/samples/common/ICONS/ICNS/arrow_up.icns deleted file mode 100644 index a58778b0..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/arrow_up.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/attention.icns b/lib/loggerpro/samples/common/ICONS/ICNS/attention.icns deleted file mode 100644 index 2f8b5ac1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/attention.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/backward.icns b/lib/loggerpro/samples/common/ICONS/ICNS/backward.icns deleted file mode 100644 index e97fd6ed..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/backward.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/bag.icns b/lib/loggerpro/samples/common/ICONS/ICNS/bag.icns deleted file mode 100644 index 7da1c34a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/bag.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/base.icns b/lib/loggerpro/samples/common/ICONS/ICNS/base.icns deleted file mode 100644 index d02302db..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/base.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/bonus.icns b/lib/loggerpro/samples/common/ICONS/ICNS/bonus.icns deleted file mode 100644 index fb772ce3..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/bonus.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/bug.icns b/lib/loggerpro/samples/common/ICONS/ICNS/bug.icns deleted file mode 100644 index 5037b6a6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/bug.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/calculator.icns b/lib/loggerpro/samples/common/ICONS/ICNS/calculator.icns deleted file mode 100644 index e7c94d21..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/calculator.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/calendar.icns b/lib/loggerpro/samples/common/ICONS/ICNS/calendar.icns deleted file mode 100644 index b6449604..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/calendar.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/cd_dvd.icns b/lib/loggerpro/samples/common/ICONS/ICNS/cd_dvd.icns deleted file mode 100644 index f901cc1f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/cd_dvd.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/check-64.icns b/lib/loggerpro/samples/common/ICONS/ICNS/check-64.icns deleted file mode 100644 index f43a083d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/check-64.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/check.icns b/lib/loggerpro/samples/common/ICONS/ICNS/check.icns deleted file mode 100644 index cfa440b7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/check.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/check_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/check_2.icns deleted file mode 100644 index afcc0136..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/check_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/close_delete.icns b/lib/loggerpro/samples/common/ICONS/ICNS/close_delete.icns deleted file mode 100644 index 7dd481a5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/close_delete.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/close_delete_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/close_delete_2.icns deleted file mode 100644 index 06fc80ed..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/close_delete_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/closed.icns b/lib/loggerpro/samples/common/ICONS/ICNS/closed.icns deleted file mode 100644 index 39a52068..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/closed.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/comment.icns b/lib/loggerpro/samples/common/ICONS/ICNS/comment.icns deleted file mode 100644 index 8fa7fc17..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/comment.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/computer.icns b/lib/loggerpro/samples/common/ICONS/ICNS/computer.icns deleted file mode 100644 index fc7ce183..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/computer.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/computer_monitor.icns b/lib/loggerpro/samples/common/ICONS/ICNS/computer_monitor.icns deleted file mode 100644 index 3a94db40..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/computer_monitor.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/copy.icns b/lib/loggerpro/samples/common/ICONS/ICNS/copy.icns deleted file mode 100644 index 94d4d7b9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/copy.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/credit_card.icns b/lib/loggerpro/samples/common/ICONS/ICNS/credit_card.icns deleted file mode 100644 index 3d8921db..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/credit_card.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/credit_card_back.icns b/lib/loggerpro/samples/common/ICONS/ICNS/credit_card_back.icns deleted file mode 100644 index 9cbb9889..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/credit_card_back.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/cut.icns b/lib/loggerpro/samples/common/ICONS/ICNS/cut.icns deleted file mode 100644 index 5bd25ad7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/cut.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/delete_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/delete_2.icns deleted file mode 100644 index cd627768..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/delete_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/document_file.icns b/lib/loggerpro/samples/common/ICONS/ICNS/document_file.icns deleted file mode 100644 index 90b45692..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/document_file.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/email.icns b/lib/loggerpro/samples/common/ICONS/ICNS/email.icns deleted file mode 100644 index f73efd03..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/email.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/eraser.icns b/lib/loggerpro/samples/common/ICONS/ICNS/eraser.icns deleted file mode 100644 index 05848ea1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/eraser.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/favorite_love.icns b/lib/loggerpro/samples/common/ICONS/ICNS/favorite_love.icns deleted file mode 100644 index a77dcf95..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/favorite_love.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_blue.icns b/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_blue.icns deleted file mode 100644 index 6ec18734..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_blue.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_gray.icns b/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_gray.icns deleted file mode 100644 index ea8c4ed6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_gray.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_green.icns b/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_green.icns deleted file mode 100644 index 9c8510f4..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_green.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_red.icns b/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_red.icns deleted file mode 100644 index 1e78c4c2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_red.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_violet.icns b/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_violet.icns deleted file mode 100644 index 6fd32a7e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_violet.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_yellow.icns b/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_yellow.icns deleted file mode 100644 index 8d7a1a64..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/flag_mark_yellow.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/folder.icns b/lib/loggerpro/samples/common/ICONS/ICNS/folder.icns deleted file mode 100644 index 8b734185..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/folder.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/forward.icns b/lib/loggerpro/samples/common/ICONS/ICNS/forward.icns deleted file mode 100644 index fdf80396..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/forward.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/friends_group.icns b/lib/loggerpro/samples/common/ICONS/ICNS/friends_group.icns deleted file mode 100644 index ff4d4e19..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/friends_group.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/help.icns b/lib/loggerpro/samples/common/ICONS/ICNS/help.icns deleted file mode 100644 index 8dd32263..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/help.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/help_ring-buoy.icns b/lib/loggerpro/samples/common/ICONS/ICNS/help_ring-buoy.icns deleted file mode 100644 index 09404ab7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/help_ring-buoy.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/home.icns b/lib/loggerpro/samples/common/ICONS/ICNS/home.icns deleted file mode 100644 index 14f8fbe5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/home.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/information.icns b/lib/loggerpro/samples/common/ICONS/ICNS/information.icns deleted file mode 100644 index 6ac795fb..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/information.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/ipod.icns b/lib/loggerpro/samples/common/ICONS/ICNS/ipod.icns deleted file mode 100644 index a3495111..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/ipod.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/key_login.icns b/lib/loggerpro/samples/common/ICONS/ICNS/key_login.icns deleted file mode 100644 index 1ae357e5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/key_login.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/lamp_active.icns b/lib/loggerpro/samples/common/ICONS/ICNS/lamp_active.icns deleted file mode 100644 index 36bab7cf..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/lamp_active.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/lamp_inactive.icns b/lib/loggerpro/samples/common/ICONS/ICNS/lamp_inactive.icns deleted file mode 100644 index a3256204..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/lamp_inactive.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/lock.icns b/lib/loggerpro/samples/common/ICONS/ICNS/lock.icns deleted file mode 100644 index 94e02dd0..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/lock.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/minus.icns b/lib/loggerpro/samples/common/ICONS/ICNS/minus.icns deleted file mode 100644 index 0dd0b73c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/minus.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/minus_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/minus_2.icns deleted file mode 100644 index ac56fa63..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/minus_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/mobile_phone.icns b/lib/loggerpro/samples/common/ICONS/ICNS/mobile_phone.icns deleted file mode 100644 index 2549ab84..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/mobile_phone.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/network.icns b/lib/loggerpro/samples/common/ICONS/ICNS/network.icns deleted file mode 100644 index ede48b60..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/network.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/network_close.icns b/lib/loggerpro/samples/common/ICONS/ICNS/network_close.icns deleted file mode 100644 index 19b201e7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/network_close.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/new_email.icns b/lib/loggerpro/samples/common/ICONS/ICNS/new_email.icns deleted file mode 100644 index 761193aa..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/new_email.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/next.icns b/lib/loggerpro/samples/common/ICONS/ICNS/next.icns deleted file mode 100644 index 9d81ef5c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/next.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/opened.icns b/lib/loggerpro/samples/common/ICONS/ICNS/opened.icns deleted file mode 100644 index 033543b2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/opened.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/options.icns b/lib/loggerpro/samples/common/ICONS/ICNS/options.icns deleted file mode 100644 index 986cef87..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/options.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/options_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/options_2.icns deleted file mode 100644 index 82b42c5f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/options_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/paste.icns b/lib/loggerpro/samples/common/ICONS/ICNS/paste.icns deleted file mode 100644 index a70bb2f9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/paste.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/pause.icns b/lib/loggerpro/samples/common/ICONS/ICNS/pause.icns deleted file mode 100644 index 39e23b5e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/pause.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/pencil_edit.icns b/lib/loggerpro/samples/common/ICONS/ICNS/pencil_edit.icns deleted file mode 100644 index b03fe571..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/pencil_edit.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/pie-chart_diagram.icns b/lib/loggerpro/samples/common/ICONS/ICNS/pie-chart_diagram.icns deleted file mode 100644 index 4afda8da..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/pie-chart_diagram.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/pie-chart_graph.icns b/lib/loggerpro/samples/common/ICONS/ICNS/pie-chart_graph.icns deleted file mode 100644 index 7b890393..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/pie-chart_graph.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/play.icns b/lib/loggerpro/samples/common/ICONS/ICNS/play.icns deleted file mode 100644 index a56c527f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/play.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/plus.icns b/lib/loggerpro/samples/common/ICONS/ICNS/plus.icns deleted file mode 100644 index eb703244..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/plus.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/plus_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/plus_2.icns deleted file mode 100644 index 34a93ac4..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/plus_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/previous.icns b/lib/loggerpro/samples/common/ICONS/ICNS/previous.icns deleted file mode 100644 index 2944c7f1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/previous.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/printer.icns b/lib/loggerpro/samples/common/ICONS/ICNS/printer.icns deleted file mode 100644 index 53e9b3c1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/printer.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/radio-button_off.icns b/lib/loggerpro/samples/common/ICONS/ICNS/radio-button_off.icns deleted file mode 100644 index 9d468735..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/radio-button_off.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/radio-button_on.icns b/lib/loggerpro/samples/common/ICONS/ICNS/radio-button_on.icns deleted file mode 100644 index 45fdf08f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/radio-button_on.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/record.icns b/lib/loggerpro/samples/common/ICONS/ICNS/record.icns deleted file mode 100644 index 01abe7f2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/record.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/refresh.icns b/lib/loggerpro/samples/common/ICONS/ICNS/refresh.icns deleted file mode 100644 index a27b29dd..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/refresh.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/rss.icns b/lib/loggerpro/samples/common/ICONS/ICNS/rss.icns deleted file mode 100644 index eb8c4320..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/rss.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/save_as.icns b/lib/loggerpro/samples/common/ICONS/ICNS/save_as.icns deleted file mode 100644 index b48754c9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/save_as.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/save_diskette_floppy_disk.icns b/lib/loggerpro/samples/common/ICONS/ICNS/save_diskette_floppy_disk.icns deleted file mode 100644 index 13df6173..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/save_diskette_floppy_disk.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/search_lense.icns b/lib/loggerpro/samples/common/ICONS/ICNS/search_lense.icns deleted file mode 100644 index bc35f9cc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/search_lense.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/shield_protect_off.icns b/lib/loggerpro/samples/common/ICONS/ICNS/shield_protect_off.icns deleted file mode 100644 index 980fcb8c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/shield_protect_off.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/shield_protect_on.icns b/lib/loggerpro/samples/common/ICONS/ICNS/shield_protect_on.icns deleted file mode 100644 index 6843d95a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/shield_protect_on.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/shopping_cart.icns b/lib/loggerpro/samples/common/ICONS/ICNS/shopping_cart.icns deleted file mode 100644 index ce42b9df..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/shopping_cart.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/shopping_cart_empty.icns b/lib/loggerpro/samples/common/ICONS/ICNS/shopping_cart_empty.icns deleted file mode 100644 index 1857bf76..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/shopping_cart_empty.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/smartphone_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/smartphone_2.icns deleted file mode 100644 index ab107c2b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/smartphone_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/smartphone_iphone.icns b/lib/loggerpro/samples/common/ICONS/ICNS/smartphone_iphone.icns deleted file mode 100644 index 8555cd39..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/smartphone_iphone.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/sound_music-off.icns b/lib/loggerpro/samples/common/ICONS/ICNS/sound_music-off.icns deleted file mode 100644 index abb22053..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/sound_music-off.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/sound_music-on.icns b/lib/loggerpro/samples/common/ICONS/ICNS/sound_music-on.icns deleted file mode 100644 index 1f5cf73e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/sound_music-on.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/star.icns b/lib/loggerpro/samples/common/ICONS/ICNS/star.icns deleted file mode 100644 index 284d8043..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/star.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/star_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/star_2.icns deleted file mode 100644 index 9c06f7f2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/star_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/star_3.icns b/lib/loggerpro/samples/common/ICONS/ICNS/star_3.icns deleted file mode 100644 index 216cf8e5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/star_3.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/stop.icns b/lib/loggerpro/samples/common/ICONS/ICNS/stop.icns deleted file mode 100644 index 067608f0..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/stop.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/stop_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/stop_2.icns deleted file mode 100644 index f8ed4b9b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/stop_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_blue.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_blue.icns deleted file mode 100644 index b273aea1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_blue.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_gray.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_gray.icns deleted file mode 100644 index 7b0eb807..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_gray.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_green.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_green.icns deleted file mode 100644 index f43bae1a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_green.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_orange.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_orange.icns deleted file mode 100644 index 6eb08446..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_orange.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_red.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_red.icns deleted file mode 100644 index 1e33a513..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_red.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_violet.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_violet.icns deleted file mode 100644 index 2428f4b1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_violet.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_white.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_white.icns deleted file mode 100644 index 1baeec46..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_white.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/tag_yellow.icns b/lib/loggerpro/samples/common/ICONS/ICNS/tag_yellow.icns deleted file mode 100644 index 3e88d587..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/tag_yellow.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/time_clock.icns b/lib/loggerpro/samples/common/ICONS/ICNS/time_clock.icns deleted file mode 100644 index 00b5f182..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/time_clock.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/trash_box.icns b/lib/loggerpro/samples/common/ICONS/ICNS/trash_box.icns deleted file mode 100644 index 24e811a7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/trash_box.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/trash_box_2.icns b/lib/loggerpro/samples/common/ICONS/ICNS/trash_box_2.icns deleted file mode 100644 index 6586026a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/trash_box_2.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/unlock.icns b/lib/loggerpro/samples/common/ICONS/ICNS/unlock.icns deleted file mode 100644 index 4feeaf4f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/unlock.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/user_friend.icns b/lib/loggerpro/samples/common/ICONS/ICNS/user_friend.icns deleted file mode 100644 index a5980423..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/user_friend.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/user_woman.icns b/lib/loggerpro/samples/common/ICONS/ICNS/user_woman.icns deleted file mode 100644 index d3ce8d7b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/user_woman.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/vote_no.icns b/lib/loggerpro/samples/common/ICONS/ICNS/vote_no.icns deleted file mode 100644 index ac646a9e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/vote_no.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/vote_yes.icns b/lib/loggerpro/samples/common/ICONS/ICNS/vote_yes.icns deleted file mode 100644 index 2b96c488..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/vote_yes.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICNS/wizard.icns b/lib/loggerpro/samples/common/ICONS/ICNS/wizard.icns deleted file mode 100644 index 75423c68..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICNS/wizard.icns and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_down.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_down.ico deleted file mode 100644 index 5ab5c65e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_down.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_left-down.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_left-down.ico deleted file mode 100644 index 26db6f41..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_left-down.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_left-up.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_left-up.ico deleted file mode 100644 index 724d2b0c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_left-up.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_left.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_left.ico deleted file mode 100644 index 65586328..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_left.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_right-down.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_right-down.ico deleted file mode 100644 index a1079196..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_right-down.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_right-up.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_right-up.ico deleted file mode 100644 index 6da365ae..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_right-up.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_right.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_right.ico deleted file mode 100644 index a4f8da07..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_right.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/arrow_up.ico b/lib/loggerpro/samples/common/ICONS/ICO/arrow_up.ico deleted file mode 100644 index 684ea178..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/arrow_up.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/attention.ico b/lib/loggerpro/samples/common/ICONS/ICO/attention.ico deleted file mode 100644 index 40245aba..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/attention.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/backward.ico b/lib/loggerpro/samples/common/ICONS/ICO/backward.ico deleted file mode 100644 index 604d6f28..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/backward.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/bag.ico b/lib/loggerpro/samples/common/ICONS/ICO/bag.ico deleted file mode 100644 index 292bc573..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/bag.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/base.ico b/lib/loggerpro/samples/common/ICONS/ICO/base.ico deleted file mode 100644 index b1a92fb2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/base.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/bonus.ico b/lib/loggerpro/samples/common/ICONS/ICO/bonus.ico deleted file mode 100644 index f6932ebf..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/bonus.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/bug.ico b/lib/loggerpro/samples/common/ICONS/ICO/bug.ico deleted file mode 100644 index 2d8cf170..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/bug.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/calculator.ico b/lib/loggerpro/samples/common/ICONS/ICO/calculator.ico deleted file mode 100644 index ae7b15ea..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/calculator.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/calendar.ico b/lib/loggerpro/samples/common/ICONS/ICO/calendar.ico deleted file mode 100644 index 13efab59..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/calendar.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/cd_dvd.ico b/lib/loggerpro/samples/common/ICONS/ICO/cd_dvd.ico deleted file mode 100644 index c03c422f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/cd_dvd.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/check-64.ico b/lib/loggerpro/samples/common/ICONS/ICO/check-64.ico deleted file mode 100644 index 20d44fb4..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/check-64.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/check.ico b/lib/loggerpro/samples/common/ICONS/ICO/check.ico deleted file mode 100644 index 2fd50934..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/check.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/check_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/check_2.ico deleted file mode 100644 index 3efc2504..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/check_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/close_delete.ico b/lib/loggerpro/samples/common/ICONS/ICO/close_delete.ico deleted file mode 100644 index 8a87a10f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/close_delete.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/close_delete_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/close_delete_2.ico deleted file mode 100644 index 48d26d0b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/close_delete_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/closed.ico b/lib/loggerpro/samples/common/ICONS/ICO/closed.ico deleted file mode 100644 index 2cece3e5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/closed.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/comment.ico b/lib/loggerpro/samples/common/ICONS/ICO/comment.ico deleted file mode 100644 index dc247c8b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/comment.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/computer.ico b/lib/loggerpro/samples/common/ICONS/ICO/computer.ico deleted file mode 100644 index fb80c70c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/computer.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/computer_monitor.ico b/lib/loggerpro/samples/common/ICONS/ICO/computer_monitor.ico deleted file mode 100644 index 8cf95f9c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/computer_monitor.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/copy.ico b/lib/loggerpro/samples/common/ICONS/ICO/copy.ico deleted file mode 100644 index 84ec3845..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/copy.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/credit_card.ico b/lib/loggerpro/samples/common/ICONS/ICO/credit_card.ico deleted file mode 100644 index 8259716f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/credit_card.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/credit_card_back.ico b/lib/loggerpro/samples/common/ICONS/ICO/credit_card_back.ico deleted file mode 100644 index 2edab08e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/credit_card_back.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/cut.ico b/lib/loggerpro/samples/common/ICONS/ICO/cut.ico deleted file mode 100644 index 13e3b8f2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/cut.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/delete_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/delete_2.ico deleted file mode 100644 index b77d6c27..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/delete_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/document_file.ico b/lib/loggerpro/samples/common/ICONS/ICO/document_file.ico deleted file mode 100644 index cbb5b20f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/document_file.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/email.ico b/lib/loggerpro/samples/common/ICONS/ICO/email.ico deleted file mode 100644 index d14b57d3..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/email.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/eraser.ico b/lib/loggerpro/samples/common/ICONS/ICO/eraser.ico deleted file mode 100644 index abfa0399..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/eraser.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/favorite_love.ico b/lib/loggerpro/samples/common/ICONS/ICO/favorite_love.ico deleted file mode 100644 index 28ee4507..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/favorite_love.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_blue.ico b/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_blue.ico deleted file mode 100644 index b1afafd5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_blue.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_gray.ico b/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_gray.ico deleted file mode 100644 index f7cc019d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_gray.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_green.ico b/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_green.ico deleted file mode 100644 index 2f159804..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_green.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_red.ico b/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_red.ico deleted file mode 100644 index 13a3d4d2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_red.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_violet.ico b/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_violet.ico deleted file mode 100644 index 02e45af9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_violet.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_yellow.ico b/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_yellow.ico deleted file mode 100644 index c351b5f6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/flag_mark_yellow.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/folder.ico b/lib/loggerpro/samples/common/ICONS/ICO/folder.ico deleted file mode 100644 index ba0369f7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/folder.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/forward.ico b/lib/loggerpro/samples/common/ICONS/ICO/forward.ico deleted file mode 100644 index efd40059..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/forward.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/friends_group.ico b/lib/loggerpro/samples/common/ICONS/ICO/friends_group.ico deleted file mode 100644 index 59e00c4d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/friends_group.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/help.ico b/lib/loggerpro/samples/common/ICONS/ICO/help.ico deleted file mode 100644 index 44cad319..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/help.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/help_ring-buoy.ico b/lib/loggerpro/samples/common/ICONS/ICO/help_ring-buoy.ico deleted file mode 100644 index 63fe949b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/help_ring-buoy.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/home.ico b/lib/loggerpro/samples/common/ICONS/ICO/home.ico deleted file mode 100644 index b4b89492..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/home.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/information.ico b/lib/loggerpro/samples/common/ICONS/ICO/information.ico deleted file mode 100644 index e44ad262..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/information.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/ipod.ico b/lib/loggerpro/samples/common/ICONS/ICO/ipod.ico deleted file mode 100644 index bf32721b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/ipod.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/key_login.ico b/lib/loggerpro/samples/common/ICONS/ICO/key_login.ico deleted file mode 100644 index 1095934b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/key_login.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/lamp_active.ico b/lib/loggerpro/samples/common/ICONS/ICO/lamp_active.ico deleted file mode 100644 index 9c86cb08..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/lamp_active.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/lamp_inactive.ico b/lib/loggerpro/samples/common/ICONS/ICO/lamp_inactive.ico deleted file mode 100644 index 46b2f343..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/lamp_inactive.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/lock.ico b/lib/loggerpro/samples/common/ICONS/ICO/lock.ico deleted file mode 100644 index 4498952f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/lock.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/minus.ico b/lib/loggerpro/samples/common/ICONS/ICO/minus.ico deleted file mode 100644 index 668d5d1c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/minus.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/minus_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/minus_2.ico deleted file mode 100644 index e6a61d3b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/minus_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/mobile_phone.ico b/lib/loggerpro/samples/common/ICONS/ICO/mobile_phone.ico deleted file mode 100644 index 38b0ecec..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/mobile_phone.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/network.ico b/lib/loggerpro/samples/common/ICONS/ICO/network.ico deleted file mode 100644 index f6f503e0..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/network.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/network_close.ico b/lib/loggerpro/samples/common/ICONS/ICO/network_close.ico deleted file mode 100644 index 22c88044..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/network_close.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/new_email.ico b/lib/loggerpro/samples/common/ICONS/ICO/new_email.ico deleted file mode 100644 index 4300b8e0..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/new_email.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/next.ico b/lib/loggerpro/samples/common/ICONS/ICO/next.ico deleted file mode 100644 index 7c83f495..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/next.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/opened.ico b/lib/loggerpro/samples/common/ICONS/ICO/opened.ico deleted file mode 100644 index 4a818b90..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/opened.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/options.ico b/lib/loggerpro/samples/common/ICONS/ICO/options.ico deleted file mode 100644 index b47f42f6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/options.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/options_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/options_2.ico deleted file mode 100644 index 1471106d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/options_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/paste.ico b/lib/loggerpro/samples/common/ICONS/ICO/paste.ico deleted file mode 100644 index daa04f25..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/paste.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/pause.ico b/lib/loggerpro/samples/common/ICONS/ICO/pause.ico deleted file mode 100644 index cc88b6c2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/pause.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/pencil_edit.ico b/lib/loggerpro/samples/common/ICONS/ICO/pencil_edit.ico deleted file mode 100644 index 32e8e236..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/pencil_edit.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/pie-chart_diagram.ico b/lib/loggerpro/samples/common/ICONS/ICO/pie-chart_diagram.ico deleted file mode 100644 index feb6c5e8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/pie-chart_diagram.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/pie-chart_graph.ico b/lib/loggerpro/samples/common/ICONS/ICO/pie-chart_graph.ico deleted file mode 100644 index 7ad68296..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/pie-chart_graph.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/play.ico b/lib/loggerpro/samples/common/ICONS/ICO/play.ico deleted file mode 100644 index eec76c71..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/play.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/plus.ico b/lib/loggerpro/samples/common/ICONS/ICO/plus.ico deleted file mode 100644 index d24eee95..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/plus.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/plus_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/plus_2.ico deleted file mode 100644 index bdaf2b24..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/plus_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/previous.ico b/lib/loggerpro/samples/common/ICONS/ICO/previous.ico deleted file mode 100644 index cdf12692..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/previous.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/printer.ico b/lib/loggerpro/samples/common/ICONS/ICO/printer.ico deleted file mode 100644 index 439b726c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/printer.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/radio-button_off.ico b/lib/loggerpro/samples/common/ICONS/ICO/radio-button_off.ico deleted file mode 100644 index 19866fa6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/radio-button_off.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/radio-button_on.ico b/lib/loggerpro/samples/common/ICONS/ICO/radio-button_on.ico deleted file mode 100644 index 6df528f9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/radio-button_on.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/record.ico b/lib/loggerpro/samples/common/ICONS/ICO/record.ico deleted file mode 100644 index cfcc33ff..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/record.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/refresh.ico b/lib/loggerpro/samples/common/ICONS/ICO/refresh.ico deleted file mode 100644 index 0b5ff7bc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/refresh.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/rss.ico b/lib/loggerpro/samples/common/ICONS/ICO/rss.ico deleted file mode 100644 index 28edeb61..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/rss.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/save_as.ico b/lib/loggerpro/samples/common/ICONS/ICO/save_as.ico deleted file mode 100644 index 52bb99fc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/save_as.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/save_diskette_floppy_disk.ico b/lib/loggerpro/samples/common/ICONS/ICO/save_diskette_floppy_disk.ico deleted file mode 100644 index c9df4741..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/save_diskette_floppy_disk.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/search_lense.ico b/lib/loggerpro/samples/common/ICONS/ICO/search_lense.ico deleted file mode 100644 index d433ff2e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/search_lense.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/shield_protect_off.ico b/lib/loggerpro/samples/common/ICONS/ICO/shield_protect_off.ico deleted file mode 100644 index 25177761..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/shield_protect_off.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/shield_protect_on.ico b/lib/loggerpro/samples/common/ICONS/ICO/shield_protect_on.ico deleted file mode 100644 index 27dc0e8f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/shield_protect_on.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/shopping_cart.ico b/lib/loggerpro/samples/common/ICONS/ICO/shopping_cart.ico deleted file mode 100644 index fb244697..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/shopping_cart.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/shopping_cart_empty.ico b/lib/loggerpro/samples/common/ICONS/ICO/shopping_cart_empty.ico deleted file mode 100644 index 99bfa073..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/shopping_cart_empty.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/smartphone_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/smartphone_2.ico deleted file mode 100644 index 029ebffb..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/smartphone_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/smartphone_iphone.ico b/lib/loggerpro/samples/common/ICONS/ICO/smartphone_iphone.ico deleted file mode 100644 index 3ae6495e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/smartphone_iphone.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/sound_music-off.ico b/lib/loggerpro/samples/common/ICONS/ICO/sound_music-off.ico deleted file mode 100644 index 4baa0f4e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/sound_music-off.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/sound_music-on.ico b/lib/loggerpro/samples/common/ICONS/ICO/sound_music-on.ico deleted file mode 100644 index e74e7084..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/sound_music-on.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/star.ico b/lib/loggerpro/samples/common/ICONS/ICO/star.ico deleted file mode 100644 index a9928a37..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/star.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/star_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/star_2.ico deleted file mode 100644 index da573319..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/star_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/star_3.ico b/lib/loggerpro/samples/common/ICONS/ICO/star_3.ico deleted file mode 100644 index c22e2fc5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/star_3.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/stop.ico b/lib/loggerpro/samples/common/ICONS/ICO/stop.ico deleted file mode 100644 index 8d905eb2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/stop.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/stop_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/stop_2.ico deleted file mode 100644 index 92c50faa..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/stop_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_blue.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_blue.ico deleted file mode 100644 index c5dbfafd..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_blue.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_gray.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_gray.ico deleted file mode 100644 index 6f4a378a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_gray.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_green.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_green.ico deleted file mode 100644 index 0790a26f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_green.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_orange.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_orange.ico deleted file mode 100644 index 42f77751..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_orange.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_red.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_red.ico deleted file mode 100644 index a2418af2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_red.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_violet.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_violet.ico deleted file mode 100644 index 0fee1b29..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_violet.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_white.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_white.ico deleted file mode 100644 index 193a3d4f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_white.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/tag_yellow.ico b/lib/loggerpro/samples/common/ICONS/ICO/tag_yellow.ico deleted file mode 100644 index b6997e88..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/tag_yellow.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/time_clock.ico b/lib/loggerpro/samples/common/ICONS/ICO/time_clock.ico deleted file mode 100644 index 33cc1947..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/time_clock.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/trash_box.ico b/lib/loggerpro/samples/common/ICONS/ICO/trash_box.ico deleted file mode 100644 index 13db5803..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/trash_box.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/trash_box_2.ico b/lib/loggerpro/samples/common/ICONS/ICO/trash_box_2.ico deleted file mode 100644 index de9a86ff..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/trash_box_2.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/unlock.ico b/lib/loggerpro/samples/common/ICONS/ICO/unlock.ico deleted file mode 100644 index 38724dcb..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/unlock.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/user_friend.ico b/lib/loggerpro/samples/common/ICONS/ICO/user_friend.ico deleted file mode 100644 index 71993d71..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/user_friend.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/user_woman.ico b/lib/loggerpro/samples/common/ICONS/ICO/user_woman.ico deleted file mode 100644 index 6c3411b9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/user_woman.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/vote_no.ico b/lib/loggerpro/samples/common/ICONS/ICO/vote_no.ico deleted file mode 100644 index 6e4ca618..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/vote_no.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/vote_yes.ico b/lib/loggerpro/samples/common/ICONS/ICO/vote_yes.ico deleted file mode 100644 index 292010ea..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/vote_yes.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/ICO/wizard.ico b/lib/loggerpro/samples/common/ICONS/ICO/wizard.ico deleted file mode 100644 index 9a8c10bf..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/ICO/wizard.ico and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/LINKTOORIGINALWEBSITE.txt b/lib/loggerpro/samples/common/ICONS/LINKTOORIGINALWEBSITE.txt deleted file mode 100644 index 63c04093..00000000 --- a/lib/loggerpro/samples/common/ICONS/LINKTOORIGINALWEBSITE.txt +++ /dev/null @@ -1 +0,0 @@ -http://www.icojam.com/blog/?p=259 \ No newline at end of file diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_down.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_down.png deleted file mode 100644 index b7544005..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_down.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left-down.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left-down.png deleted file mode 100644 index 087c9dfb..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left-down.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left-up.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left-up.png deleted file mode 100644 index a03aff7a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left-up.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left.png deleted file mode 100644 index 69f26c60..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_left.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right-down.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right-down.png deleted file mode 100644 index 338e9d3c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right-down.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right-up.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right-up.png deleted file mode 100644 index 520ca8b7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right-up.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right.png deleted file mode 100644 index 8781c488..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_right.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_up.png b/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_up.png deleted file mode 100644 index 62cd0cd6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/arrow_up.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/attention.png b/lib/loggerpro/samples/common/ICONS/PNG/32/attention.png deleted file mode 100644 index 24a0004d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/attention.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/backward.png b/lib/loggerpro/samples/common/ICONS/PNG/32/backward.png deleted file mode 100644 index d222faf8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/backward.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/bag.png b/lib/loggerpro/samples/common/ICONS/PNG/32/bag.png deleted file mode 100644 index 15bc93fb..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/bag.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/base.png b/lib/loggerpro/samples/common/ICONS/PNG/32/base.png deleted file mode 100644 index 3db83652..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/base.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/bonus.png b/lib/loggerpro/samples/common/ICONS/PNG/32/bonus.png deleted file mode 100644 index 77852134..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/bonus.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/bug.png b/lib/loggerpro/samples/common/ICONS/PNG/32/bug.png deleted file mode 100644 index af035f2e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/bug.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/calculator.png b/lib/loggerpro/samples/common/ICONS/PNG/32/calculator.png deleted file mode 100644 index 3ec97b64..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/calculator.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/calendar.png b/lib/loggerpro/samples/common/ICONS/PNG/32/calendar.png deleted file mode 100644 index aba20907..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/calendar.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/cd_dvd.png b/lib/loggerpro/samples/common/ICONS/PNG/32/cd_dvd.png deleted file mode 100644 index 33b1794f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/cd_dvd.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/check-64.png b/lib/loggerpro/samples/common/ICONS/PNG/32/check-64.png deleted file mode 100644 index 93c01aaf..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/check-64.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/check.png b/lib/loggerpro/samples/common/ICONS/PNG/32/check.png deleted file mode 100644 index 54bc248f..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/check.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/check_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/check_2.png deleted file mode 100644 index 00178e91..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/check_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/close_delete.png b/lib/loggerpro/samples/common/ICONS/PNG/32/close_delete.png deleted file mode 100644 index 83acd8f1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/close_delete.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/close_delete_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/close_delete_2.png deleted file mode 100644 index cefcfa27..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/close_delete_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/closed.png b/lib/loggerpro/samples/common/ICONS/PNG/32/closed.png deleted file mode 100644 index 336081a0..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/closed.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/comment.png b/lib/loggerpro/samples/common/ICONS/PNG/32/comment.png deleted file mode 100644 index e4fcf1e9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/comment.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/computer.png b/lib/loggerpro/samples/common/ICONS/PNG/32/computer.png deleted file mode 100644 index 35f5e389..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/computer.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/computer_monitor.png b/lib/loggerpro/samples/common/ICONS/PNG/32/computer_monitor.png deleted file mode 100644 index ce332e38..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/computer_monitor.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/copy.png b/lib/loggerpro/samples/common/ICONS/PNG/32/copy.png deleted file mode 100644 index 106d1f2c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/copy.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/credit_card.png b/lib/loggerpro/samples/common/ICONS/PNG/32/credit_card.png deleted file mode 100644 index ab08f5d8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/credit_card.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/credit_card_back.png b/lib/loggerpro/samples/common/ICONS/PNG/32/credit_card_back.png deleted file mode 100644 index 8bd65f6c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/credit_card_back.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/cut.png b/lib/loggerpro/samples/common/ICONS/PNG/32/cut.png deleted file mode 100644 index e2303e46..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/cut.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/delete_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/delete_2.png deleted file mode 100644 index 11cac365..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/delete_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/document_file.png b/lib/loggerpro/samples/common/ICONS/PNG/32/document_file.png deleted file mode 100644 index be3abc11..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/document_file.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/email.png b/lib/loggerpro/samples/common/ICONS/PNG/32/email.png deleted file mode 100644 index e94c40ac..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/email.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/eraser.png b/lib/loggerpro/samples/common/ICONS/PNG/32/eraser.png deleted file mode 100644 index 638c187e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/eraser.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/favorite_love.png b/lib/loggerpro/samples/common/ICONS/PNG/32/favorite_love.png deleted file mode 100644 index c32350d7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/favorite_love.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_blue.png b/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_blue.png deleted file mode 100644 index 03b8d414..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_blue.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_gray.png b/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_gray.png deleted file mode 100644 index 5e2246fc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_gray.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_green.png b/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_green.png deleted file mode 100644 index 0a46a139..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_green.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_red.png b/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_red.png deleted file mode 100644 index f4d2ec3b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_red.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_violet.png b/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_violet.png deleted file mode 100644 index cf708e29..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_violet.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_yellow.png b/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_yellow.png deleted file mode 100644 index 482a8ec7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/flag_mark_yellow.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/folder.png b/lib/loggerpro/samples/common/ICONS/PNG/32/folder.png deleted file mode 100644 index 56d6e4e1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/folder.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/forward.png b/lib/loggerpro/samples/common/ICONS/PNG/32/forward.png deleted file mode 100644 index d66b98e2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/forward.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/friends_group.png b/lib/loggerpro/samples/common/ICONS/PNG/32/friends_group.png deleted file mode 100644 index fe3ad657..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/friends_group.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/help.png b/lib/loggerpro/samples/common/ICONS/PNG/32/help.png deleted file mode 100644 index 32f11101..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/help.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/help_ring-buoy.png b/lib/loggerpro/samples/common/ICONS/PNG/32/help_ring-buoy.png deleted file mode 100644 index 1ddff641..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/help_ring-buoy.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/home.png b/lib/loggerpro/samples/common/ICONS/PNG/32/home.png deleted file mode 100644 index dd4b1166..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/home.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/information.png b/lib/loggerpro/samples/common/ICONS/PNG/32/information.png deleted file mode 100644 index fcb6c582..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/information.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/ipod.png b/lib/loggerpro/samples/common/ICONS/PNG/32/ipod.png deleted file mode 100644 index 673fa548..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/ipod.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/key_login.png b/lib/loggerpro/samples/common/ICONS/PNG/32/key_login.png deleted file mode 100644 index d31fcedc..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/key_login.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/lamp_active.png b/lib/loggerpro/samples/common/ICONS/PNG/32/lamp_active.png deleted file mode 100644 index 4a5501e3..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/lamp_active.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/lamp_inactive.png b/lib/loggerpro/samples/common/ICONS/PNG/32/lamp_inactive.png deleted file mode 100644 index fe36357b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/lamp_inactive.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/lock.png b/lib/loggerpro/samples/common/ICONS/PNG/32/lock.png deleted file mode 100644 index 5c1f473a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/lock.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/minus.png b/lib/loggerpro/samples/common/ICONS/PNG/32/minus.png deleted file mode 100644 index 9903ca4b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/minus.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/minus_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/minus_2.png deleted file mode 100644 index 456c309c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/minus_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/mobile_phone.png b/lib/loggerpro/samples/common/ICONS/PNG/32/mobile_phone.png deleted file mode 100644 index 3b5aed59..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/mobile_phone.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/network.png b/lib/loggerpro/samples/common/ICONS/PNG/32/network.png deleted file mode 100644 index 921774ea..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/network.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/network_close.png b/lib/loggerpro/samples/common/ICONS/PNG/32/network_close.png deleted file mode 100644 index 8095d316..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/network_close.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/new_email.png b/lib/loggerpro/samples/common/ICONS/PNG/32/new_email.png deleted file mode 100644 index e584faf6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/new_email.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/next.png b/lib/loggerpro/samples/common/ICONS/PNG/32/next.png deleted file mode 100644 index 4686c638..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/next.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/opened.png b/lib/loggerpro/samples/common/ICONS/PNG/32/opened.png deleted file mode 100644 index 1f266ded..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/opened.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/options.png b/lib/loggerpro/samples/common/ICONS/PNG/32/options.png deleted file mode 100644 index bda75009..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/options.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/options_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/options_2.png deleted file mode 100644 index d72edf98..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/options_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/paste.png b/lib/loggerpro/samples/common/ICONS/PNG/32/paste.png deleted file mode 100644 index 4bcf9724..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/paste.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/pause.png b/lib/loggerpro/samples/common/ICONS/PNG/32/pause.png deleted file mode 100644 index 2f42f3ab..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/pause.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/pencil_edit.png b/lib/loggerpro/samples/common/ICONS/PNG/32/pencil_edit.png deleted file mode 100644 index 3bc3d45e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/pencil_edit.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/pie-chart_diagram.png b/lib/loggerpro/samples/common/ICONS/PNG/32/pie-chart_diagram.png deleted file mode 100644 index 986bfced..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/pie-chart_diagram.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/pie-chart_graph.png b/lib/loggerpro/samples/common/ICONS/PNG/32/pie-chart_graph.png deleted file mode 100644 index 8c58a404..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/pie-chart_graph.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/play.png b/lib/loggerpro/samples/common/ICONS/PNG/32/play.png deleted file mode 100644 index 7ff645db..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/play.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/plus.png b/lib/loggerpro/samples/common/ICONS/PNG/32/plus.png deleted file mode 100644 index d6796073..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/plus.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/plus_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/plus_2.png deleted file mode 100644 index 5f901cf9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/plus_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/previous.png b/lib/loggerpro/samples/common/ICONS/PNG/32/previous.png deleted file mode 100644 index a7c27feb..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/previous.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/printer.png b/lib/loggerpro/samples/common/ICONS/PNG/32/printer.png deleted file mode 100644 index 7ef32f4b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/printer.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/radio-button_off.png b/lib/loggerpro/samples/common/ICONS/PNG/32/radio-button_off.png deleted file mode 100644 index 888d79c1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/radio-button_off.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/radio-button_on.png b/lib/loggerpro/samples/common/ICONS/PNG/32/radio-button_on.png deleted file mode 100644 index ad1f7409..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/radio-button_on.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/record.png b/lib/loggerpro/samples/common/ICONS/PNG/32/record.png deleted file mode 100644 index 5df97f34..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/record.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/refresh.png b/lib/loggerpro/samples/common/ICONS/PNG/32/refresh.png deleted file mode 100644 index 8a6ad3a1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/refresh.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/rss.png b/lib/loggerpro/samples/common/ICONS/PNG/32/rss.png deleted file mode 100644 index 747365f6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/rss.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/save_as.png b/lib/loggerpro/samples/common/ICONS/PNG/32/save_as.png deleted file mode 100644 index b2fa7a74..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/save_as.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/save_diskette_floppy_disk.png b/lib/loggerpro/samples/common/ICONS/PNG/32/save_diskette_floppy_disk.png deleted file mode 100644 index 51d58cab..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/save_diskette_floppy_disk.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/search_lense.png b/lib/loggerpro/samples/common/ICONS/PNG/32/search_lense.png deleted file mode 100644 index 09023234..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/search_lense.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/shield_protect_off.png b/lib/loggerpro/samples/common/ICONS/PNG/32/shield_protect_off.png deleted file mode 100644 index 29668e5a..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/shield_protect_off.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/shield_protect_on.png b/lib/loggerpro/samples/common/ICONS/PNG/32/shield_protect_on.png deleted file mode 100644 index 6192f30c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/shield_protect_on.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/shopping_cart.png b/lib/loggerpro/samples/common/ICONS/PNG/32/shopping_cart.png deleted file mode 100644 index 994eeae7..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/shopping_cart.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/shopping_cart_empty.png b/lib/loggerpro/samples/common/ICONS/PNG/32/shopping_cart_empty.png deleted file mode 100644 index a3ea0ec8..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/shopping_cart_empty.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/smartphone_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/smartphone_2.png deleted file mode 100644 index 9376cb90..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/smartphone_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/smartphone_iphone.png b/lib/loggerpro/samples/common/ICONS/PNG/32/smartphone_iphone.png deleted file mode 100644 index a2027ec9..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/smartphone_iphone.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/sound_music-off.png b/lib/loggerpro/samples/common/ICONS/PNG/32/sound_music-off.png deleted file mode 100644 index 20609ed5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/sound_music-off.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/sound_music-on.png b/lib/loggerpro/samples/common/ICONS/PNG/32/sound_music-on.png deleted file mode 100644 index 0e6c1c9b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/sound_music-on.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/star.png b/lib/loggerpro/samples/common/ICONS/PNG/32/star.png deleted file mode 100644 index 0183ad98..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/star.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/star_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/star_2.png deleted file mode 100644 index f2909846..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/star_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/star_3.png b/lib/loggerpro/samples/common/ICONS/PNG/32/star_3.png deleted file mode 100644 index 2c92ccc5..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/star_3.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/stop.png b/lib/loggerpro/samples/common/ICONS/PNG/32/stop.png deleted file mode 100644 index 8af0f82e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/stop.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/stop_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/stop_2.png deleted file mode 100644 index 05396464..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/stop_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_blue.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_blue.png deleted file mode 100644 index b2c7b6af..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_blue.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_gray.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_gray.png deleted file mode 100644 index ede5a61d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_gray.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_green.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_green.png deleted file mode 100644 index 3f8999e3..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_green.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_orange.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_orange.png deleted file mode 100644 index f15ac3a1..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_orange.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_red.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_red.png deleted file mode 100644 index 77d13bfa..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_red.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_violet.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_violet.png deleted file mode 100644 index 25b456d2..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_violet.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_white.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_white.png deleted file mode 100644 index 4ec15a3e..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_white.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_yellow.png b/lib/loggerpro/samples/common/ICONS/PNG/32/tag_yellow.png deleted file mode 100644 index 1e2a8c82..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/tag_yellow.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/time_clock.png b/lib/loggerpro/samples/common/ICONS/PNG/32/time_clock.png deleted file mode 100644 index 580da33b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/time_clock.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/trash_box.png b/lib/loggerpro/samples/common/ICONS/PNG/32/trash_box.png deleted file mode 100644 index 1df5b349..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/trash_box.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/trash_box_2.png b/lib/loggerpro/samples/common/ICONS/PNG/32/trash_box_2.png deleted file mode 100644 index 2a89c036..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/trash_box_2.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/unlock.png b/lib/loggerpro/samples/common/ICONS/PNG/32/unlock.png deleted file mode 100644 index e2623a8b..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/unlock.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/user_friend.png b/lib/loggerpro/samples/common/ICONS/PNG/32/user_friend.png deleted file mode 100644 index 5ceea8ca..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/user_friend.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/user_woman.png b/lib/loggerpro/samples/common/ICONS/PNG/32/user_woman.png deleted file mode 100644 index 33460c33..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/user_woman.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/vote_no.png b/lib/loggerpro/samples/common/ICONS/PNG/32/vote_no.png deleted file mode 100644 index e814d99d..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/vote_no.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/vote_yes.png b/lib/loggerpro/samples/common/ICONS/PNG/32/vote_yes.png deleted file mode 100644 index d5806b2c..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/vote_yes.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/PNG/32/wizard.png b/lib/loggerpro/samples/common/ICONS/PNG/32/wizard.png deleted file mode 100644 index 7ec11995..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/PNG/32/wizard.png and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/blueberry_preview.jpg b/lib/loggerpro/samples/common/ICONS/blueberry_preview.jpg deleted file mode 100644 index 7a3fb5a6..00000000 Binary files a/lib/loggerpro/samples/common/ICONS/blueberry_preview.jpg and /dev/null differ diff --git a/lib/loggerpro/samples/common/ICONS/readme.txt b/lib/loggerpro/samples/common/ICONS/readme.txt deleted file mode 100644 index 09e09282..00000000 --- a/lib/loggerpro/samples/common/ICONS/readme.txt +++ /dev/null @@ -1,19 +0,0 @@ -These icons are from Icojam (http://www.icojam.com) - -Blueberry Basic [bitmap] - -Ammount of icons: -111 - -Icon Sizes: -32x32 - -File Types: -.png: -32x32(32bit) -.ico: -32x32(xp,8bit) -.gif -32x32 (indexed) -.icns: -32x32(rgb/a,8bit,mono) \ No newline at end of file diff --git a/lib/loggerpro/samples/common/MainFormU.dfm b/lib/loggerpro/samples/common/MainFormU.dfm deleted file mode 100644 index ee5cd750..00000000 --- a/lib/loggerpro/samples/common/MainFormU.dfm +++ /dev/null @@ -1,61 +0,0 @@ -object MainForm: TMainForm - Left = 0 - Top = 0 - Caption = 'LoggerPro SAMPLE' - ClientHeight = 132 - ClientWidth = 584 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - PixelsPerInch = 96 - TextHeight = 13 - object Button1: TButton - Left = 8 - Top = 8 - Width = 137 - Height = 57 - Caption = 'DEBUG' - TabOrder = 0 - OnClick = Button1Click - end - object Button2: TButton - Left = 151 - Top = 8 - Width = 137 - Height = 57 - Caption = 'INFO' - TabOrder = 1 - OnClick = Button2Click - end - object Button3: TButton - Left = 294 - Top = 8 - Width = 137 - Height = 57 - Caption = 'WARNING' - TabOrder = 2 - OnClick = Button3Click - end - object Button4: TButton - Left = 437 - Top = 8 - Width = 137 - Height = 57 - Caption = 'ERROR' - TabOrder = 3 - OnClick = Button4Click - end - object Button5: TButton - Left = 8 - Top = 71 - Width = 280 - Height = 57 - Caption = 'Multithread logging' - TabOrder = 4 - OnClick = Button5Click - end -end diff --git a/lib/loggerpro/samples/common/MainFormU.pas b/lib/loggerpro/samples/common/MainFormU.pas deleted file mode 100644 index b0e4a4ab..00000000 --- a/lib/loggerpro/samples/common/MainFormU.pas +++ /dev/null @@ -1,91 +0,0 @@ -unit MainFormU; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, - System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; - -type - TMainForm = class(TForm) - Button1: TButton; - Button2: TButton; - Button3: TButton; - Button4: TButton; - Button5: TButton; - procedure Button1Click(Sender: TObject); - procedure Button2Click(Sender: TObject); - procedure Button3Click(Sender: TObject); - procedure Button4Click(Sender: TObject); - procedure Button5Click(Sender: TObject); - private - { Private declarations } - public - { Public declarations } - end; - -var - MainForm: TMainForm; - -implementation - -uses - LoggerProConfig; - -{$R *.dfm} - -procedure TMainForm.Button1Click(Sender: TObject); -begin - Log.Debug('This is a debug message with TAG1', 'TAG1'); - Log.Debug('This is a debug message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button2Click(Sender: TObject); -begin - Log.Info('This is a info message with TAG1', 'TAG1'); - Log.Info('This is a info message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button3Click(Sender: TObject); -begin - Log.Warn('This is a warning message with TAG1', 'TAG1'); - Log.Warn('This is a warning message with TAG2', 'TAG2'); - -end; - -procedure TMainForm.Button4Click(Sender: TObject); -begin - Log.Error('This is an error message with TAG1', 'TAG1'); - Log.Error('This is an error message with TAG2', 'TAG2'); -end; - -procedure TMainForm.Button5Click(Sender: TObject); -var - lThreadProc: TProc; -begin - lThreadProc := procedure - var - I: Integer; - lThreadID: String; - begin - lThreadID := IntToStr(TThread.CurrentThread.ThreadID); - for I := 1 to 200 do - begin - Log.Debug('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Info('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Warn('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - Log.Error('log message ' + TimeToStr(now) + ' ThreadID: ' + lThreadID, - 'MULTITHREADING'); - end; - end; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; - TThread.CreateAnonymousThread(lThreadProc).Start; -end; - -end. diff --git a/lib/loggerpro/samples/rest_logs_collector/LoggerProConfig.pas b/lib/loggerpro/samples/rest_logs_collector/LoggerProConfig.pas deleted file mode 100644 index 5a1fa117..00000000 --- a/lib/loggerpro/samples/rest_logs_collector/LoggerProConfig.pas +++ /dev/null @@ -1,65 +0,0 @@ -unit LoggerProConfig; - -interface - -uses - LoggerPro; - -function Log: ILogWriter; - -implementation - -uses - LoggerPro.FileAppender, - System.SysUtils; - -var - _Log: ILogWriter; - _FileAppender: ILogAppender; - _FormatSettings: TFormatSettings; - _CustomLogFormat: string; - -function Log: ILogWriter; -begin - Result := _Log; -end; - -initialization - -_FormatSettings.DateSeparator := '-'; -_FormatSettings.TimeSeparator := ':'; -_FormatSettings.ShortDateFormat := 'YYY-MM-DD HH:NN:SS:ZZZ'; -_FormatSettings.ShortTimeFormat := 'HH:NN:SS'; - -{ @abstract(Defines the default format string used by the @link(TLoggerProFileAppender).) - The positional parameters are the followings: - @orderedList( - @itemSetNumber 0 - @item TimeStamp - @item ThreadID - @item LogType - @item LogMessage - @item LogTag - ) -} -_CustomLogFormat := '%0:s %s'; - -// Creates log in the ..\..\ folder without PID in the filename -_FileAppender := TLoggerProFileAppender.Create(10, 1000, 'logs'); -TLoggerProFileAppender(_FileAppender).OnLogRow := procedure(const aLogItem: TLogItem; out aLogRow: string) - begin - aLogRow := Format(_CustomLogFormat, [datetimetostr(aLogItem.TimeStamp, _FormatSettings), aLogItem.LogMessage]); - end; -_Log := BuildLogWriter([_FileAppender]); -// Create logs in the exe' same folder -// _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5)]); - -// Creates log in the AppData/Roaming with PID in the filename -// _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, -// [TFileAppenderOption.IncludePID])]); - -// Creates log in the same folder with PID in the filename -// _Log := BuildLogWriter([TLoggerProFileAppender.Create(10, 5, -// [TFileAppenderOption.IncludePID])]); - -end. diff --git a/lib/loggerpro/samples/rest_logs_collector/LogsCollectorControllerU.pas b/lib/loggerpro/samples/rest_logs_collector/LogsCollectorControllerU.pas deleted file mode 100644 index e4a5dc64..00000000 --- a/lib/loggerpro/samples/rest_logs_collector/LogsCollectorControllerU.pas +++ /dev/null @@ -1,56 +0,0 @@ -unit LogsCollectorControllerU; - -interface - -uses - MVCFramework, - MVCFramework.Commons; - -type - - [MVCPath('/api')] - TLogsCollectorController = class(TMVCController) - public - [MVCPath('/logs/($logtag)/($logtype)')] - [MVCHTTPMethod([httpPOST])] - [MVCConsumes(TMVCMediaType.TEXT_PLAIN)] - procedure Logs(const logtag, logtype: string); - - protected - procedure OnBeforeAction(Context: TWebContext; const AActionName: string; var Handled: Boolean); override; - procedure OnAfterAction(Context: TWebContext; const AActionName: string); override; - - public - end; - -implementation - -uses - System.SysUtils, - System.StrUtils, - LoggerProConfig, - LoggerPro; - -procedure TLogsCollectorController.Logs(const logtag, logtype: string); -var - lLogType: TLogType; -begin - lLogType := LoggerPro.StringToLogType(logtype); - Log.Log(lLogType, Context.Request.Body, logtag); -end; - -procedure TLogsCollectorController.OnAfterAction(Context: TWebContext; const AActionName: string); -begin - { Executed after each action } - inherited; -end; - -procedure TLogsCollectorController.OnBeforeAction(Context: TWebContext; const AActionName: string; var Handled: Boolean); -begin - { Executed before each action - if handled is true (or an exception is raised) the actual - action will not be called } - inherited; -end; - -end. diff --git a/tools/entitygenerator/mvcentgen.dpr b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/GenerateSwagger.dpr similarity index 53% rename from tools/entitygenerator/mvcentgen.dpr rename to lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/GenerateSwagger.dpr index 5526306b..c2f4953d 100644 --- a/tools/entitygenerator/mvcentgen.dpr +++ b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/GenerateSwagger.dpr @@ -1,14 +1,14 @@ -program mvcentgen; +program GenerateSwagger; uses Vcl.Forms, - MainFormU in 'MainFormU.pas' {MainForm}; + frmGenerate in 'frmGenerate.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; - Application.CreateForm(TMainForm, MainForm); + Application.CreateForm(TForm1, Form1); Application.Run; end. diff --git a/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/RedisLogsViewer.dproj b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/GenerateSwagger.dproj similarity index 94% rename from lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/RedisLogsViewer.dproj rename to lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/GenerateSwagger.dproj index 2cb64821..1a19719d 100644 --- a/lib/loggerpro/samples/90_remote_logging_with_redis/redis_logs_viewer/RedisLogsViewer.dproj +++ b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/GenerateSwagger.dproj @@ -1,10 +1,10 @@  - {0BE5E328-2DC7-416B-9C68-58DFC8223C46} - REDISLogsViewer.dpr + {E52D5C06-7ED6-48F1-AEA2-4E3F6FEC7532} + GenerateSwagger.dpr True Debug - 1025 + 1 Application VCL 18.6 @@ -52,35 +52,41 @@ true - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) false - 00400000 - REDISLogsViewer - false - false - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName= - 1040 false + false false + false + 00400000 + GenerateSwagger + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + 1046 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName= + ..\..\Lib + ..\..\Deploy + ..\..\Lib + ..\..\Source;$(DCC_UnitSearchPath) + ..\..\Lib - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - true - $(BDS)\bin\default_app.manifest - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) + Debug true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) 1033 + $(BDS)\bin\default_app.manifest + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + RELEASE;$(DCC_Define) 0 false - RELEASE;$(DCC_Define) 0 @@ -88,29 +94,26 @@ PerMonitor - true - false DEBUG;$(DCC_Define) + false + true Debug - 1033 - true - ..\..\common\ICONS\ICO\network.ico - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - Debug true + true + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) PerMonitor - ..\..\..\..\delphiredisclient\sources;$(DCC_UnitSearchPath) MainSource - -
MainForm
+ +
Form1
Cfg_2 @@ -130,24 +133,22 @@ - REDISLogsViewer.dpr + GenerateSwagger.dpr - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components - True + False True False - + - REDISLogsViewer.exe + GenerateSwagger.exe true diff --git a/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/frmGenerate.dfm b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/frmGenerate.dfm new file mode 100644 index 00000000..c93b5c9b --- /dev/null +++ b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/frmGenerate.dfm @@ -0,0 +1,35 @@ +object Form1: TForm1 + Left = 0 + Top = 0 + Caption = 'Generate Swagger JSON' + ClientHeight = 299 + ClientWidth = 635 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + PixelsPerInch = 96 + TextHeight = 13 + object Memo1: TMemo + Left = 0 + Top = 47 + Width = 635 + Height = 252 + Align = alBottom + Anchors = [akLeft, akTop, akRight, akBottom] + ScrollBars = ssBoth + TabOrder = 0 + end + object btnGenerate: TButton + Left = 8 + Top = 8 + Width = 75 + Height = 25 + Caption = 'Generate' + TabOrder = 1 + OnClick = btnGenerateClick + end +end diff --git a/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/frmGenerate.pas b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/frmGenerate.pas new file mode 100644 index 00000000..5dd0e77b --- /dev/null +++ b/lib/swagdoc/Demos/GenerateSwaggerJsonFromCode/frmGenerate.pas @@ -0,0 +1,203 @@ +unit frmGenerate; + +interface + +uses + Winapi.Windows, + Winapi.Messages, + System.SysUtils, + System.Variants, + System.Classes, + System.Json, + Vcl.Graphics, + Vcl.Controls, + Vcl.Forms, + Vcl.Dialogs, + Vcl.StdCtrls; + +type + TForm1 = class(TForm) + Memo1: TMemo; + btnGenerate: TButton; + procedure btnGenerateClick(Sender: TObject); + private + function CreateJsonSomeSubType: TJsonObject; + function CreateJsonSomeType(pJsonObjectSubType: TJsonObject): TJsonObject; + public + { Public declarations } + end; + +var + Form1: TForm1; + +implementation + +{$R *.dfm} + +uses + Json.Common.Helpers, + Swag.Common.Types, + Swag.Doc.Path, + Swag.Doc.Path.Operation, + Swag.Doc.Path.Operation.RequestParameter, + Swag.Doc.Path.Operation.Response, + Swag.Doc.Path.Operation.ResponseHeaders, + Swag.Doc.Definition, + Swag.Doc; + +procedure TForm1.btnGenerateClick(Sender: TObject); +var + vSwagDoc: TSwagDoc; + vPath: TSwagPath; + vOperation: TSwagPathOperation; + vParam: TSwagRequestParameter; + vResponse: TSwagResponse; + vDefinitionSomeType: TSwagDefinition; + vDefinitionResponseSomeType: TSwagDefinition; + vDefinitionSomeSubType: TSwagDefinition; + vResponseHeader: TSwagHeaders; +begin + vSwagDoc := TSwagDoc.Create; + try + vSwagDoc.Info.Title := 'Sample API'; + vSwagDoc.Info.Version := 'v1.2'; + vSwagDoc.Info.TermsOfService := 'https://example.com/someurl/tos'; + vSwagDoc.Info.Description := 'Sample API Description'; + vSwagDoc.Info.Contact.Name := 'John Smith'; + vSwagDoc.Info.Contact.Email := 'jsmith@example.com'; + vSwagDoc.Info.Contact.Url := 'https://example.com/contact'; + vSwagDoc.Info.License.Name := 'Some License'; + vSwagDoc.Info.License.Url := 'https://example.com/license'; + + vSwagDoc.Host := 'example.com'; + vSwagDoc.BasePath := '/basepath'; + + vSwagDoc.Consumes.Add('application/json'); + + vSwagDoc.Produces.Add('text/xml'); + vSwagDoc.Produces.Add('application/json'); + + vSwagDoc.Schemes := [tpsHttps]; + + vDefinitionSomeSubType := TSwagDefinition.Create; + vDefinitionSomeSubType.Name := 'SomeSubType'; + vDefinitionSomeSubType.JsonSchema := CreateJsonSomeSubType; + vSwagDoc.Definitions.Add(vDefinitionSomeSubType); + + vDefinitionSomeType := TSwagDefinition.Create; + vDefinitionSomeType.Name := 'SomeType'; + vDefinitionSomeType.JsonSchema := CreateJsonSomeType(vDefinitionSomeSubType.GenerateJsonRefDefinition); + vSwagDoc.Definitions.Add(vDefinitionSomeType); + + vPath := TSwagPath.Create; + vPath.Uri := '/path/request/{param1}'; + + vOperation := TSwagPathOperation.Create; + vOperation.Operation := ohvPost; + vOperation.OperationId := 'RequestData'; + vOperation.Description := 'Requests some data'; + + vParam := TSwagRequestParameter.Create; + vParam.Name := 'param1'; + vParam.InLocation := rpiPath; + vParam.Description := 'A param required'; + vParam.Required := True; + vParam.TypeParameter := stpString; + vOperation.Parameters.Add(vParam); + + vParam := TSwagRequestParameter.Create; + vParam.Name := 'param2'; + vParam.InLocation := rpiQuery; + vParam.Description := 'A param that is not required'; + vParam.Required := False; + vParam.TypeParameter := stpString; + vOperation.Parameters.Add(vParam); + + vParam := TSwagRequestParameter.Create; + vParam.Name := 'param3'; + vParam.InLocation := rpiBody; + vParam.Required := True; + vParam.Schema.Name := 'SomeType'; + vOperation.Parameters.Add(vParam); + + vResponse := TSwagResponse.Create; + vResponse.StatusCode := '200'; + vResponse.Description := 'Successfully retrieved data'; + vResponse.Schema.Name := 'SomeType'; + vOperation.Responses.Add('200', vResponse); + + vResponseHeader := TSwagHeaders.Create; + vResponseHeader.Name := 'X-Rate-Limit-Limit'; + vResponseHeader.Description := 'The number of allowed requests in the current period'; + vResponseHeader.ValueType := 'integer'; + vResponse.Headers.Add(vResponseHeader); + + vResponse := TSwagResponse.Create; + vResponse.StatusCode := 'default'; + vResponse.Description := 'Error occured'; + + vOperation.Responses.Add('default',vResponse); + + vOperation.Tags.Add('TagName'); + + vPath.Operations.Add(vOperation); + vSwagDoc.Paths.Add(vPath); + + vSwagDoc.GenerateSwaggerJson; + Memo1.Lines.Add(vSwagDoc.SwaggerJson.Format); + finally + FreeAndNil(vSwagDoc); + end; +end; + +function TForm1.CreateJsonSomeSubType: TJsonObject; +var + vJsonType: TJsonObject; + vJsonProperities: TJsonObject; +begin + Result := TJsonObject.Create; + + Result.AddPair('type','object'); + + vJsonType := TJsonObject.Create; + vJsonType.AddPair('type', 'string'); + + vJsonProperities := TJsonObject.Create; + vJsonProperities.AddPair('id', vJsonType); + + Result.AddPair('properties', vJsonProperities); +end; + +function TForm1.CreateJsonSomeType(pJsonObjectSubType: TJsonObject): TJsonObject; +var + vJsonId: TJsonObject; + vJsonCost: TJsonObject; + vJsonProperities: TJsonObject; +begin + Result := TJsonObject.Create; + Result.AddPair('type', 'object'); + + vJsonId := TJsonObject.Create; + vJsonId.AddPair('type', 'integer'); + vJsonId.AddPair('format', 'int64'); + + vJsonProperities := TJsonObject.Create; + vJsonProperities.AddPair('id', vJsonId); + + vJsonProperities.AddPair('subType', pJsonObjectSubType); + + vJsonCost := TJsonObject.Create; + vJsonCost.AddPair('type', 'string'); + vJsonCost.AddPair('format', 'decimel'); + vJsonCost.AddPair('multipleOf', TJsonNumber.Create(0.01)); + vJsonCost.AddPair('minimum', TJsonNumber.Create(-9999999999.99)); + vJsonCost.AddPair('maximum', TJsonNumber.Create(9999999999.99)); + vJsonCost.AddPair('title', 'Total Cost'); + vJsonCost.AddPair('description', 'Total Cost'); + vJsonCost.AddPair('example', TJsonNumber.Create(9999999999.99)); + vJsonProperities.AddPair('cost', vJsonCost); + + Result.AddPair('properties', vJsonProperities); +end; + +end. diff --git a/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/GenerateUnitFileForMVCFramework.dpr b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/GenerateUnitFileForMVCFramework.dpr new file mode 100644 index 00000000..bab06f13 --- /dev/null +++ b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/GenerateUnitFileForMVCFramework.dpr @@ -0,0 +1,16 @@ +program GenerateUnitFileForMVCFramework; + +uses + System.StartUpCopy, + FMX.Forms, + Sample.Main in 'Sample.Main.pas' {Form1}, + Sample.DelphiUnit.Generate in 'Sample.DelphiUnit.Generate.pas', + Sample.MvcControllerClientFileBuilder in 'Sample.MvcControllerClientFileBuilder.pas'; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. diff --git a/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/GenerateUnitFileForMVCFramework.dproj b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/GenerateUnitFileForMVCFramework.dproj new file mode 100644 index 00000000..7eb89f14 --- /dev/null +++ b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/GenerateUnitFileForMVCFramework.dproj @@ -0,0 +1,1198 @@ + + + {24FD5F7F-9158-4F54-B5A0-2AEC408AD0BB} + 18.7 + FMX + GenerateUnitFileForMVCFramework.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + .\$(Platform)\$(Config) + ..\..\Deploy + false + false + false + false + false + RESTComponents;FireDAC;FireDACSqliteDriver;soaprtl;FireDACIBDriver;soapmidas;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;$(DCC_UsePackage) + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\delphi_PROJECTICNS.icns + GenerateUnitFileForMVCFramework + ..\..\Source;$(DCC_UnitSearchPath) + 1046 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;$(DCC_UsePackage) + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + + + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSCameraUsageDescription=The reason for accessing the camera + iPhoneAndiPad + true + Debug + $(MSBuildProjectName) + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_828x1792.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1136x640.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2688.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1334x750.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1792x828.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2688x1242.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_83.5x83.5.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2224.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2388.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_2048x2732.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2224x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2388x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2732x2048.png + + + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSCameraUsageDescription=The reason for accessing the camera + iPhoneAndiPad + true + Debug + $(MSBuildProjectName) + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_828x1792.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1136x640.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2688.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1334x750.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1792x828.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2688x1242.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_83.5x83.5.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2224.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2388.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_2048x2732.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2224x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2388x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2732x2048.png + + + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSCameraUsageDescription=The reason for accessing the camera + iPhoneAndiPad + true + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_320x480.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x960.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_640x1136.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1125x2436.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2436x1125.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1004.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_768x1024.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x748.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_1024x768.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2008.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1496.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2048x1536.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_828x1792.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1136x640.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2688.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1334x750.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1792x828.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2688x1242.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_83.5x83.5.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2224.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2388.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_2048x2732.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2224x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2388x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2732x2048.png + + + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FireDACPgDriver;inetdb;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;fmxdae;xmlrtl;fmxobj;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;fmxase;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts + Debug + true + + + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;vcltouch;vcldb;bindcompfmx;svn;FireDACPgDriver;inetdb;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;fmxdae;xmlrtl;Tee;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;IndyIPClient;bindcompvcl;TeeUI;VCLRESTComponents;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;vcltouch;vcldb;bindcompfmx;FireDACPgDriver;inetdb;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;fmxdae;xmlrtl;Tee;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;IndyIPClient;bindcompvcl;TeeUI;VCLRESTComponents;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + true + true + 1033 + ..\..\Lib + PerMonitor + + + true + PerMonitor + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitor + + + true + PerMonitor + + + + MainSource + + +
Form1
+ fmx +
+ + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + GenerateUnitFileForMVCFramework.dpr + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + true + + + + + GenerateUnitFileForMVCFramework.exe + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 1 + + + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + + + res\values + 1 + + + + + res\values-v21 + 1 + + + + + res\values + 1 + + + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + False + False + False + False + False + True + False + + + 12 + + + + +
diff --git a/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.DelphiUnit.Generate.pas b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.DelphiUnit.Generate.pas new file mode 100644 index 00000000..5cdc5aab --- /dev/null +++ b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.DelphiUnit.Generate.pas @@ -0,0 +1,808 @@ +{******************************************************************************} +{ } +{ Delphi SwagDoc Library } +{ Copyright (c) 2018 Marcelo Jaloto } +{ https://github.com/marcelojaloto/SwagDoc } +{ } +{ Sample author: geoffsmith82 - 2019 } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.DelphiUnit.Generate; + +interface + +uses + System.Classes, + System.Json, + System.SysUtils, + System.Rtti, + System.TypInfo, + System.Generics.Collections, + System.Generics.Defaults; + +type + TUnitTypeDefinition = class; + + TUnitFieldDefinition = class + strict private + fFieldName: string; + fFieldType: string; + fAttributes: TStringList; + fDescription: string; + public + constructor Create; + destructor Destroy; override; + + procedure AddAttribute(const pAttribute: string); + + function GenerateInterface: string; + + property FieldName: string read fFieldName write fFieldName; + property FieldType: string read fFieldType write fFieldType; + property Description: string read fDescription write fDescription; + end; + + TUnitParameter = class + strict private + fFlags: TParamFlags; + fType: TUnitTypeDefinition; + fParamName: string; + fAttributes: TStringList; + public + constructor Create; + destructor Destroy; override; + + procedure AddAttribute(const pAttribute: string); + + property Attributes: TStringList read fAttributes write fAttributes; + property ParamName: string read fParamName write fParamName; + property Flags: TParamFlags read fFlags write fFlags; + property ParamType: TUnitTypeDefinition read fType write fType; + end; + + TUnitMethod = class + strict private + fAttributes: TStringList; + fMethodKind: TMethodKind; + fVisibility: TMemberVisibility; + fName: string; + fIsStatic: Boolean; + fIsClassMethod: Boolean; + fReturnType: TUnitTypeDefinition; + fParams: TObjectList; + fVars: TObjectList; + fContent: TStringList; + + procedure ParametersToDelphiString(var pParamString: string; pIncludeAttributes: Boolean); + procedure MethodLocalVarsToDelphiString(pFuncSL: TStringList); + + function MethodKindToDelphiString(var pHasReturn: Boolean): string; + function GetIsConstructor: Boolean; + function GetIsDestructor: Boolean; + public + constructor Create; + destructor Destroy; override; + + procedure AddParameter(pParam: TUnitParameter); + procedure AddLocalVariable(pVar: TUnitParameter); + procedure AddAttribute(const pAttribute: string); + + function GetParameters: TArray; + function GenerateInterface: string; + function GenerateImplementation(pOnType: TUnitTypeDefinition): string; + + property Content: TStringList read fContent write fContent; + property MethodKind: TMethodKind read fMethodKind write fMethodKind; + property Visibility: TMemberVisibility read fVisibility write fVisibility; + property Name: string read fName write fName; + property IsConstructor: Boolean read GetIsConstructor; + property IsDestructor: Boolean read GetIsDestructor; + property IsClassMethod: Boolean read fIsClassMethod write fIsClassMethod; + // Static: No 'Self' parameter + property IsStatic: Boolean read fIsStatic write fIsStatic; + property ReturnType: TUnitTypeDefinition read fReturnType write fReturnType; + end; + + TUnitTypeDefinition = class + strict private + fTypeName: string; + fTypeInheritedFrom: string; + fAttributes: TStringList; + fTypeKind: TTypeKind; + fForwardDeclare: Boolean; + fGuid : TGUID; + fFields: TObjectList; + fMethods: TObjectList; + public + constructor Create; + destructor Destroy; override; + + procedure AddAttribute(const pAttribute: string); + + function GetMethods: TArray; + function GenerateInterface: string; + function GenerateForwardInterface: string; + + property Guid: TGUID read fGuid write fGuid; + property TypeName: string read fTypeName write fTypeName; + property TypeKind: TTypeKind read fTypeKind write fTypeKind; + property TypeInherited: string read fTypeInheritedFrom write fTypeInheritedFrom; + property ForwardDeclare: Boolean read fForwardDeclare write fForwardDeclare; + property Fields: TObjectList read fFields; + property Methods: TObjectList read fMethods; + end; + + TDelphiUnit = class + strict private + fInterfaceUses: TStringList; + fImplementationUses: TStringList; + fInterfaceConstant: TStringList; + fImplementationConstant: TStringList; + fUnitName: string; + fTitle: string; + fDescription: string; + fLicense: string; + fTypeDefinitions: TObjectList; + public + constructor Create; virtual; + destructor Destroy; override; + + function Generate: string; + function GenerateInterfaceSectionStart: string; virtual; + function GenerateInterfaceUses: string; virtual; + function GenerateImplementationSectionStart: string; virtual; + function GenerateImplementationUses: string; virtual; + function GenerateImplementationConstants: string; virtual; + function CreateGUID: TGuid; + + procedure AddInterfaceUnit(const pFilename: string); virtual; + procedure AddInterfaceConstant(const pName: string; const pValue: string); + procedure AddImplementationUnit(const pFilename: string); virtual; + procedure AddImplementationConstant(const pName: string; const pValue: string); + procedure AddType(pTypeInfo: TUnitTypeDefinition); + procedure SortTypeDefinitions; + + property UnitFile: string read fUnitName write fUnitName; + property Title: string read fTitle write fTitle; + property Description: string read fDescription write fDescription; + property License: string read fLicense write fLicense; + end; + +implementation + +function DelphiVarName(const pVarName: string):string; +begin + Result := pVarName; + if Result.ToLower = 'type' then + Result := '&' + Result + else if Result.ToLower = 'file' then + Result := '&' + Result; +end; + +{ TDelphiUnit } + +procedure TDelphiUnit.AddImplementationConstant(const pName, pValue: string); +begin + fImplementationConstant.AddPair(pName, pValue); +end; + +procedure TDelphiUnit.AddImplementationUnit(const pFilename: string); +var + vInterfaceIndex : Integer; +begin + vInterfaceIndex := fInterfaceUses.IndexOf(pFilename); + if vInterfaceIndex < 0 then + begin + if fImplementationUses.IndexOf(pFilename) < 0 then + fImplementationUses.Add(pFilename); + end; +end; + +procedure TDelphiUnit.AddInterfaceConstant(const pName, pValue: string); +begin + fInterfaceConstant.AddPair(pName, pValue); +end; + +procedure TDelphiUnit.AddInterfaceUnit(const pFilename: string); +var + vImpIndex : Integer; +begin + vImpIndex := fImplementationUses.IndexOf(pFilename); + if vImpIndex >= 0 then + fImplementationUses.Delete(vImpIndex); + + if fInterfaceUses.IndexOf(pFilename) < 0 then + fInterfaceUses.Add(pFilename); +end; + +procedure TDelphiUnit.AddType(pTypeInfo: TUnitTypeDefinition); +begin + fTypeDefinitions.Add(pTypeInfo); +end; + +constructor TDelphiUnit.Create; +begin + fInterfaceUses := TStringList.Create; + fInterfaceConstant := TStringList.Create; + fImplementationConstant := TStringList.Create; + fImplementationUses := TStringList.Create; + fTypeDefinitions := TObjectList.Create; +end; + +destructor TDelphiUnit.Destroy; +begin + FreeAndNil(fInterfaceUses); + FreeAndNil(fImplementationUses); + FreeAndNil(fInterfaceConstant); + FreeAndNil(fImplementationConstant); + FreeAndNil(fTypeDefinitions); + inherited; +end; + +function TDelphiUnit.GenerateImplementationConstants: string; +var + vConstList : TStringList; + vImpIndex : Integer; +begin + vConstList := TStringList.Create; + try + if fImplementationConstant.Count > 0 then + begin + vConstList.Add('const'); + for vImpIndex := 0 to fImplementationConstant.Count - 1 do + begin + vConstList.Add(' ' + fImplementationConstant.Names[vImpIndex] + ' = ' + fImplementationConstant.ValueFromIndex[vImpIndex] + ';'); + end; + end; + Result := vConstList.Text; + finally + FreeAndNil(vConstList); + end; +end; + +function TDelphiUnit.GenerateImplementationSectionStart: string; +var + vImplementationSection: TStringList; +begin + vImplementationSection := TStringList.Create; + try + vImplementationSection.Add(''); + vImplementationSection.Add('implementation'); + vImplementationSection.Add(''); + Result := vImplementationSection.Text; + finally + FreeAndNil(vImplementationSection); + end; +end; + +function TDelphiUnit.GenerateImplementationUses: string; +var + vUsesList: TStringList; + vImplIndex: Integer; +begin + vUsesList := TStringList.Create; + try + if fImplementationUses.Count > 0 then + begin + vUsesList.Add('uses'); + for vImplIndex := 0 to fImplementationUses.Count - 1 do + begin + if vImplIndex = 0 then + vUsesList.Add(' ' + fImplementationUses[vImplIndex]) + else + vUsesList.Add(' , ' + fImplementationUses[vImplIndex]); + end; + vUsesList.Add(' ;'); + end; + vUsesList.Add(''); + Result := vUsesList.Text; + finally + FreeAndNil(vUsesList); + end; +end; + +function TDelphiUnit.GenerateInterfaceSectionStart: string; +var + vInterfaceSectionList: TStringList; +begin + vInterfaceSectionList := TStringList.Create; + try + vInterfaceSectionList.Add('unit ' + UnitFile + ';'); + vInterfaceSectionList.Add(''); + vInterfaceSectionList.Add('interface'); + vInterfaceSectionList.Add(''); + Result := vInterfaceSectionList.Text; + finally + FreeAndNil(vInterfaceSectionList); + end; +end; + +function TDelphiUnit.GenerateInterfaceUses: string; +var + vUsesList: TStringList; + vUseIndex: Integer; +begin + vUsesList := TStringList.Create; + try + if fInterfaceUses.Count > 0 then + begin + vUsesList.Add('uses'); + for vUseIndex := 0 to fInterfaceUses.Count - 1 do + begin + if vUseIndex = 0 then + vUsesList.Add(' ' + fInterfaceUses[vUseIndex]) + else + vUsesList.Add(' , ' + fInterfaceUses[vUseIndex]); + end; + vUsesList.Add(' ;'); + end; + vUsesList.Add(''); + Result := vUsesList.Text; + finally + FreeAndNil(vUsesList); + end; +end; + +function TDelphiUnit.Generate: string; +var + vIndex: Integer; + vMethod: TUnitMethod; + vUnitFileList: TStringList; + vForwardAlreadyDeclared: Boolean; +begin + vForwardAlreadyDeclared := False; + vUnitFileList := TStringList.Create; + try + vUnitFileList.Add(GenerateInterfaceSectionStart); + vUnitFileList.Add(GenerateInterfaceUses); + vUnitFileList.Add('(*'); + vUnitFileList.Add('Title: ' + Title); + vUnitFileList.Add('Description: ' + Description); + vUnitFileList.Add('License: ' + License); + vUnitFileList.Add('*)'); + vUnitFileList.Add(''); + vUnitFileList.Add('type'); + + SortTypeDefinitions; + + if fInterfaceConstant.Count > 0 then + begin + vUnitFileList.Add('const'); + for vIndex := 0 to fInterfaceConstant.Count - 1 do + begin + vUnitFileList.Add(' ' + fInterfaceConstant.Names[vIndex] + ' = ' + fInterfaceConstant.ValueFromIndex[vIndex] + ';'); + end; + end; + + for vIndex := 0 to fTypeDefinitions.Count - 1 do + begin + if fTypeDefinitions[vIndex].ForwardDeclare then + begin + if not vForwardAlreadyDeclared then + vUnitFileList.Add(' // Forward Declarations'); + vUnitFileList.Add(fTypeDefinitions[vIndex].GenerateForwardInterface); + vForwardAlreadyDeclared := True; + end; + end; + + for vIndex := 0 to fTypeDefinitions.Count - 1 do + begin + vUnitFileList.Add(fTypeDefinitions[vIndex].GenerateInterface); + end; + + vUnitFileList.Add(GenerateImplementationSectionStart); + vUnitFileList.Add(GenerateImplementationUses); + vUnitFileList.Add(''); + GenerateImplementationConstants; + for vIndex := 0 to fTypeDefinitions.Count - 1 do + begin + for vMethod in fTypeDefinitions[vIndex].GetMethods do + begin + vUnitFileList.Add(vMethod.GenerateImplementation(fTypeDefinitions[vIndex])); + end; + end; + vUnitFileList.Add('end.'); + Result := vUnitFileList.Text; + finally + FreeAndNil(vUnitFileList); + end; +end; + +function TDelphiUnit.CreateGUID: TGuid; +var + vGuid: TGUID; +begin + System.SysUtils.CreateGuid(vGuid); + Result := vGuid; +end; + +procedure TDelphiUnit.SortTypeDefinitions; +begin + { TODO : Make this much more advanced to handle dependency ordering of declarations } + + fTypeDefinitions.Sort(TComparer.Construct( + function(const vTypeA, vTypeB: TUnitTypeDefinition): Integer + begin + if vTypeA.TypeName = 'TMyMVCController' then + Result := 1 + else if vTypeB.TypeName = 'TMyMVCController' then + Result := -1 + else + Result := CompareText(vTypeA.TypeName, vTypeB.TypeName); + end)); +end; + +{ TTypeDefinition } + +constructor TUnitTypeDefinition.Create; +begin + fAttributes := TStringList.Create; + fFields := TObjectList.Create; + fMethods := TObjectList.Create; + fTypeKind := tkClass; + fForwardDeclare := False; +end; + +destructor TUnitTypeDefinition.Destroy; +begin + FreeAndNil(fAttributes); + FreeAndNil(fFields); + FreeAndNil(fMethods); + inherited; +end; + +procedure TUnitTypeDefinition.AddAttribute(const pAttribute: string); +begin + fAttributes.Add(pAttribute); +end; + +function TUnitTypeDefinition.GenerateForwardInterface: string; +begin + if fTypeKind = tkClass then + Result := ' ' + TypeName + ' : class;' + else if fTypeKind = tkInterface then + Result := ' ' + TypeName + ' : interface;' + else + Result := ' ' + TypeName + 'xxxx'; +end; + +function TUnitTypeDefinition.GenerateInterface: string; +var + vInterfaceList: TStringList; + vAttributeIndex: Integer; + vFieldIndex: Integer; +begin + vInterfaceList := TStringList.Create; + try + for vAttributeIndex := 0 to fAttributes.Count - 1 do + begin + vInterfaceList.Add(fAttributes[vAttributeIndex]); + end; + if fTypeKind = tkClass then + begin + if TypeInherited.Length > 0 then + vInterfaceList.Add(' ' + TypeName + ' = class(' + TypeInherited + ')') + else + vInterfaceList.Add(' ' + TypeName + ' = class'); + end + else if fTypeKind = tkInterface then + begin + if TypeInherited.Length > 0 then + begin + vInterfaceList.Add(' ' + TypeName + ' = interface(' + TypeInherited + ')'); + vInterfaceList.Add(' [' + GUIDToString(fGuid).QuotedString + ']'); + end + else + begin + vInterfaceList.Add(' ' + TypeName + ' = interface'); + vInterfaceList.Add(' [' + GUIDToString(fGuid).QuotedString + ']'); + end; + end; + + for vFieldIndex := 0 to fFields.Count - 1 do + begin + vInterfaceList.Add(fFields[vFieldIndex].GenerateInterface); + end; + + for vFieldIndex := 0 to fMethods.Count - 1 do + begin + vInterfaceList.Add(TrimRight(fMethods[vFieldIndex].GenerateInterface)); + vInterfaceList.Add(''); + end; + + vInterfaceList.Add(' end;'); + + Result := vInterfaceList.Text; + finally + FreeAndNil(vInterfaceList); + end; +end; + +function TUnitTypeDefinition.GetMethods: TArray; +var + vMethodIndex: Integer; +begin + SetLength(Result, fMethods.Count); + for vMethodIndex := 0 to fMethods.Count - 1 do + begin + Result[vMethodIndex] := fMethods[vMethodIndex]; + end; +end; + +{ TFieldDefinition } + +constructor TUnitFieldDefinition.Create; +begin + fAttributes := TStringList.Create; +end; + +destructor TUnitFieldDefinition.Destroy; +begin + FreeAndNil(fAttributes); + inherited Destroy; +end; + +procedure TUnitFieldDefinition.AddAttribute(const pAttribute: string); +begin + fAttributes.Add(pAttribute); +end; + +function TUnitFieldDefinition.GenerateInterface: string; +var + vAttributeIndex: Integer; + vInterfaceList: TStringList; + vType: string; +begin + vInterfaceList := TStringList.Create; + try + vType := fFieldType; + for vAttributeIndex := 0 to fAttributes.Count - 1 do + begin + vInterfaceList.Add(' ' + fAttributes[vAttributeIndex]); + end; + + if Description.Length > 0 then + vInterfaceList.Add(' [MVCDoc(' + QuotedStr(Description) + ')]'); + + vInterfaceList.Add(' ' + DelphiVarName(fFieldName + ' : ' + vType + ';')); + Result := vInterfaceList.Text; + finally + FreeAndNil(vInterfaceList); + end; +end; + +{ TUnitMethod } + +constructor TUnitMethod.Create; +begin + fParams := TObjectList.Create; + fAttributes := TStringList.Create; + fVars := TObjectList.Create; + fContent := TStringList.Create; +end; + +destructor TUnitMethod.Destroy; +begin + FreeAndNil(fParams); + FreeAndNil(fAttributes); + FreeAndNil(fVars); + FreeAndNil(fContent); + inherited Destroy; +end; + +procedure TUnitMethod.AddAttribute(const pAttribute: string); +begin + fAttributes.Add(pAttribute); +end; + +procedure TUnitMethod.AddLocalVariable(pVar: TUnitParameter); +begin + fVars.Add(pVar); +end; + +procedure TUnitMethod.AddParameter(pParam: TUnitParameter); +begin + fParams.Add(pParam); +end; + +procedure TUnitMethod.MethodLocalVarsToDelphiString(pFuncSL: TStringList); +var + vVarIndex: Integer; +begin + if fVars.Count <= 0 then + Exit; + + pFuncSL.Add('var'); + for vVarIndex := 0 to fVars.Count - 1 do + begin + pFuncSL.Add(' ' + fVars[vVarIndex].ParamName + ' : ' + fVars[vVarIndex].ParamType.TypeName + ';'); + end; +end; + +procedure TUnitMethod.ParametersToDelphiString(var pParamString: string; pIncludeAttributes: Boolean); +var + vParam: TUnitParameter; + vParamFlagString: string; + vParamName: string; + vParamAttributeString : string; + vAttributeIndex: Integer; +begin + pParamString := '('; + for vParam in GetParameters do + begin + vParamFlagString := ''; + if pfConst in vParam.Flags then + vParamFlagString := 'const' + else if pfVar in vParam.Flags then + vParamFlagString := 'var' + else if pfOut in vParam.Flags then + vParamFlagString := 'out' + else if pfArray in vParam.Flags then + vParamFlagString := 'array of'; + if vParamFlagString.Length > 0 then + vParamFlagString := vParamFlagString + ' '; + + if pIncludeAttributes then + begin + for vAttributeIndex := 0 to vParam.Attributes.Count - 1 do + begin + vParamAttributeString := vParamAttributeString + ' ' + vParam.Attributes[vAttributeIndex]; + end; + + vParamAttributeString := Trim(vParamAttributeString) + ' '; + end; + + vParamName := DelphiVarName(vParam.ParamName); + pParamString := pParamString + vParamAttributeString + vParamFlagString + vParamName + ': ' + vParam.ParamType.TypeName + '; '; + end; + if pParamString.EndsWith('; ') then + pParamString := pParamString.Remove(pParamString.Length - 2); + pParamString := pParamString + ')'; + if pParamString = '()' then + pParamString := ''; +end; + +function TUnitMethod.MethodKindToDelphiString(var pHasReturn: Boolean): string; +begin + case MethodKind of + mkProcedure: + Result := 'procedure'; + mkFunction: + begin + Result := 'function'; + pHasReturn := True; + end; + mkDestructor: + Result := 'destructor'; + mkConstructor: + Result := 'constructor'; + mkClassFunction: + begin + Result := 'class function'; + pHasReturn := True; + end; + mkClassProcedure: + Result := 'class procedure'; + mkClassConstructor: + Result := 'class constructor'; + mkClassDestructor: + Result := 'class destructor'; + else + Result := 'unknown'; + end; +end; + +function TUnitMethod.GenerateImplementation(pOnType: TUnitTypeDefinition): string; +var + vProcTypeString: string; + vHasReturn: Boolean; + vParamString: string; + vClassNameProcIn: string; + vFunctionList: TStringList; +begin + vHasReturn := False; + vClassNameProcIn := ''; + vProcTypeString := MethodKindToDelphiString(vHasReturn); + + if Assigned(pOnType) then + vClassNameProcIn := pOnType.TypeName + '.'; + ParametersToDelphiString(vParamString, False); + + if vHasReturn then + Result := vProcTypeString + ' ' + vClassNameProcIn + fName + vParamString + ': ' + ReturnType.TypeName + ';' + else + Result := vProcTypeString + ' ' + vClassNameProcIn + fName + vParamString + ';'; + + vFunctionList := TStringList.Create; + try + vFunctionList.Text := Result; + + MethodLocalVarsToDelphiString(vFunctionList); + + vFunctionList.Add('begin'); + vFunctionList.Add(Content.Text); + vFunctionList.Add('end;'); + + Result := vFunctionList.Text; + finally + FreeAndNil(vFunctionList); + end; +end; + +function TUnitMethod.GenerateInterface: string; +var + vProcTypeString: string; + vHasReturn: Boolean; + vParamString: string; + vAttributeString: string; +begin + vHasReturn := False; + vProcTypeString := MethodKindToDelphiString(vHasReturn); + + ParametersToDelphiString(vParamString, True); + + if vHasReturn then + Result := ' ' + vProcTypeString + ' ' + fName + vParamString + ': ' + ReturnType.TypeName + ';' + else + Result := ' ' + vProcTypeString + ' ' + fName + vParamString + ';'; + + vAttributeString := fAttributes.Text; + Result := vAttributeString + Result; +end; + +function TUnitMethod.GetIsConstructor: Boolean; +begin + Result := MethodKind = mkConstructor; +end; + +function TUnitMethod.GetIsDestructor: Boolean; +begin + Result := MethodKind = mkDestructor; +end; + +function TUnitMethod.GetParameters: TArray; +var + vParam: Integer; +begin + SetLength(Result, fParams.Count); + for vParam := 0 to fParams.Count - 1 do + begin + Result[vParam] := fParams[vParam]; + end; +end; + +{ TUnitParameter } + +constructor TUnitParameter.Create; +begin + fAttributes := TStringList.Create; +end; + +destructor TUnitParameter.Destroy; +begin + FreeAndNil(fAttributes); + inherited Destroy; +end; + +procedure TUnitParameter.AddAttribute(const pAttribute: string); +begin + fAttributes.Add(pAttribute); +end; + +end. + diff --git a/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.Main.fmx b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.Main.fmx new file mode 100644 index 00000000..af8788e7 --- /dev/null +++ b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.Main.fmx @@ -0,0 +1,86 @@ +object Form1: TForm1 + Left = 0 + Top = 0 + Caption = 'Sample Api with Documentation Swagger using SwagDoc' + ClientHeight = 685 + ClientWidth = 605 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + DesignerMasterStyle = 0 + object TabControl1: TTabControl + Align = Bottom + Position.Y = 40.000000000000000000 + Size.Width = 605.000000000000000000 + Size.Height = 645.000000000000000000 + Size.PlatformDefault = False + TabIndex = 1 + TabOrder = 2 + TabPosition = PlatformDefault + Sizes = ( + 605s + 619s + 605s + 619s) + object TabItem1: TTabItem + CustomIcon = < + item + end> + IsSelected = False + Size.Width = 98.000000000000000000 + Size.Height = 26.000000000000000000 + Size.PlatformDefault = False + StyleLookup = '' + TabOrder = 0 + Text = 'Swagger JSON' + ExplicitSize.cx = 98.000000000000000000 + ExplicitSize.cy = 26.000000000000000000 + object Memo1: TMemo + Touch.InteractiveGestures = [Pan, LongTap, DoubleTap] + DataDetectorTypes = [] + Align = Client + Size.Width = 605.000000000000000000 + Size.Height = 619.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Viewport.Width = 601.000000000000000000 + Viewport.Height = 615.000000000000000000 + end + end + object TabItem2: TTabItem + CustomIcon = < + item + end> + IsSelected = True + Size.Width = 89.000000000000000000 + Size.Height = 26.000000000000000000 + Size.PlatformDefault = False + StyleLookup = '' + TabOrder = 0 + Text = 'Delphi Client' + ExplicitSize.cx = 136.000000000000000000 + ExplicitSize.cy = 26.000000000000000000 + object Memo2: TMemo + Touch.InteractiveGestures = [Pan, LongTap, DoubleTap] + DataDetectorTypes = [] + Align = Client + Size.Width = 605.000000000000000000 + Size.Height = 619.000000000000000000 + Size.PlatformDefault = False + TabOrder = 0 + Viewport.Width = 601.000000000000000000 + Viewport.Height = 615.000000000000000000 + end + end + end + object btnGenerateClient: TButton + Position.X = 24.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 121.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + TabOrder = 3 + Text = 'Generate Client' + OnClick = btnGenerateClientClick + end +end diff --git a/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.Main.pas b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.Main.pas new file mode 100644 index 00000000..761972d7 --- /dev/null +++ b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.Main.pas @@ -0,0 +1,96 @@ +{******************************************************************************} +{ } +{ Delphi SwagDoc Library } +{ Copyright (c) 2018 Marcelo Jaloto } +{ https://github.com/marcelojaloto/SwagDoc } +{ } +{ Sample author: geoffsmith82 - 2019 } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.Main; + +interface + +uses + System.SysUtils, + System.Types, + System.UITypes, + System.Classes, + System.Variants, + FMX.Types, + FMX.Controls, + FMX.Forms, + FMX.Graphics, + FMX.Dialogs, + FMX.Controls.Presentation, + FMX.StdCtrls, + FMX.ScrollBox, + FMX.Memo, + FMX.TabControl; + +type + TForm1 = class(TForm) + Memo1: TMemo; + TabControl1: TTabControl; + TabItem1: TTabItem; + TabItem2: TTabItem; + Memo2: TMemo; + btnGenerateClient: TButton; + procedure btnGenerateClientClick(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + +implementation + +{$R *.fmx} + +uses + System.IOUtils, + Swag.Doc, + Sample.MvcControllerClientFileBuilder; + +procedure TForm1.btnGenerateClientClick(Sender: TObject); +var + vClientBuilder: TSwagDocToDelphiRESTClientBuilder; + vSwagDoc: TSwagDoc; + vFilename: string; +begin + vClientBuilder := nil; + try + vSwagDoc := TSwagDoc.Create; + vFilename := ExtractFilePath(ParamStr(0)) + 'Swagger.json'; + vSwagDoc.LoadFromFile(vFilename); + memo1.Lines.Text := TFile.ReadAllText(vFilename); + vClientBuilder := TSwagDocToDelphiRESTClientBuilder.Create(vSwagDoc); + memo2.Lines.Text := vClientBuilder.Generate; + finally + FreeAndNil(vClientBuilder); + FreeAndNil(vSwagDoc); + end; +end; + +initialization + ReportMemoryLeaksOnShutdown := True; + +end. diff --git a/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.MvcControllerClientFileBuilder.pas b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.MvcControllerClientFileBuilder.pas new file mode 100644 index 00000000..52a09ffd --- /dev/null +++ b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/Sample.MvcControllerClientFileBuilder.pas @@ -0,0 +1,424 @@ +{******************************************************************************} +{ } +{ Delphi SwagDoc Library } +{ Copyright (c) 2018 Marcelo Jaloto } +{ https://github.com/marcelojaloto/SwagDoc } +{ } +{ Sample author: geoffsmith82 - 2019 } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.MvcControllerClientFileBuilder; + +interface + +uses + System.Classes, + System.Json, + System.SysUtils, + System.Generics.Collections, + System.Generics.Defaults, + Swag.Doc, + Swag.Common.Types, + Swag.Doc.Path.Operation, + Swag.Doc.Path.Operation.Response, + Swag.Doc.Path.Operation.RequestParameter, + Sample.DelphiUnit.Generate; + +type + TSwagDocToDelphiRESTClientBuilder = class(TObject) + strict private + fSwagDoc: TSwagDoc; + + function CapitalizeFirstLetter(const pTypeName: string): string; + function RewriteUriToSwaggerWay(const pUri: string): string; + function OperationIdToFunctionName(pOperation: TSwagPathOperation): string; + function GenerateUnitText(pDelphiUnit: TDelphiUnit): string; + function ConvertSwaggerTypeToDelphiType(pSwaggerType: TSwagRequestParameter): TUnitTypeDefinition; + function ConvertRefToType(const pRef: string): string; + function ConvertRefToVarName(const pRef: string): string; + + procedure ChildType(pDelphiUnit: TDelphiUnit; pJson: TJSONPair); + procedure HandleArray(pField: TUnitFieldDefinition; pJson: TJSONPair); + procedure ConvertSwaggerDefinitionsToTypeDefinitions(pDelphiUnit: TDelphiUnit); + public + constructor Create(pSwagDoc: TSwagDoc); reintroduce; + function Generate: string; + end; + +implementation + +uses + Winapi.Windows, + System.IOUtils, + System.TypInfo, + Json.Common.Helpers; + +{ TSwagDocToDelphiMVCFrameworkBuilder } + +constructor TSwagDocToDelphiRESTClientBuilder.Create(pSwagDoc: TSwagDoc); +begin + inherited Create; + fSwagDoc := pSwagDoc; +end; + +function TSwagDocToDelphiRESTClientBuilder.OperationIdToFunctionName(pOperation: TSwagPathOperation): string; +begin + Result := pOperation.OperationId.Replace('{','').Replace('}','').Replace('-',''); + if not CharInSet(Result[1], ['a'..'z','A'..'Z']) then + Result := 'F' + Result; + + Result := CapitalizeFirstLetter(Result); +end; + +function TSwagDocToDelphiRESTClientBuilder.RewriteUriToSwaggerWay(const pUri: string): string; +begin + Result := pUri.Replace('{','($').Replace('}',')'); +end; + +function TSwagDocToDelphiRESTClientBuilder.CapitalizeFirstLetter(const pTypeName: string): string; +begin + if pTypeName.Length > 2 then + Result := Copy(pTypeName, 1, 1).ToUpper + Copy(pTypeName, 2, pTypeName.Length - 1) + else + Result := pTypeName; +end; + +function TSwagDocToDelphiRESTClientBuilder.ConvertRefToType(const pRef: string): string; +begin + Result := Copy(pRef, pRef.LastIndexOf('/') + 2); + Result := Copy(Result,1,1).ToUpper + Copy(Result,2); + if Result.ToLower <> 'string' then + Result := 'T' + Result; +end; + +function TSwagDocToDelphiRESTClientBuilder.ConvertRefToVarName(const pRef: string): string; +begin + Result := Copy(pRef, pRef.LastIndexOf('/') + 2); +end; + +function TSwagDocToDelphiRESTClientBuilder.Generate: string; +var + vPathIndex: Integer; + vOperationIndex: Integer; + vParameterIndex: Integer; + vDelphiUnit: TDelphiUnit; + vMVCControllerClient: TUnitTypeDefinition; + vMethod: TUnitMethod; + vResponse: TPair; + vSchemaObj: TJsonObject; + vResultParam: TUnitParameter; + vField: TUnitFieldDefinition; + vRef: String; +begin + vDelphiUnit := nil; + try + vDelphiUnit := TDelphiUnit.Create; + vDelphiUnit.UnitFile := 'UnitFilenameMvcControllerClient'; + vDelphiUnit.AddInterfaceUnit('IPPeerClient'); + vDelphiUnit.AddInterfaceUnit('REST.Client'); + vDelphiUnit.AddInterfaceUnit('REST.Authenticator.OAuth'); + vDelphiUnit.AddInterfaceUnit('REST.Types'); + vDelphiUnit.AddInterfaceUnit('MVCFramework'); + vDelphiUnit.AddInterfaceUnit('MVCFramework.Commons'); + vDelphiUnit.AddImplementationUnit('Swag.Doc'); + + ConvertSwaggerDefinitionsToTypeDefinitions(vDelphiUnit); + + vMVCControllerClient := TUnitTypeDefinition.Create; + vMVCControllerClient.TypeName := 'TMyMVCControllerClient'; + vMVCControllerClient.TypeInherited := 'TObject'; + vMVCControllerClient.AddAttribute(' [MVCPath(''' + RewriteUriToSwaggerWay(fSwagDoc.BasePath) + ''')]'); + + vField := TUnitFieldDefinition.Create; + vField.FieldName := 'RESTClient'; + vField.FieldType := 'TRESTClient'; + vMVCControllerClient.Fields.Add(vField); + + vField := TUnitFieldDefinition.Create; + vField.FieldName := 'RESTRequest'; + vField.FieldType := 'TRESTRequest'; + vMVCControllerClient.Fields.Add(vField); + + vField := TUnitFieldDefinition.Create; + vField.FieldName := 'RESTResponse'; + vField.FieldType := 'TRESTResponse'; + vMVCControllerClient.Fields.Add(vField); + + vDelphiUnit.AddType(vMVCControllerClient); + ConvertSwaggerDefinitionsToTypeDefinitions(vDelphiUnit); + + for vPathIndex := 0 to fSwagDoc.Paths.Count - 1 do + begin + for vOperationIndex := 0 to fSwagDoc.Paths[vPathIndex].Operations.Count - 1 do + begin + vMethod := TUnitMethod.Create; + if fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex].Description.Trim.Length > 0 then + vMethod.AddAttribute(' [MVCDoc(' + QuotedStr(fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex].Description) + ')]'); + vMethod.AddAttribute(' [MVCPath(''' + fSwagDoc.Paths[vPathIndex].Uri + ''')]'); + vMethod.AddAttribute(' [MVCHTTPMethod([http' + fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex].OperationToString + '])]'); + vMethod.Name := OperationIdToFunctionName(fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex]); + + for vParameterIndex := 0 to fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex].Parameters.Count - 1 do + begin + vResultParam := TUnitParameter.Create; + vResultParam.ParamName := CapitalizeFirstLetter(fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex].Parameters[vParameterIndex].Name); + vResultParam.ParamType := TUnitTypeDefinition.Create; + vResultParam.ParamType := ConvertSwaggerTypeToDelphiType(fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex].Parameters[vParameterIndex]); + vMethod.AddParameter(vResultParam); + end; + + for vResponse in fSwagDoc.Paths[vPathIndex].Operations[vOperationIndex].Responses do + begin + vSchemaObj := vResponse.Value.Schema.JsonSchema; + if vSchemaObj = nil then + continue; + if vSchemaObj.TryGetValue('$ref', vRef) then + begin + vMethod.AddAttribute(' [MVCResponse(' + vResponse.Key + ', ' + + QuotedStr(vResponse.Value.Description) + ', ' + ConvertRefToType(vRef) + ')]'); + vResultParam := TUnitParameter.Create; + vResultParam.ParamName := ConvertRefToVarName(vRef); + vResultParam.ParamType := TUnitTypeDefinition.Create; + vResultParam.ParamType.TypeName := ConvertRefToType(vRef); + vMethod.AddLocalVariable(vResultParam); + vMethod.Content.Add(' ' + ConvertRefToVarName(vRef) + ' := ' + ConvertRefToType(vRef) + '.Create;'); +// method.Content.Add(' Render(' + response.Key + ', ' + ConvertRefToVarName(ref) + ');'); + end + else + begin + if not vSchemaObj.TryGetValue('properties', vSchemaObj) then + continue; + if not vSchemaObj.TryGetValue('employees', vSchemaObj) then + continue; + if not vSchemaObj.TryGetValue('items', vSchemaObj) then + continue; + if vSchemaObj.TryGetValue('$ref', vRef) then + begin + vMethod.AddAttribute(' [MVCResponseList(' + vResponse.Key + ', ' + + QuotedStr(vResponse.Value.Description) + ', ' + ConvertRefToType(vRef) + ')]'); + vResultParam := TUnitParameter.Create; + vResultParam.ParamName := ConvertRefToVarName(vRef); + vResultParam.ParamType := TUnitTypeDefinition.Create; + vResultParam.ParamType.TypeName := 'TObjectList<' + ConvertRefToType(vRef) + '>'; + vMethod.AddLocalVariable(vResultParam); + vDelphiUnit.AddInterfaceUnit('Generics.Collections'); + vMethod.Content.Add(' ' + ConvertRefToVarName(vRef) + ' := TObjectList<' + ConvertRefToType(vRef) + '>.Create;'); + end; + end; + end; + + vMVCControllerClient.Methods.Add(vMethod); + end; + end; + + vDelphiUnit.SortTypeDefinitions; + + Result := GenerateUnitText(vDelphiUnit); + finally + vDelphiUnit.Free; + end; +end; + +procedure TSwagDocToDelphiRESTClientBuilder.HandleArray(pField : TUnitFieldDefinition; pJson: TJSONPair); +var + vJsonObj: TJSONObject; + vJsonVal: TJSONValue; + vType: string; +begin + if Assigned(((pJson.JsonValue as TJSONObject).Values['items'] as TJSONObject).Values['type']) then + begin + vType := ((pJson.JsonValue as TJSONObject).Values['items'] as TJSONObject).Values['type'].Value; + if vType.ToLower <> 'string' then + vType := 'T' + vType; + pField.FieldType := 'array of ' + vType; + end + else + begin + OutputDebugString(PChar(pJson.ToJSON)); + vJsonVal := (pJson.JsonValue as TJSONObject).Values['items'] as TJSONObject; + OutputDebugString(PChar(vJsonVal.ToJSON)); + vJsonObj := vJsonVal as TJSONObject; + vJsonVal := vJsonObj.Values['$ref']; + OutputDebugString(PChar(vJsonVal.Value)); + pField.FieldType := 'array of ' + ConvertRefToType(vJsonVal.value); + end; +end; + + +procedure TSwagDocToDelphiRESTClientBuilder.ChildType(pDelphiUnit : TDelphiUnit; pJson: TJSONPair); +var + vTypeInfo: TUnitTypeDefinition; + vJsonProps: TJSONObject; + vFieldInfo: TUnitFieldDefinition; + vTypeObj: TJSONObject; + vJsonPropIndex: Integer; + vValue : string; +begin + OutputDebugString(PChar('Child: ' + pJson.ToJSON)); + vTypeInfo := TUnitTypeDefinition.Create; + vTypeInfo.TypeName := 'T' + CapitalizeFirstLetter(pJson.JSONString.Value); + + vJsonProps := (pJson.JSONValue as TJSONObject).Values['properties'] as TJSONObject; + for vJsonPropIndex := 0 to vJsonProps.Count - 1 do + begin + OutputDebugString(PChar(vJsonProps.Pairs[vJsonPropIndex].ToJSON)); + vFieldInfo := TUnitFieldDefinition.Create; + vFieldInfo.FieldName := vJsonProps.Pairs[vJsonPropIndex].JsonString.Value; + vTypeObj := vJsonProps.Pairs[vJsonPropIndex].JsonValue as TJSONObject; + vFieldInfo.FieldType := vTypeObj.Values['type'].Value; + if vFieldInfo.FieldType = 'number' then + vFieldInfo.FieldType := 'Double' + else if vFieldInfo.FieldType = 'object' then + begin + vFieldInfo.FieldType := 'T' + CapitalizeFirstLetter(vJsonProps.Pairs[vJsonPropIndex].JsonString.Value); + ChildType(pDelphiUnit, vJsonProps.Pairs[vJsonPropIndex]); + end; + if vTypeObj.TryGetValue('description', vValue) then + vFieldInfo.AddAttribute('[MVCDoc(' + QuotedStr(vValue) + ')]'); + + if vTypeObj.TryGetValue('format', vValue) then + begin + if (vFieldInfo.FieldType.ToLower = 'integer') and (vValue.ToLower = 'int64') then + vFieldInfo.FieldType := 'Int64'; + vFieldInfo.AddAttribute('[MVCFormat(' + QuotedStr(vValue) + ')]'); + end; + if vTypeObj.TryGetValue('maxLength', vValue) then + vFieldInfo.AddAttribute('[MVCMaxLength(' + vValue + ')]'); + vTypeInfo.Fields.Add(vFieldInfo); + end; + pDelphiUnit.AddType(vTypeInfo); +end; + +procedure TSwagDocToDelphiRESTClientBuilder.ConvertSwaggerDefinitionsToTypeDefinitions(pDelphiUnit: TDelphiUnit); +var + vTypeInfo: TUnitTypeDefinition; + vJsonProps: TJSONObject; + vFieldInfo: TUnitFieldDefinition; + vTypeObj: TJSONObject; + DefinitionIndex: Integer; + vJsonPropIndex: Integer; + vValue : string; +begin + for DefinitionIndex := 0 to fSwagDoc.Definitions.Count - 1 do + begin + vTypeInfo := TUnitTypeDefinition.Create; + vTypeInfo.TypeName := 'T' + CapitalizeFirstLetter(fSwagDoc.Definitions[DefinitionIndex].Name); + vJsonProps := fSwagDoc.Definitions[DefinitionIndex].JsonSchema.Values['properties'] as TJSONObject; + for vJsonPropIndex := 0 to vJsonProps.Count - 1 do + begin + OutputDebugString(PChar(vJsonProps.Pairs[vJsonPropIndex].ToJSON)); + vFieldInfo := TUnitFieldDefinition.Create; + vFieldInfo.FieldName := vJsonProps.Pairs[vJsonPropIndex].JsonString.Value; + vTypeObj := vJsonProps.Pairs[vJsonPropIndex].JsonValue as TJSONObject; + if Assigned(vTypeObj.Values['type']) then + vFieldInfo.FieldType := vTypeObj.Values['type'].Value + else + vFieldInfo.FieldType := ConvertRefToType(vTypeObj.Values['$ref'].Value); + + if vFieldInfo.FieldType = 'number' then + vFieldInfo.FieldType := 'Double' + else if vFieldInfo.FieldType = 'object' then + begin + vFieldInfo.FieldType := 'T' + CapitalizeFirstLetter(vJsonProps.Pairs[vJsonPropIndex].JsonString.Value); + ChildType(pDelphiUnit, vJsonProps.Pairs[vJsonPropIndex]); + end + else if vFieldInfo.FieldType = 'array' then + begin + HandleArray(vFieldInfo, vJsonProps.Pairs[vJsonPropIndex]); + end; + if vTypeObj.TryGetValue('description', vValue) then + begin + if vValue.Trim.Length > 0 then + vFieldInfo.AddAttribute('[MVCDoc(' + QuotedStr(vValue) + ')]'); + end; + if vTypeObj.TryGetValue('format', vValue) then + begin + if (vFieldInfo.FieldType.ToLower = 'integer') and (vValue.ToLower = 'int64') then + vFieldInfo.FieldType := 'Int64'; + vFieldInfo.AddAttribute('[MVCFormat(' + QuotedStr(vValue) + ')]'); + end; + if vTypeObj.TryGetValue('maxLength', vValue) then + vFieldInfo.AddAttribute('[MVCMaxLength(' + vValue + ')]'); + if vTypeObj.TryGetValue('minimum', vValue) then + vFieldInfo.AddAttribute('[MVCMinimum(' + vValue + ')]'); + if vTypeObj.TryGetValue('maximum', vValue) then + vFieldInfo.AddAttribute('[MVCMaximum(' + vValue + ')]'); + vTypeInfo.Fields.Add(vFieldInfo); + end; + pDelphiUnit.AddType(vTypeInfo); + end; +end; + +function TSwagDocToDelphiRESTClientBuilder.ConvertSwaggerTypeToDelphiType(pSwaggerType: TSwagRequestParameter): TUnitTypeDefinition; +var + vSwaggerType: TSwagTypeParameter; + vJson: TJSONObject; +begin + Result := TUnitTypeDefinition.Create; + vSwaggerType := pSwaggerType.TypeParameter; + case vSwaggerType of + stpNotDefined: + begin + if Assigned(pSwaggerType.Schema.JsonSchema.Values['$ref']) then + Result.TypeName := ConvertRefToType(pSwaggerType.Schema.JsonSchema.Values['$ref'].Value) + else + begin + Result.TypeName := pSwaggerType.Schema.JsonSchema.Values['type'].Value; + if Result.TypeName = 'array' then + begin + if Assigned(pSwaggerType.Schema.JsonSchema.Values['items']) then + if Assigned((pSwaggerType.Schema.JsonSchema.Values['items'] as TJSONObject).Values['$ref']) then + Result.TypeName := 'array of ' + ConvertRefToType((pSwaggerType.Schema.JsonSchema.Values['items'] as TJSONObject).Values['$ref'].Value); + end; + end; + end; + stpString: Result.TypeName := 'String'; + stpNumber: Result.TypeName := 'Double'; + stpInteger: Result.TypeName := 'Integer'; + stpBoolean: Result.TypeName := 'Boolean'; + stpArray: + begin + vJson := pSwaggerType.Schema.JsonSchema; + if Assigned(vJson) then + begin + OutputDebugString(PChar('TYPE: ' + vJson.ToJson)); + Result.TypeName := 'array of ' + pSwaggerType.Schema.JsonSchema.Values['type'].Value; + end + else + begin + if Assigned(pSwaggerType.Items.Values['type']) then + begin + Result.TypeName := 'array of ' + pSwaggerType.Items.Values['type'].Value; + end + else + Result.TypeName := 'array of '; + end; + end; + stpFile: Result.TypeName := 'err File'; + end; +end; + +function TSwagDocToDelphiRESTClientBuilder.GenerateUnitText(pDelphiUnit: TDelphiUnit): string; +begin + pDelphiUnit.Title := fSwagDoc.Info.Title; + pDelphiUnit.Description := fSwagDoc.Info.Description; + pDelphiUnit.License := fSwagDoc.Info.License.Name; + Result := pDelphiUnit.Generate; +end; + +end. diff --git a/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/swagger.json b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/swagger.json new file mode 100644 index 00000000..7b60f066 --- /dev/null +++ b/lib/swagdoc/Demos/GenerateUnitFileForMVCFramework/swagger.json @@ -0,0 +1,868 @@ +{ + "swagger": "2.0", + "info": { + "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.", + "version": "1.0.0", + "title": "Swagger Petstore", + "termsOfService": "http://swagger.io/terms/", + "contact": { + "email": "apiteam@swagger.io" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + }, + "host": "petstore.swagger.io", + "basePath": "/v2", + "tags": [{ + "name": "pet", + "description": "Everything about your Pets", + "externalDocs": { + "description": "Find out more", + "url": "http://swagger.io" + } + }, + { + "name": "store", + "description": "Access to Petstore orders" + }, + { + "name": "user", + "description": "Operations about user", + "externalDocs": { + "description": "Find out more about our store", + "url": "http://swagger.io" + } + }], + "schemes": ["https", + "http"], + "paths": { + "/pet": { + "post": { + "tags": ["pet"], + "summary": "Add a new pet to the store", + "description": "", + "operationId": "addPet", + "consumes": ["application/json", + "application/xml"], + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "in": "body", + "name": "body", + "description": "Pet object that needs to be added to the store", + "required": true, + "schema": { + "$ref": "#/definitions/Pet" + } + }], + "responses": { + "405": { + "description": "Invalid input" + } + }, + "security": [{ + "petstore_auth": ["write:pets", + "read:pets"] + }] + }, + "put": { + "tags": ["pet"], + "summary": "Update an existing pet", + "description": "", + "operationId": "updatePet", + "consumes": ["application/json", + "application/xml"], + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "in": "body", + "name": "body", + "description": "Pet object that needs to be added to the store", + "required": true, + "schema": { + "$ref": "#/definitions/Pet" + } + }], + "responses": { + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Pet not found" + }, + "405": { + "description": "Validation exception" + } + }, + "security": [{ + "petstore_auth": ["write:pets", + "read:pets"] + }] + } + }, + "/pet/findByStatus": { + "get": { + "tags": ["pet"], + "summary": "Finds Pets by status", + "description": "Multiple status values can be provided with comma separated strings", + "operationId": "findPetsByStatus", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "status", + "in": "query", + "description": "Status values that need to be considered for filter", + "required": true, + "type": "array", + "items": { + "type": "string", + "enum": ["available", + "pending", + "sold"], + "default": "available" + }, + "collectionFormat": "multi" + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Pet" + } + } + }, + "400": { + "description": "Invalid status value" + } + }, + "security": [{ + "petstore_auth": ["write:pets", + "read:pets"] + }] + } + }, + "/pet/findByTags": { + "get": { + "tags": ["pet"], + "summary": "Finds Pets by tags", + "description": "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", + "operationId": "findPetsByTags", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "tags", + "in": "query", + "description": "Tags to filter by", + "required": true, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Pet" + } + } + }, + "400": { + "description": "Invalid tag value" + } + }, + "security": [{ + "petstore_auth": ["write:pets", + "read:pets"] + }], + "deprecated": true + } + }, + "/pet/{petId}": { + "get": { + "tags": ["pet"], + "summary": "Find pet by ID", + "description": "Returns a single pet", + "operationId": "getPetById", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "petId", + "in": "path", + "description": "ID of pet to return", + "required": true, + "type": "integer", + "format": "int64" + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Pet" + } + }, + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Pet not found" + } + }, + "security": [{ + "api_key": [] + }] + }, + "post": { + "tags": ["pet"], + "summary": "Updates a pet in the store with form data", + "description": "", + "operationId": "updatePetWithForm", + "consumes": ["application/x-www-form-urlencoded"], + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "petId", + "in": "path", + "description": "ID of pet that needs to be updated", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "name", + "in": "formData", + "description": "Updated name of the pet", + "required": false, + "type": "string" + }, + { + "name": "status", + "in": "formData", + "description": "Updated status of the pet", + "required": false, + "type": "string" + }], + "responses": { + "405": { + "description": "Invalid input" + } + }, + "security": [{ + "petstore_auth": ["write:pets", + "read:pets"] + }] + }, + "delete": { + "tags": ["pet"], + "summary": "Deletes a pet", + "description": "", + "operationId": "deletePet", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "api_key", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "petId", + "in": "path", + "description": "Pet id to delete", + "required": true, + "type": "integer", + "format": "int64" + }], + "responses": { + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Pet not found" + } + }, + "security": [{ + "petstore_auth": ["write:pets", + "read:pets"] + }] + } + }, + "/pet/{petId}/uploadImage": { + "post": { + "tags": ["pet"], + "summary": "uploads an image", + "description": "", + "operationId": "uploadFile", + "consumes": ["multipart/form-data"], + "produces": ["application/json"], + "parameters": [{ + "name": "petId", + "in": "path", + "description": "ID of pet to update", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "additionalMetadata", + "in": "formData", + "description": "Additional data to pass to server", + "required": false, + "type": "string" + }, + { + "name": "file", + "in": "formData", + "description": "file to upload", + "required": false, + "type": "file" + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ApiResponse" + } + } + }, + "security": [{ + "petstore_auth": ["write:pets", + "read:pets"] + }] + } + }, + "/store/inventory": { + "get": { + "tags": ["store"], + "summary": "Returns pet inventories by status", + "description": "Returns a map of status codes to quantities", + "operationId": "getInventory", + "produces": ["application/json"], + "parameters": [], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + } + } + } + }, + "security": [{ + "api_key": [] + }] + } + }, + "/store/order": { + "post": { + "tags": ["store"], + "summary": "Place an order for a pet", + "description": "", + "operationId": "placeOrder", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "in": "body", + "name": "body", + "description": "order placed for purchasing the pet", + "required": true, + "schema": { + "$ref": "#/definitions/Order" + } + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "400": { + "description": "Invalid Order" + } + } + } + }, + "/store/order/{orderId}": { + "get": { + "tags": ["store"], + "summary": "Find purchase order by ID", + "description": "For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions", + "operationId": "getOrderById", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "orderId", + "in": "path", + "description": "ID of pet that needs to be fetched", + "required": true, + "type": "integer", + "maximum": 10.0, + "minimum": 1.0, + "format": "int64" + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Order not found" + } + } + }, + "delete": { + "tags": ["store"], + "summary": "Delete purchase order by ID", + "description": "For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors", + "operationId": "deleteOrder", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "orderId", + "in": "path", + "description": "ID of the order that needs to be deleted", + "required": true, + "type": "integer", + "minimum": 1.0, + "format": "int64" + }], + "responses": { + "400": { + "description": "Invalid ID supplied" + }, + "404": { + "description": "Order not found" + } + } + } + }, + "/user": { + "post": { + "tags": ["user"], + "summary": "Create user", + "description": "This can only be done by the logged in user.", + "operationId": "createUser", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "in": "body", + "name": "body", + "description": "Created user object", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }], + "responses": { + "default": { + "description": "successful operation" + } + } + } + }, + "/user/createWithArray": { + "post": { + "tags": ["user"], + "summary": "Creates list of users with given input array", + "description": "", + "operationId": "createUsersWithArrayInput", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "in": "body", + "name": "body", + "description": "List of user object", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + } + }], + "responses": { + "default": { + "description": "successful operation" + } + } + } + }, + "/user/createWithList": { + "post": { + "tags": ["user"], + "summary": "Creates list of users with given input array", + "description": "", + "operationId": "createUsersWithListInput", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "in": "body", + "name": "body", + "description": "List of user object", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + } + }], + "responses": { + "default": { + "description": "successful operation" + } + } + } + }, + "/user/login": { + "get": { + "tags": ["user"], + "summary": "Logs user into the system", + "description": "", + "operationId": "loginUser", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "username", + "in": "query", + "description": "The user name for login", + "required": true, + "type": "string" + }, + { + "name": "password", + "in": "query", + "description": "The password for login in clear text", + "required": true, + "type": "string" + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "type": "string" + }, + "headers": { + "X-Rate-Limit": { + "type": "integer", + "format": "int32", + "description": "calls per hour allowed by the user" + }, + "X-Expires-After": { + "type": "string", + "format": "date-time", + "description": "date in UTC when token expires" + } + } + }, + "400": { + "description": "Invalid username/password supplied" + } + } + } + }, + "/user/logout": { + "get": { + "tags": ["user"], + "summary": "Logs out current logged in user session", + "description": "", + "operationId": "logoutUser", + "produces": ["application/xml", + "application/json"], + "parameters": [], + "responses": { + "default": { + "description": "successful operation" + } + } + } + }, + "/user/{username}": { + "get": { + "tags": ["user"], + "summary": "Get user by user name", + "description": "", + "operationId": "getUserByName", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "username", + "in": "path", + "description": "The name that needs to be fetched. Use user1 for testing. ", + "required": true, + "type": "string" + }], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/User" + } + }, + "400": { + "description": "Invalid username supplied" + }, + "404": { + "description": "User not found" + } + } + }, + "put": { + "tags": ["user"], + "summary": "Updated user", + "description": "This can only be done by the logged in user.", + "operationId": "updateUser", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "username", + "in": "path", + "description": "name that need to be updated", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "description": "Updated user object", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }], + "responses": { + "400": { + "description": "Invalid user supplied" + }, + "404": { + "description": "User not found" + } + } + }, + "delete": { + "tags": ["user"], + "summary": "Delete user", + "description": "This can only be done by the logged in user.", + "operationId": "deleteUser", + "produces": ["application/xml", + "application/json"], + "parameters": [{ + "name": "username", + "in": "path", + "description": "The name that needs to be deleted", + "required": true, + "type": "string" + }], + "responses": { + "400": { + "description": "Invalid username supplied" + }, + "404": { + "description": "User not found" + } + } + } + } + }, + "securityDefinitions": { + "petstore_auth": { + "type": "oauth2", + "authorizationUrl": "https://petstore.swagger.io/oauth/authorize", + "flow": "implicit", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "api_key": { + "type": "apiKey", + "name": "api_key", + "in": "header" + } + }, + "definitions": { + "Order": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "petId": { + "type": "integer", + "format": "int64" + }, + "quantity": { + "type": "integer", + "format": "int32" + }, + "shipDate": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "description": "Order Status", + "enum": ["placed", + "approved", + "delivered"] + }, + "complete": { + "type": "boolean", + "default": false + } + }, + "xml": { + "name": "Order" + } + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "username": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "password": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "userStatus": { + "type": "integer", + "format": "int32", + "description": "User Status" + } + }, + "xml": { + "name": "User" + } + }, + "Category": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + }, + "xml": { + "name": "Category" + } + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + }, + "xml": { + "name": "Tag" + } + }, + "Pet": { + "type": "object", + "required": ["name", + "photoUrls"], + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "category": { + "$ref": "#/definitions/Category" + }, + "name": { + "type": "string", + "example": "doggie" + }, + "photoUrls": { + "type": "array", + "xml": { + "name": "photoUrl", + "wrapped": true + }, + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "xml": { + "name": "tag", + "wrapped": true + }, + "items": { + "$ref": "#/definitions/Tag" + } + }, + "status": { + "type": "string", + "description": "pet status in the store", + "enum": ["available", + "pending", + "sold"] + } + }, + "xml": { + "name": "Pet" + } + }, + "ApiResponse": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "externalDocs": { + "description": "Find out more about Swagger", + "url": "http://swagger.io" + } +} \ No newline at end of file diff --git a/lib/swagdoc/Demos/LoadSwaggerJsonToObject/LoadSwaggerJsonToObject.dpr b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/LoadSwaggerJsonToObject.dpr new file mode 100644 index 00000000..d0411a57 --- /dev/null +++ b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/LoadSwaggerJsonToObject.dpr @@ -0,0 +1,14 @@ +program LoadSwaggerJsonToObject; + +uses + Vcl.Forms, + frmLoadSwaggerJson in 'frmLoadSwaggerJson.pas' {frmSimpleSwaggerDocDemo}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + Application.CreateForm(TfrmSimpleSwaggerDocDemo, frmSimpleSwaggerDocDemo); + Application.Run; +end. diff --git a/lib/loggerpro/samples/100_udp_syslog/udp_syslog.dproj b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/LoadSwaggerJsonToObject.dproj similarity index 86% rename from lib/loggerpro/samples/100_udp_syslog/udp_syslog.dproj rename to lib/swagdoc/Demos/LoadSwaggerJsonToObject/LoadSwaggerJsonToObject.dproj index 3ee886ab..632dea29 100644 --- a/lib/loggerpro/samples/100_udp_syslog/udp_syslog.dproj +++ b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/LoadSwaggerJsonToObject.dproj @@ -1,14 +1,14 @@  - {8DBBD49C-7721-4923-8B89-B8BE11B2921B} - 18.6 - VCL - udp_syslog.dpr + {4212DAA9-CB1C-4287-9F2D-E5901399D742} + LoadSwaggerJsonToObject.dpr True Debug - Win32 1 Application + VCL + 18.6 + Win32 true @@ -23,7 +23,7 @@ Base true - + true Base true @@ -34,11 +34,17 @@ true true - + true Base true + + true + Cfg_2 + true + true + true Cfg_2 @@ -46,92 +52,102 @@ true - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) false - false - false false false - RESTComponents;emsclientfiredac;DataSnapFireDAC;FireDACIBDriver;emsclient;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;FireDAC;FireDACSqliteDriver;soaprtl;soapmidas;$(DCC_UsePackage) - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - $(BDS)\bin\delphi_PROJECTICON.ico - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - udp_syslog + false + false + 00400000 + LoadSwaggerJsonToObject + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + 1046 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName= + ..\..\Source;$(DCC_UnitSearchPath) + ..\..\Lib + ..\..\Lib + ..\..\Lib - DBXSqliteDriver;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;bdertl;DataSnapConnectors;VCLRESTComponents;QRWRunDXE10_2_w64;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;Ean7;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) Debug true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) 1033 $(BDS)\bin\default_app.manifest + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;Intraweb;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;QRWRunDXE10_2_w64;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;emshosting;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DEBUG;$(DCC_Define) - true - false - true - true - true + RELEASE;$(DCC_Define) + 0 + false + 0 - false true - ..\..\;$(DCC_UnitSearchPath) - true - 1033 PerMonitor - false - RELEASE;$(DCC_Define) - 0 - 0 + DEBUG;$(DCC_Define) + false + true + + + Debug true + true + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) PerMonitor MainSource - -
FUDPServerClientForm
- dfm + +
frmSimpleSwaggerDocDemo
- - + Cfg_2 Base Base - + Cfg_1 Base
Delphi.Personality.12 - Application + - udp_syslog.dpr + LoadSwaggerJsonToObject.dpr + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + False + True + False + - + - udp_syslog.exe + LoadSwaggerJsonToObject.exe true @@ -604,10 +620,6 @@ - - True - False - 12 diff --git a/lib/swagdoc/Demos/LoadSwaggerJsonToObject/frmLoadSwaggerJson.dfm b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/frmLoadSwaggerJson.dfm new file mode 100644 index 00000000..4ad932dc --- /dev/null +++ b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/frmLoadSwaggerJson.dfm @@ -0,0 +1,47 @@ +object frmSimpleSwaggerDocDemo: TfrmSimpleSwaggerDocDemo + Left = 0 + Top = 0 + Caption = 'Load Swagger.json to SwagDoc' + ClientHeight = 214 + ClientWidth = 876 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + PixelsPerInch = 96 + TextHeight = 13 + object lblApiDescription: TLabel + Left = 102 + Top = 8 + Width = 6 + Height = 25 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + object Memo1: TMemo + Left = 0 + Top = 39 + Width = 876 + Height = 175 + Align = alBottom + Anchors = [akLeft, akTop, akRight, akBottom] + ScrollBars = ssBoth + TabOrder = 0 + end + object btnLoadJSON: TButton + Left = 8 + Top = 8 + Width = 75 + Height = 25 + Caption = 'Load JSON' + TabOrder = 1 + OnClick = btnLoadJSONClick + end +end diff --git a/lib/swagdoc/Demos/LoadSwaggerJsonToObject/frmLoadSwaggerJson.pas b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/frmLoadSwaggerJson.pas new file mode 100644 index 00000000..05ce1dca --- /dev/null +++ b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/frmLoadSwaggerJson.pas @@ -0,0 +1,61 @@ +unit frmLoadSwaggerJson; + +interface + +uses + Winapi.Windows, + Winapi.Messages, + System.SysUtils, + System.Variants, + System.Classes, + Vcl.Graphics, + Vcl.Controls, + Vcl.Forms, + Vcl.Dialogs, + Vcl.StdCtrls, + Swag.Common.Types, + Swag.Doc, + Swag.Doc.Definition, + Swag.Doc.Path, + Swag.Doc.Path.Operation; + +type + TfrmSimpleSwaggerDocDemo = class(TForm) + Memo1: TMemo; + btnLoadJSON: TButton; + lblApiDescription: TLabel; + procedure btnLoadJSONClick(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + frmSimpleSwaggerDocDemo: TfrmSimpleSwaggerDocDemo; + +implementation + +{$R *.dfm} + +uses + Json.Common.Helpers, + System.IOUtils; + +procedure TfrmSimpleSwaggerDocDemo.btnLoadJSONClick(Sender: TObject); +var + vSwagDoc: TSwagDoc; +begin + vSwagDoc := TSwagDoc.Create; + try + vSwagDoc.LoadFromFile('swagger.json'); + lblApiDescription.Caption := vSwagDoc.Info.Description; + vSwagDoc.GenerateSwaggerJson; + Memo1.Lines.Clear; + Memo1.Lines.Add(vSwagDoc.SwaggerJson.Format); + finally + FreeAndNil(vSwagDoc); + end; +end; + +end. diff --git a/lib/swagdoc/Demos/LoadSwaggerJsonToObject/swagger.json b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/swagger.json new file mode 100644 index 00000000..df496bf2 --- /dev/null +++ b/lib/swagdoc/Demos/LoadSwaggerJsonToObject/swagger.json @@ -0,0 +1,644 @@ +{ + "swagger":"2.0", + "info": + { + "version":"v1", + "title":"Sample API", + "description":"Sample API Description", + "termsOfService":"http:\/\/www.apache.org\/licenses\/LICENSE-2.0.txt", + "contact": + { + "name":"Marcelo Jaloto", + "email":"marcelojaloto@gmail.com", + "url":"https:\/\/github.com\/marcelojaloto\/SwagDoc" + } +, + "license": + { + "name":"Apache License - Version 2.0, January 2004", + "url":"http:\/\/www.apache.org\/licenses\/LICENSE-2.0" + } + } +, + "host":"localhost", + "basePath":"\/api", + "schemes": + [ + "http" + ] +, + "consumes": + [ + "application\/json" + ] +, + "produces": + [ + "application\/json" + ] +, + "paths": + { + "\/employees": + { + "get": + { + "description":"Returns a employee list.", + "operationId":"{A9A8D343-00EB-402A-8248-94BDA7B6ECD4}", + "tags": + [ + "API Employee" + ] +, + "responses": + { + "200": + { + "description":"Successfully returns data", + "schema": + { + "type":"object", + "properties": + { + "employees": + { + "type":"array", + "description":"The employee datas.", + "items": + { + "type":"object", + "properties": + { + "employee": + { + "type":"object", + "description":"Employee request data", + "required": + [ + "name" + ] +, + "properties": + { + "id": + { + "type":"integer", + "description":"The employee identification code.", + "format":"int64" + } +, + "name": + { + "type":"string", + "description":"The employee full name.", + "maxLength":80 + } +, + "phone": + { + "type":"string", + "description":"The employee phone number." + } +, + "hireDate": + { + "type":"string", + "description":"The employee hire date.", + "format":"yyyy-MM-dd" + } +, + "salary": + { + "type":"number", + "description":"The employee gross salary." + } +, + "address": + { + "type":"object", + "description":"The employee full address.", + "properties": + { + "description": + { + "type":"string", + "description":"The employee address description." + } +, + "city": + { + "type":"string", + "description":"The employee address city." + } +, + "region": + { + "type":"string", + "description":"The employee address region." + } +, + "country": + { + "type":"string", + "description":"The employee address country." + } +, + "postalCode": + { + "type":"string", + "description":"The employee address postal code." + } + } + } + } + } + } + } + } + } + } + } + } + } +, + "post": + { + "description":"Creates a employee.", + "operationId":"{C450E1E0-341D-4947-A156-9C167BE021D5}", + "tags": + [ + "API Employee" + ] +, + "parameters": + [ + { + "in":"body", + "name":"employee", + "required":true, + "schema": + { + "$ref":"#\/definitions\/employee" + } + } + ] +, + "responses": + { + "201": + { + "description":"Successfully creates data", + "schema": + { + "type":"object", + "properties": + { + "employee": + { + "type":"object", + "description":"Employee request data", + "required": + [ + "name" + ] +, + "properties": + { + "id": + { + "type":"integer", + "description":"The employee identification code.", + "format":"int64" + } +, + "name": + { + "type":"string", + "description":"The employee full name.", + "maxLength":80 + } +, + "phone": + { + "type":"string", + "description":"The employee phone number." + } +, + "hireDate": + { + "type":"string", + "description":"The employee hire date.", + "format":"yyyy-MM-dd" + } +, + "salary": + { + "type":"number", + "description":"The employee gross salary." + } +, + "address": + { + "type":"object", + "description":"The employee full address.", + "properties": + { + "description": + { + "type":"string", + "description":"The employee address description." + } +, + "city": + { + "type":"string", + "description":"The employee address city." + } +, + "region": + { + "type":"string", + "description":"The employee address region." + } +, + "country": + { + "type":"string", + "description":"The employee address country." + } +, + "postalCode": + { + "type":"string", + "description":"The employee address postal code." + } + } + } + } + } + } + } + } + } + } + } +, + "\/employees\/{id}": + { + "get": + { + "description":"Returns a employee.", + "operationId":"{2DDE05B6-C01A-4EB8-B7CD-2041C51C97C7}", + "tags": + [ + "API Employee" + ] +, + "parameters": + [ + { + "in":"path", + "name":"id", + "required":true, + "type":"integer" + } + ] +, + "responses": + { + "200": + { + "description":"Successfully returns data", + "schema": + { + "type":"object", + "properties": + { + "employee": + { + "type":"object", + "description":"Employee request data", + "required": + [ + "name" + ] +, + "properties": + { + "id": + { + "type":"integer", + "description":"The employee identification code.", + "format":"int64" + } +, + "name": + { + "type":"string", + "description":"The employee full name.", + "maxLength":80 + } +, + "phone": + { + "type":"string", + "description":"The employee phone number." + } +, + "hireDate": + { + "type":"string", + "description":"The employee hire date.", + "format":"yyyy-MM-dd" + } +, + "salary": + { + "type":"number", + "description":"The employee gross salary." + } +, + "address": + { + "type":"object", + "description":"The employee full address.", + "properties": + { + "description": + { + "type":"string", + "description":"The employee address description." + } +, + "city": + { + "type":"string", + "description":"The employee address city." + } +, + "region": + { + "type":"string", + "description":"The employee address region." + } +, + "country": + { + "type":"string", + "description":"The employee address country." + } +, + "postalCode": + { + "type":"string", + "description":"The employee address postal code." + } + } + } + } + } + } + } + } + } + } +, + "put": + { + "description":"Updates a employee.", + "operationId":"{28E989FB-0225-40BD-A97E-8D1EA80D09AF}", + "tags": + [ + "API Employee" + ] +, + "parameters": + [ + { + "in":"path", + "name":"id", + "required":true, + "type":"integer" + } +, + + { + "in":"body", + "name":"employee", + "required":true, + "schema": + { + "$ref":"#\/definitions\/employee" + } + } + ] +, + "responses": + { + "200": + { + "description":"Successfully updates data", + "schema": + { + "type":"object", + "properties": + { + "employee": + { + "type":"object", + "description":"Employee request data", + "required": + [ + "name" + ] +, + "properties": + { + "id": + { + "type":"integer", + "description":"The employee identification code.", + "format":"int64" + } +, + "name": + { + "type":"string", + "description":"The employee full name.", + "maxLength":80 + } +, + "phone": + { + "type":"string", + "description":"The employee phone number." + } +, + "hireDate": + { + "type":"string", + "description":"The employee hire date.", + "format":"yyyy-MM-dd" + } +, + "salary": + { + "type":"number", + "description":"The employee gross salary." + } +, + "address": + { + "type":"object", + "description":"The employee full address.", + "properties": + { + "description": + { + "type":"string", + "description":"The employee address description." + } +, + "city": + { + "type":"string", + "description":"The employee address city." + } +, + "region": + { + "type":"string", + "description":"The employee address region." + } +, + "country": + { + "type":"string", + "description":"The employee address country." + } +, + "postalCode": + { + "type":"string", + "description":"The employee address postal code." + } + } + } + } + } + } + } + } + } + } +, + "delete": + { + "description":"Deletes a employee.", + "operationId":"{F47F38F3-2B99-4481-AFDD-ECD89893FEA0}", + "tags": + [ + "API Employee" + ] +, + "parameters": + [ + { + "in":"path", + "name":"id", + "required":true, + "type":"integer" + } + ] +, + "responses": + { + "204": + { + "description":"Successfully deletes data" + } + } + } + } + } +, + "definitions": + { + "employee": + { + "type":"object", + "description":"Employee response data", + "required": + [ + "name" + ] +, + "properties": + { + "name": + { + "type":"string", + "description":"The employee full name.", + "maxLength":80 + } +, + "phone": + { + "type":"string", + "description":"The employee phone number." + } +, + "hireDate": + { + "type":"string", + "description":"The employee hire date.", + "format":"yyyy-MM-dd" + } +, + "salary": + { + "type":"number", + "description":"The employee gross salary." + } +, + "address": + { + "type":"object", + "description":"The employee full address.", + "properties": + { + "description": + { + "type":"string", + "description":"The employee address description." + } +, + "city": + { + "type":"string", + "description":"The employee address city." + } +, + "region": + { + "type":"string", + "description":"The employee address region." + } +, + "country": + { + "type":"string", + "description":"The employee address country." + } +, + "postalCode": + { + "type":"string", + "description":"The employee address postal code." + } + } + } + } + } + } +} diff --git a/lib/swagdoc/Demos/SampleApi/Sample.Api.Employee.pas b/lib/swagdoc/Demos/SampleApi/Sample.Api.Employee.pas new file mode 100644 index 00000000..4361b3f2 --- /dev/null +++ b/lib/swagdoc/Demos/SampleApi/Sample.Api.Employee.pas @@ -0,0 +1,347 @@ +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.Api.Employee; + +interface + +uses + System.JSON, + Json.Schema, + Swag.Doc, + Swag.Doc.Definition, + Swag.Doc.Path, + Swag.Doc.Path.Operation, + Swag.Doc.Path.Operation.RequestParameter, + Swag.Doc.Path.Operation.Response; + +type + TFakeApiEmployee = class(TObject) + strict private + const c_EmployeeTagName = 'API Employee'; + const c_EmployeeSchemaName = 'employee'; + ///const c_EmployeeSchemaNameResponse = 'employeeResponse'; + const c_ParameterEmployeeId = 'id'; + + function DocumentGetEmployeesList: TSwagPathOperation; + function DocumentGetEmployee: TSwagPathOperation; + function DocumentPostEmployee: TSwagPathOperation; + function DocumentPutEmployee: TSwagPathOperation; + function DocumentDeleteEmployee: TSwagPathOperation; + + function DocumentRequestParameterEmployeeId: TSwagRequestParameter; + function DocumentRequestBodyEmployee: TSwagRequestParameter; + + function DocumentEmployeeModelSchema: TJsonSchema; + function DocumentEmployeeResponseSchema: TJsonSchema; + function DocumentEmployeesListResponseSchema: TJsonSchema; + + function CreatePath(const pRoute: string; pOperations: array of TSwagPathOperation): TSwagPath; + function CreateModel(const pSchemaName: string; pJsonSchema: TJsonObject): TSwagDefinition; + function CreateResponse(const pStatusCode, pDescription: string; pJsonSchema: TJsonObject): TSwagResponse; + function ExtractJsonFromSchema(pSchema: TJsonSchema): TJsonObject; + public + {$REGION 'Fake API Methods'} + // POST /api/employees + procedure AddEmployee; + + // GET /api/employees + procedure GetEmployees; + + // GET /api/employees/{id} + procedure GetEmployee(const pId: Int64); + + // PUT /api/employees/{id} + procedure UpdateEmployee(const pId: Int64); + + // DELETE /api/employees/{id} + procedure DeleteEmployee(const pId: Int64); + {$ENDREGION} + + procedure DocumentApi(pSwagDoc: TSwagDoc); + end; + +implementation + +uses + Json.Schema.Field.Strings, + Json.Schema.Field.Arrays, + Swag.Common.Types; + +{ TApiEmployee } + +{$REGION 'Fake methods not implemented'} +procedure TFakeApiEmployee.AddEmployee; +begin + { TODO : Fake method not implemented } +end; + +procedure TFakeApiEmployee.GetEmployee(const pId: Int64); +begin + { TODO : Fake method not implemented } +end; + +procedure TFakeApiEmployee.GetEmployees; +begin + { TODO : Fake method not implemented } +end; + +procedure TFakeApiEmployee.UpdateEmployee(const pId: Int64); +begin + { TODO : Fake method not implemented } +end; + +procedure TFakeApiEmployee.DeleteEmployee(const pId: Int64); +begin + { TODO : Fake method not implemented } +end; +{$ENDREGION} + +procedure TFakeApiEmployee.DocumentApi(pSwagDoc: TSwagDoc); +var + vRoute: TSwagPath; + vModel: TSwagDefinition; +begin + vModel := CreateModel(c_EmployeeSchemaName, ExtractJsonFromSchema(DocumentEmployeeModelSchema)); + pSwagDoc.Definitions.Add(vModel); + + ///vModel := CreateModel(c_EmployeeSchemaNameResponse, ExtractJsonFromSchema(DocumentEmployeeResponseSchema)); + ///pSwagDoc.Definitions.Add(vModel); + + vRoute := CreatePath('/employees', + [DocumentGetEmployeesList, + DocumentPostEmployee]); + pSwagDoc.Paths.Add(vRoute); + + vRoute := CreatePath('/employees/{' + c_ParameterEmployeeId + '}', + [DocumentGetEmployee, + DocumentPutEmployee, + DocumentDeleteEmployee]); + pSwagDoc.Paths.Add(vRoute); +end; + +function TFakeApiEmployee.CreateModel(const pSchemaName: string; pJsonSchema: TJsonObject): TSwagDefinition; +begin + Result := TSwagDefinition.Create; + Result.Name := pSchemaName; + Result.JsonSchema := pJsonSchema; +end; + +function TFakeApiEmployee.DocumentEmployeeModelSchema: TJsonSchema; +var + vName: TJsonFieldString; + vAddressSchema: TJsonSchema; +begin + Result := TJsonSchema.Create; + Result.Root.Description := 'Employee response data'; + + vName := TJsonFieldString(Result.AddField('name', 'The employee full name.')); + vName.Required := True; + vName.MaxLength := 80; + + Result.AddField('phone', 'The employee phone number.'); + Result.AddField('hireDate', 'The employee hire date.'); + Result.AddField('salary', 'The employee gross salary.'); + + vAddressSchema := TJsonSchema.Create; + try + vAddressSchema.Root.Name := 'address'; + vAddressSchema.Root.Description := 'The employee full address.'; + vAddressSchema.AddField('description', 'The employee address description.'); + vAddressSchema.AddField('city', 'The employee address city.'); + vAddressSchema.AddField('region', 'The employee address region.'); + vAddressSchema.AddField('country', 'The employee address country.'); + vAddressSchema.AddField('postalCode', 'The employee address postal code.'); + + Result.AddField(vAddressSchema); + finally + vAddressSchema.Free; + end; +end; + +function TFakeApiEmployee.DocumentEmployeeResponseSchema: TJsonSchema; +var + vSchema: TJsonSchema; + vSchemaEmployeeModel: TJsonSchema; +begin + vSchema := TJsonSchema.Create; + try + vSchema.Root.Name := 'employee'; + vSchema.Root.Description := 'Employee request data'; + vSchema.AddField('id', 'The employee identification code.'); + + vSchemaEmployeeModel := DocumentEmployeeModelSchema; + try + vSchema.Root.CopyFields(vSchemaEmployeeModel.Root); + finally + vSchemaEmployeeModel.Free; + end; + + Result := TJsonSchema.Create; + Result.AddField(vSchema); + finally + vSchema.Free; + end; +end; + +function TFakeApiEmployee.DocumentEmployeesListResponseSchema: TJsonSchema; +var + vSchema: TJsonSchema; + vFieldArray: TJsonFieldArray; +begin + vSchema := DocumentEmployeeResponseSchema; + try + Result := TJsonSchema.Create; + vFieldArray := TJsonFieldArray(Result.AddField('employees', 'The employee datas.')); + vFieldArray.ItemFieldType := vSchema.Root.Clone; + finally + vSchema.Free; + end; +end; + +function TFakeApiEmployee.DocumentGetEmployee: TSwagPathOperation; +var + vResponse: TSwagResponse; + vResponseJson: TJsonObject; +begin + vResponseJson := ExtractJsonFromSchema(DocumentEmployeeResponseSchema); + vResponse := CreateResponse('200', 'Successfully returns data', vResponseJson); + + Result := TSwagPathOperation.Create; + Result.Operation := ohvGet; + Result.OperationId := '{2DDE05B6-C01A-4EB8-B7CD-2041C51C97C7}'; + Result.Description := 'Returns a employee.'; + Result.Parameters.Add(DocumentRequestParameterEmployeeId); + Result.Responses.Add('200', vResponse); + Result.Tags.Add(c_EmployeeTagName); +end; + +function TFakeApiEmployee.DocumentGetEmployeesList: TSwagPathOperation; +var + vResponse: TSwagResponse; + vResponseJson: TJsonObject; +begin + vResponseJson := ExtractJsonFromSchema(DocumentEmployeesListResponseSchema); + vResponse := CreateResponse('200', 'Successfully returns data', vResponseJson); + + Result := TSwagPathOperation.Create; + Result.Operation := ohvGet; + Result.OperationId := '{A9A8D343-00EB-402A-8248-94BDA7B6ECD4}'; + Result.Description := 'Returns a employee list.'; + Result.Responses.Add('200', vResponse); + Result.Tags.Add(c_EmployeeTagName); +end; + +function TFakeApiEmployee.DocumentPostEmployee: TSwagPathOperation; +var + vResponse: TSwagResponse; + vResponseJson: TJsonObject; +begin + vResponseJson := ExtractJsonFromSchema(DocumentEmployeeResponseSchema); + vResponse := CreateResponse('201', 'Successfully creates data', vResponseJson); + + Result := TSwagPathOperation.Create; + Result.Operation := ohvPost; + Result.OperationId := '{C450E1E0-341D-4947-A156-9C167BE021D5}'; + Result.Description := 'Creates a employee.'; + Result.Parameters.Add(DocumentRequestBodyEmployee); + Result.Responses.Add('201', vResponse); + Result.Tags.Add(c_EmployeeTagName); +end; + +function TFakeApiEmployee.DocumentPutEmployee: TSwagPathOperation; +var + vResponse: TSwagResponse; + vResponseJson: TJsonObject; +begin + vResponseJson := ExtractJsonFromSchema(DocumentEmployeeResponseSchema); + vResponse := CreateResponse('200', 'Successfully updates data', vResponseJson); + + Result := TSwagPathOperation.Create; + Result.Operation := ohvPut; + Result.OperationId := '{28E989FB-0225-40BD-A97E-8D1EA80D09AF}'; + Result.Description := 'Updates a employee.'; + Result.Parameters.Add(DocumentRequestParameterEmployeeId); + Result.Parameters.Add(DocumentRequestBodyEmployee); + Result.Responses.Add('200', vResponse); + Result.Tags.Add(c_EmployeeTagName); +end; + +function TFakeApiEmployee.DocumentDeleteEmployee: TSwagPathOperation; +var + vResponse: TSwagResponse; +begin + vResponse := CreateResponse('204', 'Successfully deletes data', nil); + + Result := TSwagPathOperation.Create; + Result.Operation := ohvDelete; + Result.OperationId := '{F47F38F3-2B99-4481-AFDD-ECD89893FEA0}'; + Result.Description := 'Deletes a employee.'; + Result.Parameters.Add(DocumentRequestParameterEmployeeId); + Result.Responses.Add('204', vResponse); + Result.Tags.Add(c_EmployeeTagName); +end; + +function TFakeApiEmployee.CreateResponse(const pStatusCode, pDescription: string; + pJsonSchema: TJsonObject): TSwagResponse; +begin + Result := TSwagResponse.Create; + Result.StatusCode := pStatusCode; + Result.Description := pDescription; + ///vResponse.Schema.Name := c_EmployeeSchemaNameResponse; + if Assigned(pJsonSchema) then + Result.Schema.JsonSchema := pJsonSchema; +end; + +function TFakeApiEmployee.CreatePath(const pRoute: string; pOperations: array of TSwagPathOperation): TSwagPath; +var + vOperation: TSwagPathOperation; +begin + Result := TSwagPath.Create; + Result.Uri := pRoute; + for vOperation in pOperations do + Result.Operations.Add(vOperation); +end; + +function TFakeApiEmployee.DocumentRequestBodyEmployee: TSwagRequestParameter; +begin + Result := TSwagRequestParameter.Create; + Result.Name := 'employee'; + Result.InLocation := rpiBody; + Result.Required := True; + Result.Schema.Name := c_EmployeeSchemaName; +end; + +function TFakeApiEmployee.DocumentRequestParameterEmployeeId: TSwagRequestParameter; +begin + Result := TSwagRequestParameter.Create; + Result.Name := c_ParameterEmployeeId; + Result.InLocation := rpiPath; + Result.Required := True; + Result.TypeParameter := stpInteger; +end; + +function TFakeApiEmployee.ExtractJsonFromSchema(pSchema: TJsonSchema): TJsonObject; +begin + try + Result := pSchema.ToJson; + finally + pSchema.Free; + end; +end; + +end. diff --git a/lib/swagdoc/Demos/SampleApi/Sample.Data.Address.pas b/lib/swagdoc/Demos/SampleApi/Sample.Data.Address.pas new file mode 100644 index 00000000..3c5e8ae2 --- /dev/null +++ b/lib/swagdoc/Demos/SampleApi/Sample.Data.Address.pas @@ -0,0 +1,40 @@ +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.Data.Address; + +interface + +type + TAddress = class(TObject) + private + fPostalCode: string; + fCountry: string; + fDescription: string; + fCity: string; + fRegion: string; + public + property Description: string read fDescription write fDescription; + property City: string read fCity write fCity; + property Region: string read fRegion write fRegion; + property Country: string read fCountry write fCountry; + property PostalCode: string read fPostalCode write fPostalCode; + end; + +implementation + +end. diff --git a/lib/swagdoc/Demos/SampleApi/Sample.Data.Employee.pas b/lib/swagdoc/Demos/SampleApi/Sample.Data.Employee.pas new file mode 100644 index 00000000..8a2a4231 --- /dev/null +++ b/lib/swagdoc/Demos/SampleApi/Sample.Data.Employee.pas @@ -0,0 +1,45 @@ +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.Data.Employee; + +interface + +uses + Sample.Data.Address; + +type + TEmployee = class(TObject) + strict private + fName: String; + fHireDate: TDate; + fPhone: String; + fId: Int64; + fSalary: Double; + fAddress: TAddress; + public + property Id: Int64 read fId write fId; + property Name: String read fName write fName; + property Phone: String read fPhone write fPhone; + property HireDate: TDate read fHireDate write fHireDate; + property Salary: Double read fSalary write fSalary; + property Address: TAddress read fAddress write fAddress; + end; + +implementation + +end. diff --git a/lib/swagdoc/Demos/SampleApi/Sample.Main.fmx b/lib/swagdoc/Demos/SampleApi/Sample.Main.fmx new file mode 100644 index 00000000..65d42baa --- /dev/null +++ b/lib/swagdoc/Demos/SampleApi/Sample.Main.fmx @@ -0,0 +1,31 @@ +object Form1: TForm1 + Left = 0 + Top = 0 + Caption = 'Sample Api with Documentation Swagger using SwagDoc' + ClientHeight = 685 + ClientWidth = 605 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + DesignerMasterStyle = 0 + object Button1: TButton + Position.X = 16.000000000000000000 + Position.Y = 8.000000000000000000 + TabOrder = 1 + Text = 'Generate' + OnClick = Button1Click + end + object Memo1: TMemo + Touch.InteractiveGestures = [Pan, LongTap, DoubleTap] + DataDetectorTypes = [] + Anchors = [akLeft, akTop, akRight, akBottom] + Position.X = 16.000000000000000000 + Position.Y = 40.000000000000000000 + Size.Width = 574.000000000000000000 + Size.Height = 630.000000000000000000 + Size.PlatformDefault = False + TabOrder = 2 + Viewport.Width = 570.000000000000000000 + Viewport.Height = 626.000000000000000000 + end +end diff --git a/lib/swagdoc/Demos/SampleApi/Sample.Main.pas b/lib/swagdoc/Demos/SampleApi/Sample.Main.pas new file mode 100644 index 00000000..b483e54c --- /dev/null +++ b/lib/swagdoc/Demos/SampleApi/Sample.Main.pas @@ -0,0 +1,78 @@ +{******************************************************************************} +{ } +{ Delphi SwagDoc Library } +{ Copyright (c) 2018 Marcelo Jaloto } +{ https://github.com/marcelojaloto/SwagDoc } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.Main; + +interface + +uses + System.SysUtils, + System.Types, + System.UITypes, + System.Classes, + System.Variants, + FMX.Types, + FMX.Controls, + FMX.Forms, + FMX.Graphics, + FMX.Dialogs, + FMX.Controls.Presentation, + FMX.StdCtrls, FMX.ScrollBox, FMX.Memo; + +type + TForm1 = class(TForm) + Button1: TButton; + Memo1: TMemo; + procedure Button1Click(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + +implementation + +{$R *.fmx} + +uses + Sample.SwagDoc; + +procedure TForm1.Button1Click(Sender: TObject); +var + vSampleDocApi: TSampleApiSwagDocBuilder; +begin + vSampleDocApi := TSampleApiSwagDocBuilder.Create; + try + vSampleDocApi.DeployFolder := ExtractFilePath(ParamStr(0)); + memo1.Lines.Text := vSampleDocApi.Generate; + finally + vSampleDocApi.Free; + end; +end; + +initialization + ReportMemoryLeaksOnShutdown := True; + +end. diff --git a/lib/swagdoc/Demos/SampleApi/Sample.SwagDoc.pas b/lib/swagdoc/Demos/SampleApi/Sample.SwagDoc.pas new file mode 100644 index 00000000..7196210f --- /dev/null +++ b/lib/swagdoc/Demos/SampleApi/Sample.SwagDoc.pas @@ -0,0 +1,120 @@ +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} + +unit Sample.SwagDoc; + +interface + +uses + Swag.Doc; + +type + TSampleApiSwagDocBuilder = class(TObject) + strict private + fSwagDoc: TSwagDoc; + fDeployFolder: string; + + procedure DocumentApiInfo; + procedure DocumentApiSettings; + procedure DocumentApi; + procedure DocumentApiEmployee; + + procedure SaveSwaggerJson; + private + procedure SetDeployFolder(const Value: string); + public + function Generate: string; + property DeployFolder: string read fDeployFolder write SetDeployFolder; + end; + +implementation + +uses + Json.Common.Helpers, + Swag.Common.Types, + Sample.Api.Employee; + +{ TSampleApiSwagDocBuilder } + +function TSampleApiSwagDocBuilder.Generate: string; +begin + fSwagDoc := TSwagDoc.Create; + try + DocumentApiInfo; + DocumentApiSettings; + DocumentApi; + fSwagDoc.GenerateSwaggerJson; + SaveSwaggerJson; + Result := fSwagDoc.SwaggerJson.Format; + finally + fSwagDoc.Free; + end; +end; + +procedure TSampleApiSwagDocBuilder.DocumentApiInfo; +begin + fSwagDoc.Info.Title := 'Sample API'; + fSwagDoc.Info.Version := 'v1'; + fSwagDoc.Info.TermsOfService := 'http://www.apache.org/licenses/LICENSE-2.0.txt'; + fSwagDoc.Info.Description := 'Sample API Description'; + fSwagDoc.Info.Contact.Name := 'Marcelo Jaloto'; + fSwagDoc.Info.Contact.Email := 'marcelojaloto@gmail.com'; + fSwagDoc.Info.Contact.Url := 'https://github.com/marcelojaloto/SwagDoc'; + fSwagDoc.Info.License.Name := 'Apache License - Version 2.0, January 2004'; + fSwagDoc.Info.License.Url := 'http://www.apache.org/licenses/LICENSE-2.0'; +end; + +procedure TSampleApiSwagDocBuilder.DocumentApiSettings; +begin + fSwagDoc.Host := 'localhost'; + fSwagDoc.BasePath := '/api'; + + fSwagDoc.Consumes.Add('application/json'); + fSwagDoc.Produces.Add('application/json'); + + fSwagDoc.Schemes := [tpsHttp]; +end; + +procedure TSampleApiSwagDocBuilder.DocumentApi; +begin + DocumentApiEmployee; +end; + +procedure TSampleApiSwagDocBuilder.DocumentApiEmployee; +var + vApiEmployee: TFakeApiEmployee; +begin + vApiEmployee := TFakeApiEmployee.Create; + try + vApiEmployee.DocumentApi(fSwagDoc); + finally + vApiEmployee.Free; + end; +end; + +procedure TSampleApiSwagDocBuilder.SaveSwaggerJson; +begin + fSwagDoc.SwaggerFilesFolder := fDeployFolder; + fSwagDoc.SaveSwaggerJsonToFile; +end; + +procedure TSampleApiSwagDocBuilder.SetDeployFolder(const Value: string); +begin + fDeployFolder := Value; +end; + +end. diff --git a/lib/swagdoc/Demos/SampleApi/SampleApi.dpr b/lib/swagdoc/Demos/SampleApi/SampleApi.dpr new file mode 100644 index 00000000..9954aa37 --- /dev/null +++ b/lib/swagdoc/Demos/SampleApi/SampleApi.dpr @@ -0,0 +1,18 @@ +program SampleApi; + +uses + System.StartUpCopy, + FMX.Forms, + Sample.Main in 'Sample.Main.pas' {Form1}, + Sample.Data.Employee in 'Sample.Data.Employee.pas', + Sample.SwagDoc in 'Sample.SwagDoc.pas', + Sample.Api.Employee in 'Sample.Api.Employee.pas', + Sample.Data.Address in 'Sample.Data.Address.pas'; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. diff --git a/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.dproj b/lib/swagdoc/Demos/SampleApi/SampleApi.dproj similarity index 78% rename from lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.dproj rename to lib/swagdoc/Demos/SampleApi/SampleApi.dproj index 94027792..e55574d7 100644 --- a/lib/loggerpro/samples/110_rest_appender_mobile/MobileRESTAppenderSample.dproj +++ b/lib/swagdoc/Demos/SampleApi/SampleApi.dproj @@ -1,13 +1,13 @@  - {606DBA8C-75AA-4B08-9E36-026A676DEB80} - 18.4 + {B07537E3-021C-4905-B342-7B3332F81692} + 18.6 FMX - MobileRESTAppenderSample.dpr + SampleApi.dpr True Debug - Android - 1119 + Win32 + 1 Application @@ -53,12 +53,6 @@ Base true - - true - Cfg_1 - true - true - true Cfg_1 @@ -96,7 +90,7 @@ false false false - RESTComponents;emsclientfiredac;DataSnapFireDAC;FireDACIBDriver;emsclient;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;FireDAC;FireDACSqliteDriver;soaprtl;soapmidas;$(DCC_UsePackage) + RESTComponents;FireDAC;FireDACSqliteDriver;soaprtl;FireDACIBDriver;soapmidas;FireDACCommon;RESTBackendComponents;soapserver;CloudService;FireDACCommonDriver;inet;$(DCC_UsePackage) System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) true true @@ -110,10 +104,13 @@ true $(BDS)\bin\delphi_PROJECTICON.ico $(BDS)\bin\delphi_PROJECTICNS.icns - MobileRESTAppenderSample + SampleApi + ..\..\Source;$(DCC_UnitSearchPath) + 1046 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - DBXSqliteDriver;DBXInterBaseDriver;tethering;bindcompfmx;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;bindengine;DataSnapClient;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;DbxCommonDriver;xmlrtl;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;$(DCC_UsePackage) package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= Debug true @@ -126,10 +123,10 @@ $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png - android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar + android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar - DBXSqliteDriver;fmxase;DBXInterBaseDriver;tethering;bindcompfmx;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;bindengine;DataSnapClient;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;DbxCommonDriver;xmlrtl;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSCameraUsageDescription=The reason for accessing the camera iPhoneAndiPad true @@ -171,9 +168,24 @@ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_828x1792.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1136x640.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2688.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1334x750.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1792x828.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2688x1242.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_83.5x83.5.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2224.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2388.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_2048x2732.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2224x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2388x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2732x2048.png - DBXSqliteDriver;fmxase;DBXInterBaseDriver;tethering;rtcSDK;PythonVCL_D;bindcompfmx;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;bindengine;DataSnapClient;rtcSDK_DBA;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;DbxCommonDriver;xmlrtl;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSCameraUsageDescription=The reason for accessing the camera iPhoneAndiPad true @@ -215,9 +227,24 @@ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_828x1792.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1136x640.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2688.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1334x750.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1792x828.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2688x1242.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_83.5x83.5.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2224.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2388.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_2048x2732.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2224x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2388x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2732x2048.png - DBXSqliteDriver;fmxase;DBXInterBaseDriver;tethering;bindcompfmx;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;bindengine;DataSnapClient;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;DbxCommonDriver;xmlrtl;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;xmlrtl;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSCameraUsageDescription=The reason for accessing the camera iPhoneAndiPad true @@ -257,15 +284,30 @@ $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_828x1792.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1136x640.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2688.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1334x750.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_1792x828.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2688x1242.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_83.5x83.5.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2224.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1668x2388.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_2048x2732.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2224x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2388x1668.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageLandscape_2732x2048.png - DBXSqliteDriver;fmxase;DBXInterBaseDriver;tethering;FireDACMSSQLDriver;bindcompfmx;DBXOracleDriver;inetdb;emsedge;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;emshosting;FireDACPgDriver;FireDACASADriver;FireDACTDataDriver;DbxCommonDriver;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;bindcomp;DBXInformixDriver;IndyIPClient;dbxcds;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;bindcompfmx;FireDACPgDriver;inetdb;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;fmxdae;xmlrtl;fmxobj;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;IndyIPClient;dbxcds;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;fmxase;$(DCC_UsePackage) CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts Debug true - DBXSqliteDriver;fmxase;DBXDb2Driver;DBXInterBaseDriver;OverbyteIcsD102Run;vclactnband;vclFireDAC;tethering;svnui;FireDACADSDriver;rtcSDK;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;PythonVCL_D;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;MQTTComponents;VirtualTreesDR;RaizeComponentsVcl;emsedge;RaizeComponentsVclDb;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;Python_D;dsnap;DataSnapCommon;Package1;DataSnapConnectors;VCLRESTComponents;JclDeveloperTools;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;rtcSDK_DBA;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;DMVC_IDE_Expert_D102Tokyo;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;Jcl;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;DbxCommonDriver;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;RFindUnit;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;SynEditDR;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;dbxcds;VclSmp;adortl;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;JclContainers;DataSnapServerMidas;$(DCC_UsePackage) + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;vcltouch;vcldb;bindcompfmx;svn;FireDACPgDriver;inetdb;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;fmxdae;xmlrtl;Tee;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;IndyIPClient;bindcompvcl;TeeUI;VCLRESTComponents;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;fmxase;$(DCC_UsePackage) Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) Debug true @@ -276,7 +318,7 @@ $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - DBXSqliteDriver;fmxase;DBXDb2Driver;DBXInterBaseDriver;OverbyteIcsD102Run;vclactnband;vclFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;VirtualTreesDR;RaizeComponentsVcl;emsedge;RaizeComponentsVclDb;fmx;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;DataSnapConnectors;VCLRESTComponents;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;DataSnapClient;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;DbxCommonDriver;DataSnapServer;xmlrtl;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;SynEditDR;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) + DBXSqliteDriver;IndyIPCommon;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;vcltouch;vcldb;bindcompfmx;FireDACPgDriver;inetdb;FMXTee;DbxCommonDriver;FmxTeeUI;fmx;fmxdae;xmlrtl;Tee;fmxobj;vclwinx;rtl;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;IndyIPClient;bindcompvcl;TeeUI;VCLRESTComponents;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;fmxase;$(DCC_UsePackage) Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) Debug true @@ -294,18 +336,18 @@ true true - - 1 - 1 - false true - true + true + 1033 + ..\..\Deploy + ..\..\Lib + PerMonitor true - true + PerMonitor false @@ -315,24 +357,24 @@ true - true + PerMonitor true - true + PerMonitor MainSource - -
Form2
+ +
Form1
fmx
- - - - + + + + Cfg_2 Base @@ -351,105 +393,21 @@ - MobileRESTAppenderSample.dpr + SampleApi.dpr Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - - - ic_launcher.png - true - - - - - true - - - - - libMobileRESTAppenderSample.so - true - - - - - ic_launcher.png - true - - - - - splash_image.png - true - - - - - splash_image.png - true - - - - - true - - - - - libMobileRESTAppenderSample.so - true - - - - - true - - - - - ic_launcher.png - true - - - - - splash_image.png - true - - true - - - ic_launcher.png - true - - - - - splash_image.png - true - - - - - MobileRESTAppenderSample.exe - true - - - - - ic_launcher.png + + true @@ -458,30 +416,24 @@ true - - - libMobileRESTAppenderSample.so + + true - - + + true - - - classes.dex + + true - - - true - - - - + + + SampleApi.exe true @@ -494,7 +446,6 @@ 1 - Contents\MacOS 0 @@ -504,6 +455,12 @@ 1 + + + res\xml + 1 + + library\lib\armeabi-v7a @@ -540,6 +497,12 @@ 1 + + + res\values-v21 + 1 + + res\drawable @@ -618,6 +581,11 @@ 1 .framework + + Contents\MacOS + 1 + .framework + 0 @@ -640,6 +608,11 @@ 1 .dylib + + Contents\MacOS + 1 + .dylib + 0 .dll;.bpl @@ -663,6 +636,11 @@ 1 .dylib + + Contents\MacOS + 1 + .dylib + 0 .bpl @@ -685,6 +663,10 @@ Contents\Resources\StartUp\ 0 + + Contents\Resources\StartUp\ + 0 + 0 @@ -821,23 +803,41 @@ 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + ..\ 1 + + ..\ + 1 + Contents 1 + + Contents + 1 + Contents\Resources 1 + + Contents\Resources + 1 + @@ -860,6 +860,10 @@ Contents\MacOS 1 + + Contents\MacOS + 1 + 0 @@ -899,16 +903,17 @@ + - True - True - True - True - True + False + False + False + False + False True - True + False 12 diff --git a/lib/swagdoc/Deploy/favicon-16x16.png b/lib/swagdoc/Deploy/favicon-16x16.png new file mode 100644 index 00000000..0f7e13b0 Binary files /dev/null and b/lib/swagdoc/Deploy/favicon-16x16.png differ diff --git a/lib/swagdoc/Deploy/favicon-32x32.png b/lib/swagdoc/Deploy/favicon-32x32.png new file mode 100644 index 00000000..b0a3352f Binary files /dev/null and b/lib/swagdoc/Deploy/favicon-32x32.png differ diff --git a/lib/swagdoc/Deploy/index.html b/lib/swagdoc/Deploy/index.html new file mode 100644 index 00000000..1a23338f --- /dev/null +++ b/lib/swagdoc/Deploy/index.html @@ -0,0 +1,98 @@ + + + + + + Swagger UI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + diff --git a/lib/swagdoc/Deploy/oauth2-redirect.html b/lib/swagdoc/Deploy/oauth2-redirect.html new file mode 100644 index 00000000..a7eb162d --- /dev/null +++ b/lib/swagdoc/Deploy/oauth2-redirect.html @@ -0,0 +1,57 @@ + + + + + + diff --git a/lib/swagdoc/Deploy/readme.txt b/lib/swagdoc/Deploy/readme.txt new file mode 100644 index 00000000..480cf768 --- /dev/null +++ b/lib/swagdoc/Deploy/readme.txt @@ -0,0 +1,20 @@ +When creating a Swagger documentation for your REST API you can produce a page like the following example. + +![image](https://user-images.githubusercontent.com/20048296/39936694-a4d9ac9a-5523-11e8-8161-98d0e396eb6f.png) +http://petstore.swagger.io + + +For you to produce a page containing a Swagger documentation you need the Swagger UI distribution files. + +These files you can find in the github swagger-api / swagger-ui repository. + +https://github.com/swagger-api/swagger-ui/tree/master/dist + +![image](https://user-images.githubusercontent.com/20048296/39937130-2925f868-5525-11e8-921d-c9ff0f59fefd.png) + + +First you need to download the swagger user interface files and generate the swagger.json file. You then need to change the index.html file to indicate the relative path of the location where the swagger.json file is located on your web server that is hosting the swagger user interface files. + +See an example below. + +![image](https://user-images.githubusercontent.com/20048296/39946376-49ad0df0-5544-11e8-8a5c-0980f5e6c257.png) \ No newline at end of file diff --git a/lib/swagdoc/Deploy/swagger-ui-bundle.js b/lib/swagdoc/Deploy/swagger-ui-bundle.js new file mode 100644 index 00000000..b09d8593 --- /dev/null +++ b/lib/swagdoc/Deploy/swagger-ui-bundle.js @@ -0,0 +1,87 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SwaggerUIBundle=t():e.SwaggerUIBundle=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=1262)}([function(e,t,n){"use strict";e.exports=n(86)},function(e,t,n){e.exports=n(928)()},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(325),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?d(e)+t:t}function v(){return!0}function g(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function y(e,t){return b(e,t,0)}function _(e,t){return b(e,t,t)}function b(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}function x(e){this.next=e}function E(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function k(){return{value:void 0,done:!0}}function w(e){return!!A(e)}function S(e){return e&&"function"==typeof e.next}function C(e){var t=A(e);return t&&t.call(e)}function A(e){var t=e&&(En&&e[En]||e[kn]);if("function"==typeof t)return t}function D(e){return e&&"number"==typeof e.length}function M(e){return null===e||void 0===e?B():o(e)?e.toSeq():z(e)}function O(e){return null===e||void 0===e?B().toKeyedSeq():o(e)?a(e)?e.toSeq():e.fromEntrySeq():L(e)}function T(e){return null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e.toIndexedSeq():q(e)}function P(e){return(null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e:q(e)).toSetSeq()}function I(e){this._array=e,this.size=e.length}function F(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function j(e){this._iterable=e,this.size=e.length||e.size}function N(e){this._iterator=e,this._iteratorCache=[]}function R(e){return!(!e||!e[Sn])}function B(){return Cn||(Cn=new I([]))}function L(e){var t=Array.isArray(e)?new I(e).fromEntrySeq():S(e)?new N(e).fromEntrySeq():w(e)?new j(e).fromEntrySeq():"object"==typeof e?new F(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function q(e){var t=U(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function z(e){var t=U(e)||"object"==typeof e&&new F(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function U(e){return D(e)?new I(e):S(e)?new N(e):w(e)?new j(e):void 0}function W(e,t,n,r){var i=e._cache;if(i){for(var o=i.length-1,a=0;a<=o;a++){var s=i[n?o-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function V(e,t,n,r){var i=e._cache;if(i){var o=i.length-1,a=0;return new x(function(){var e=i[n?o-a:a];return a++>o?k():E(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function K(e,t){return t?H(t,e,"",{"":e}):J(e)}function H(e,t,n,r){return Array.isArray(t)?e.call(r,n,T(t).map(function(n,r){return H(e,n,r,t)})):G(t)?e.call(r,n,O(t).map(function(n,r){return H(e,n,r,t)})):t}function J(e){return Array.isArray(e)?T(e).map(J).toList():G(e)?O(e).map(J).toMap():e}function G(e){return e&&(e.constructor===Object||void 0===e.constructor)}function X(e,t){if(e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function Y(e,t){if(e===t)return!0;if(!o(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||a(e)!==a(t)||s(e)!==s(t)||l(e)!==l(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!u(e);if(l(e)){var r=e.entries();return t.every(function(e,t){var i=r.next().value;return i&&X(i[1],e)&&(n||X(i[0],t))})&&r.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var c=e;e=t,t=c}var p=!0,f=t.__iterate(function(t,r){if(n?!e.has(t):i?!X(t,e.get(r,vn)):!X(e.get(r,vn),t))return p=!1,!1});return p&&e.size===f}function $(e,t){if(!(this instanceof $))return new $(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(An)return An;An=this}}function Z(e,t){if(!e)throw new Error(t)}function Q(e,t,n){if(!(this instanceof Q))return new Q(e,t,n);if(Z(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t>>1&1073741824|3221225471&e}function oe(e){if(!1===e||null===e||void 0===e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null===e||void 0===e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!==e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)e/=4294967295,n^=e;return ie(n)}if("string"===t)return e.length>Nn?ae(e):se(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return ue(e);if("function"==typeof e.toString)return se(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function ae(e){var t=Ln[e];return void 0===t&&(t=se(e),Bn===Rn&&(Bn=0,Ln={}),Bn++,Ln[e]=t),t}function se(e){for(var t=0,n=0;n0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}function ce(e){Z(e!==1/0,"Cannot perform this action with an infinite size.")}function pe(e){return null===e||void 0===e?Ee():fe(e)&&!l(e)?e:Ee().withMutations(function(t){var r=n(e);ce(r.size),r.forEach(function(e,n){return t.set(n,e)})})}function fe(e){return!(!e||!e[qn])}function he(e,t){this.ownerID=e,this.entries=t}function de(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function me(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function ve(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function ge(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function ye(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&be(e._root)}function _e(e,t){return E(e,t[0],t[1])}function be(e,t){return{node:e,index:0,__prev:t}}function xe(e,t,n,r){var i=Object.create(zn);return i.size=e,i._root=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Ee(){return Un||(Un=xe(0))}function ke(e,t,n){var r,i;if(e._root){var o=c(gn),a=c(yn);if(r=we(e._root,e.__ownerID,0,void 0,t,n,o,a),!a.value)return e;i=e.size+(o.value?n===vn?-1:1:0)}else{if(n===vn)return e;i=1,r=new he(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=i,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?xe(i,r):Ee()}function we(e,t,n,r,i,o,a,s){return e?e.update(t,n,r,i,o,a,s):o===vn?e:(p(s),p(a),new ge(t,r,[i,o]))}function Se(e){return e.constructor===ge||e.constructor===ve}function Ce(e,t,n,r,i){if(e.keyHash===r)return new ve(t,r,[e.entry,i]);var o,a=(0===n?e.keyHash:e.keyHash>>>n)&mn,s=(0===n?r:r>>>n)&mn;return new de(t,1<>>=1)a[s]=1&n?t[o++]:void 0;return a[r]=i,new me(e,o+1,a)}function Oe(e,t,r){for(var i=[],a=0;a>1&1431655765,e=(858993459&e)+(e>>2&858993459),e=e+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Ne(e,t,n,r){var i=r?e:h(e);return i[t]=n,i}function Re(e,t,n,r){var i=e.length+1;if(r&&t+1===i)return e[t]=n,e;for(var o=new Array(i),a=0,s=0;s0&&io?0:o-n,l=a-n;return l>dn&&(l=dn),function(){if(i===l)return Xn;var e=t?--l:i++;return r&&r[e]}}function i(e,r,i){var s,u=e&&e.array,l=i>o?0:o-i>>r,c=1+(a-i>>r);return c>dn&&(c=dn),function(){for(;;){if(s){var e=s();if(e!==Xn)return e;s=null}if(l===c)return Xn;var o=t?--c:l++;s=n(u&&u[o],r-hn,i+(o<=e.size||t<0)return e.withMutations(function(e){t<0?Xe(e,t).set(0,n):Xe(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,i=e._root,o=c(yn);return t>=$e(e._capacity)?r=He(r,e.__ownerID,0,t,n,o):i=He(i,e.__ownerID,e._level,t,n,o),o.value?e.__ownerID?(e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e):We(e._origin,e._capacity,e._level,i,r):e}function He(e,t,n,r,i,o){var a=r>>>n&mn,s=e&&a0){var l=e&&e.array[a],c=He(l,t,n-hn,r,i,o);return c===l?e:(u=Je(e,t),u.array[a]=c,u)}return s&&e.array[a]===i?e:(p(o),u=Je(e,t),void 0===i&&a===u.array.length-1?u.array.pop():u.array[a]=i,u)}function Je(e,t){return t&&e&&t===e.ownerID?e:new ze(e?e.array.slice():[],t)}function Ge(e,t){if(t>=$e(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>r&mn],r-=hn;return n}}function Xe(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new f,i=e._origin,o=e._capacity,a=i+t,s=void 0===n?o:n<0?o+n:i+n;if(a===i&&s===o)return e;if(a>=s)return e.clear();for(var u=e._level,l=e._root,c=0;a+c<0;)l=new ze(l&&l.array.length?[void 0,l]:[],r),u+=hn,c+=1<=1<p?new ze([],r):d;if(d&&h>p&&ahn;g-=hn){var y=p>>>g&mn;v=v.array[y]=Je(v.array[y],r)}v.array[p>>>hn&mn]=d}if(s=h)a-=h,s-=h,u=hn,l=null,m=m&&m.removeBefore(r,0,a);else if(a>i||h>>u&mn;if(_!==h>>>u&mn)break;_&&(c+=(1<i&&(l=l.removeBefore(r,u,a-c)),l&&ha&&(a=l.size),o(u)||(l=l.map(function(e){return K(e)})),i.push(l)}return a>e.size&&(e=e.setSize(a)),Ie(e,t,i)}function $e(e){return e>>hn<=dn&&a.size>=2*o.size?(i=a.filter(function(e,t){return void 0!==e&&s!==t}),r=i.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=i.__ownerID=e.__ownerID)):(r=o.remove(t),i=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=o,i=a.set(s,[t,n])}else r=o.set(t,a.size),i=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=i,e.__hash=void 0,e):et(r,i)}function rt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function it(e){this._iter=e,this.size=e.size}function ot(e){this._iter=e,this.size=e.size}function at(e){this._iter=e,this.size=e.size}function st(e){var t=Dt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=Mt,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===xn){var r=e.__iterator(t,n);return new x(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===bn?_n:bn,n)},t}function ut(e,t,n){var r=Dt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,i){var o=e.get(r,vn);return o===vn?i:t.call(n,o,r,e)},r.__iterateUncached=function(r,i){var o=this;return e.__iterate(function(e,i,a){return!1!==r(t.call(n,e,i,a),i,o)},i)},r.__iteratorUncached=function(r,i){var o=e.__iterator(xn,i);return new x(function(){var i=o.next();if(i.done)return i;var a=i.value,s=a[0];return E(r,s,t.call(n,a[1],s,e),i)})},r}function lt(e,t){var n=Dt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=st(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=Mt,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function ct(e,t,n,r){var i=Dt(e);return r&&(i.has=function(r){var i=e.get(r,vn);return i!==vn&&!!t.call(n,i,r,e)},i.get=function(r,i){var o=e.get(r,vn);return o!==vn&&t.call(n,o,r,e)?o:i}),i.__iterateUncached=function(i,o){var a=this,s=0;return e.__iterate(function(e,o,u){if(t.call(n,e,o,u))return s++,i(e,r?o:s-1,a)},o),s},i.__iteratorUncached=function(i,o){var a=e.__iterator(xn,o),s=0;return new x(function(){for(;;){var o=a.next();if(o.done)return o;var u=o.value,l=u[0],c=u[1];if(t.call(n,c,l,e))return E(i,r?l:s++,c,o)}})},i}function pt(e,t,n){var r=pe().asMutable();return e.__iterate(function(i,o){r.update(t.call(n,i,o,e),0,function(e){return e+1})}),r.asImmutable()}function ft(e,t,n){var r=a(e),i=(l(e)?Ze():pe()).asMutable();e.__iterate(function(o,a){i.update(t.call(n,o,a,e),function(e){return e=e||[],e.push(r?[a,o]:o),e})});var o=At(e);return i.map(function(t){return wt(e,o(t))})}function ht(e,t,n,r){var i=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=i:n|=0),g(t,n,i))return e;var o=y(t,i),a=_(n,i);if(o!==o||a!==a)return ht(e.toSeq().cacheResult(),t,n,r);var s,u=a-o;u===u&&(s=u<0?0:u);var l=Dt(e);return l.size=0===s?s:e.size&&s||void 0,!r&&R(e)&&s>=0&&(l.get=function(t,n){return t=m(this,t),t>=0&&ts)return k();var e=i.next();return r||t===bn?e:t===_n?E(t,u-1,void 0,e):E(t,u-1,e.value[1],e)})},l}function dt(e,t,n){var r=Dt(e);return r.__iterateUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterate(r,i);var a=0;return e.__iterate(function(e,i,s){return t.call(n,e,i,s)&&++a&&r(e,i,o)}),a},r.__iteratorUncached=function(r,i){var o=this;if(i)return this.cacheResult().__iterator(r,i);var a=e.__iterator(xn,i),s=!0;return new x(function(){if(!s)return k();var e=a.next();if(e.done)return e;var i=e.value,u=i[0],l=i[1];return t.call(n,l,u,o)?r===xn?e:E(r,u,l,e):(s=!1,k())})},r}function mt(e,t,n,r){var i=Dt(e);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return e.__iterate(function(e,o,l){if(!s||!(s=t.call(n,e,o,l)))return u++,i(e,r?o:u-1,a)}),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=e.__iterator(xn,o),u=!0,l=0;return new x(function(){var e,o,c;do{if(e=s.next(),e.done)return r||i===bn?e:i===_n?E(i,l++,void 0,e):E(i,l++,e.value[1],e);var p=e.value;o=p[0],c=p[1],u&&(u=t.call(n,c,o,a))}while(u);return i===xn?e:E(i,o,c,e)})},i}function vt(e,t){var r=a(e),i=[e].concat(t).map(function(e){return o(e)?r&&(e=n(e)):e=r?L(e):q(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===i.length)return e;if(1===i.length){var u=i[0];if(u===e||r&&a(u)||s(e)&&s(u))return u}var l=new I(i);return r?l=l.toKeyedSeq():s(e)||(l=l.toSetSeq()),l=l.flatten(!0),l.size=i.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}function gt(e,t,n){var r=Dt(e);return r.__iterateUncached=function(r,i){function a(e,l){var c=this;e.__iterate(function(e,i){return(!t||l0}function kt(e,n,r){var i=Dt(e);return i.size=new I(r).map(function(e){return e.size}).min(),i.__iterate=function(e,t){for(var n,r=this.__iterator(bn,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var o=r.map(function(e){return e=t(e),C(i?e.reverse():e)}),a=0,s=!1;return new x(function(){var t;return s||(t=o.map(function(e){return e.next()}),s=t.some(function(e){return e.done})),s?k():E(e,a++,n.apply(null,t.map(function(e){return e.value})))})},i}function wt(e,t){return R(e)?t:e.constructor(t)}function St(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Ct(e){return ce(e.size),d(e)}function At(e){return a(e)?n:s(e)?r:i}function Dt(e){return Object.create((a(e)?O:s(e)?T:P).prototype)}function Mt(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):M.prototype.cacheResult.call(this)}function Ot(e,t){return e>t?1:et?-1:0}function on(e){if(e.size===1/0)return 0;var t=l(e),n=a(e),r=t?1:0;return an(e.__iterate(n?t?function(e,t){r=31*r+sn(oe(e),oe(t))|0}:function(e,t){r=r+sn(oe(e),oe(t))|0}:t?function(e){r=31*r+oe(e)|0}:function(e){r=r+oe(e)|0}),r)}function an(e,t){return t=On(t,3432918353),t=On(t<<15|t>>>-15,461845907),t=On(t<<13|t>>>-13,5),t=(t+3864292196|0)^e,t=On(t^t>>>16,2246822507),t=On(t^t>>>13,3266489909),t=ie(t^t>>>16)}function sn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}var un=Array.prototype.slice;e(n,t),e(r,t),e(i,t),t.isIterable=o,t.isKeyed=a,t.isIndexed=s,t.isAssociative=u,t.isOrdered=l,t.Keyed=n,t.Indexed=r,t.Set=i;var ln="@@__IMMUTABLE_ITERABLE__@@",cn="@@__IMMUTABLE_KEYED__@@",pn="@@__IMMUTABLE_INDEXED__@@",fn="@@__IMMUTABLE_ORDERED__@@",hn=5,dn=1<r?k():E(e,i,n[t?r-i++:i++])})},e(F,O),F.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},F.prototype.has=function(e){return this._object.hasOwnProperty(e)},F.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length-1,o=0;o<=i;o++){var a=r[t?i-o:o];if(!1===e(n[a],a,this))return o+1}return o},F.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length-1,o=0;return new x(function(){var a=r[t?i-o:o];return o++>i?k():E(e,a,n[a])})},F.prototype[fn]=!0,e(j,T),j.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=C(n),i=0;if(S(r))for(var o;!(o=r.next()).done&&!1!==e(o.value,i++,this););return i},j.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=C(n);if(!S(r))return new x(k);var i=0;return new x(function(){var t=r.next();return t.done?t:E(e,i++,t.value)})},e(N,T),N.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n=this._iterator,r=this._iteratorCache,i=0;i=r.length){var t=n.next();if(t.done)return t;r[i]=t.value}return E(e,i,r[i++])})};var Cn;e($,T),$.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},$.prototype.get=function(e,t){return this.has(e)?this._value:t},$.prototype.includes=function(e){return X(this._value,e)},$.prototype.slice=function(e,t){var n=this.size;return g(e,t,n)?this:new $(this._value,_(t,n)-y(e,n))},$.prototype.reverse=function(){return this},$.prototype.indexOf=function(e){return X(this._value,e)?0:-1},$.prototype.lastIndexOf=function(e){return X(this._value,e)?this.size:-1},$.prototype.__iterate=function(e,t){for(var n=0;n=0&&t=0&&nn?k():E(e,o++,a)})},Q.prototype.equals=function(e){return e instanceof Q?this._start===e._start&&this._end===e._end&&this._step===e._step:Y(this,e)};var Dn;e(ee,t),e(te,ee),e(ne,ee),e(re,ee),ee.Keyed=te,ee.Indexed=ne,ee.Set=re;var Mn,On="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){e|=0,t|=0;var n=65535&e,r=65535&t;return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0},Tn=Object.isExtensible,Pn=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),In="function"==typeof WeakMap;In&&(Mn=new WeakMap);var Fn=0,jn="__immutablehash__";"function"==typeof Symbol&&(jn=Symbol(jn));var Nn=16,Rn=255,Bn=0,Ln={};e(pe,te),pe.of=function(){var e=un.call(arguments,0);return Ee().withMutations(function(t){for(var n=0;n=e.length)throw new Error("Missing value for key: "+e[n]);t.set(e[n],e[n+1])}})},pe.prototype.toString=function(){return this.__toString("Map {","}")},pe.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},pe.prototype.set=function(e,t){return ke(this,e,t)},pe.prototype.setIn=function(e,t){return this.updateIn(e,vn,function(){return t})},pe.prototype.remove=function(e){return ke(this,e,vn)},pe.prototype.deleteIn=function(e){return this.updateIn(e,function(){return vn})},pe.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},pe.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=Fe(this,Tt(e),t,n);return r===vn?void 0:r},pe.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Ee()},pe.prototype.merge=function(){return Oe(this,void 0,arguments)},pe.prototype.mergeWith=function(e){return Oe(this,e,un.call(arguments,1))},pe.prototype.mergeIn=function(e){var t=un.call(arguments,1);return this.updateIn(e,Ee(),function(e){return"function"==typeof e.merge?e.merge.apply(e,t):t[t.length-1]})},pe.prototype.mergeDeep=function(){return Oe(this,Te,arguments)},pe.prototype.mergeDeepWith=function(e){var t=un.call(arguments,1);return Oe(this,Pe(e),t)},pe.prototype.mergeDeepIn=function(e){var t=un.call(arguments,1);return this.updateIn(e,Ee(),function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,t):t[t.length-1]})},pe.prototype.sort=function(e){return Ze(bt(this,e))},pe.prototype.sortBy=function(e,t){return Ze(bt(this,t,e))},pe.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},pe.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new f)},pe.prototype.asImmutable=function(){return this.__ensureOwner()},pe.prototype.wasAltered=function(){return this.__altered},pe.prototype.__iterator=function(e,t){return new ye(this,e,t)},pe.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},pe.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?xe(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},pe.isMap=fe;var qn="@@__IMMUTABLE_MAP__@@",zn=pe.prototype;zn[qn]=!0,zn.delete=zn.remove,zn.removeIn=zn.deleteIn,he.prototype.get=function(e,t,n,r){for(var i=this.entries,o=0,a=i.length;o=Wn)return Ae(e,u,r,i);var d=e&&e===this.ownerID,m=d?u:h(u);return f?s?l===c-1?m.pop():m[l]=m.pop():m[l]=[r,i]:m.push([r,i]),d?(this.entries=m,this):new he(e,m)}},de.prototype.get=function(e,t,n,r){void 0===t&&(t=oe(n));var i=1<<((0===e?t:t>>>e)&mn),o=this.bitmap;return 0==(o&i)?r:this.nodes[je(o&i-1)].get(e+hn,t,n,r)},de.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=oe(r));var s=(0===t?n:n>>>t)&mn,u=1<=Vn)return Me(e,f,l,s,d);if(c&&!d&&2===f.length&&Se(f[1^p]))return f[1^p];if(c&&d&&1===f.length&&Se(d))return d;var m=e&&e===this.ownerID,v=c?d?l:l^u:l|u,g=c?d?Ne(f,p,d,m):Be(f,p,m):Re(f,p,d,m);return m?(this.bitmap=v,this.nodes=g,this):new de(e,v,g)},me.prototype.get=function(e,t,n,r){void 0===t&&(t=oe(n));var i=(0===e?t:t>>>e)&mn,o=this.nodes[i];return o?o.get(e+hn,t,n,r):r},me.prototype.update=function(e,t,n,r,i,o,a){void 0===n&&(n=oe(r));var s=(0===t?n:n>>>t)&mn,u=i===vn,l=this.nodes,c=l[s];if(u&&!c)return this;var p=we(c,e,t+hn,n,r,i,o,a);if(p===c)return this;var f=this.count;if(c){if(!p&&--f=0&&e>>t&mn;if(r>=this.array.length)return new ze([],e);var i,o=0===r;if(t>0){var a=this.array[r];if((i=a&&a.removeBefore(e,t-hn,n))===a&&o)return this}if(o&&!i)return this;var s=Je(this,e);if(!o)for(var u=0;u>>t&mn;if(r>=this.array.length)return this;var i;if(t>0){var o=this.array[r];if((i=o&&o.removeAfter(e,t-hn,n))===o&&r===this.array.length-1)return this}var a=Je(this,e);return a.array.splice(r+1),i&&(a.array[r]=i),a};var Gn,Xn={};e(Ze,pe),Ze.of=function(){return this(arguments)},Ze.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Ze.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Ze.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):tt()},Ze.prototype.set=function(e,t){return nt(this,e,t)},Ze.prototype.remove=function(e){return nt(this,e,vn)},Ze.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Ze.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Ze.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Ze.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?et(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Ze.isOrderedMap=Qe,Ze.prototype[fn]=!0,Ze.prototype.delete=Ze.prototype.remove;var Yn;e(rt,O),rt.prototype.get=function(e,t){return this._iter.get(e,t)},rt.prototype.has=function(e){return this._iter.has(e)},rt.prototype.valueSeq=function(){return this._iter.valueSeq()},rt.prototype.reverse=function(){var e=this,t=lt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},rt.prototype.map=function(e,t){var n=this,r=ut(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},rt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?Ct(this):0,function(i){return e(i,t?--n:n++,r)}),t)},rt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(bn,t),r=t?Ct(this):0;return new x(function(){var i=n.next();return i.done?i:E(e,t?--r:r++,i.value,i)})},rt.prototype[fn]=!0,e(it,T),it.prototype.includes=function(e){return this._iter.includes(e)},it.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},it.prototype.__iterator=function(e,t){var n=this._iter.__iterator(bn,t),r=0;return new x(function(){var t=n.next();return t.done?t:E(e,r++,t.value,t)})},e(ot,P),ot.prototype.has=function(e){return this._iter.includes(e)},ot.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},ot.prototype.__iterator=function(e,t){var n=this._iter.__iterator(bn,t);return new x(function(){var t=n.next();return t.done?t:E(e,t.value,t.value,t)})},e(at,O),at.prototype.entrySeq=function(){return this._iter.toSeq()},at.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){St(t);var r=o(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},at.prototype.__iterator=function(e,t){var n=this._iter.__iterator(bn,t);return new x(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){St(r);var i=o(r);return E(e,i?r.get(0):r[0],i?r.get(1):r[1],t)}}})},it.prototype.cacheResult=rt.prototype.cacheResult=ot.prototype.cacheResult=at.prototype.cacheResult=Mt,e(Pt,te),Pt.prototype.toString=function(){return this.__toString(Ft(this)+" {","}")},Pt.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},Pt.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},Pt.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=It(this,Ee()))},Pt.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+Ft(this));if(this._map&&!this._map.has(e)){if(t===this._defaultValues[e])return this}var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:It(this,n)},Pt.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:It(this,t)},Pt.prototype.wasAltered=function(){return this._map.wasAltered()},Pt.prototype.__iterator=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterator(e,t)},Pt.prototype.__iterate=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterate(e,t)},Pt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?It(this,t,e):(this.__ownerID=e,this._map=t,this)};var $n=Pt.prototype;$n.delete=$n.remove,$n.deleteIn=$n.removeIn=zn.removeIn,$n.merge=zn.merge,$n.mergeWith=zn.mergeWith,$n.mergeIn=zn.mergeIn,$n.mergeDeep=zn.mergeDeep,$n.mergeDeepWith=zn.mergeDeepWith,$n.mergeDeepIn=zn.mergeDeepIn,$n.setIn=zn.setIn,$n.update=zn.update,$n.updateIn=zn.updateIn,$n.withMutations=zn.withMutations,$n.asMutable=zn.asMutable,$n.asImmutable=zn.asImmutable,e(Rt,re),Rt.of=function(){return this(arguments)},Rt.fromKeys=function(e){return this(n(e).keySeq())},Rt.prototype.toString=function(){return this.__toString("Set {","}")},Rt.prototype.has=function(e){return this._map.has(e)},Rt.prototype.add=function(e){return Lt(this,this._map.set(e,!0))},Rt.prototype.remove=function(e){return Lt(this,this._map.remove(e))},Rt.prototype.clear=function(){return Lt(this,this._map.clear())},Rt.prototype.union=function(){var e=un.call(arguments,0);return e=e.filter(function(e){return 0!==e.size}),0===e.length?this:0!==this.size||this.__ownerID||1!==e.length?this.withMutations(function(t){for(var n=0;n=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Gt(e,t)},Ht.prototype.pushAll=function(e){if(e=r(e),0===e.size)return this;ce(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Gt(t,n)},Ht.prototype.pop=function(){return this.slice(1)},Ht.prototype.unshift=function(){return this.push.apply(this,arguments)},Ht.prototype.unshiftAll=function(e){return this.pushAll(e)},Ht.prototype.shift=function(){return this.pop.apply(this,arguments)},Ht.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Xt()},Ht.prototype.slice=function(e,t){if(g(e,t,this.size))return this;var n=y(e,this.size);if(_(t,this.size)!==this.size)return ne.prototype.slice.call(this,e,t);for(var r=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=r,this._head=i,this.__hash=void 0,this.__altered=!0,this):Gt(r,i)},Ht.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Gt(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Ht.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},Ht.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new x(function(){if(r){var t=r.value;return r=r.next,E(e,n++,t)}return k()})},Ht.isStack=Jt;var rr="@@__IMMUTABLE_STACK__@@",ir=Ht.prototype;ir[rr]=!0,ir.withMutations=zn.withMutations,ir.asMutable=zn.asMutable,ir.asImmutable=zn.asImmutable,ir.wasAltered=zn.wasAltered;var or;t.Iterator=x,Yt(t,{toArray:function(){ce(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new it(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new rt(this,!0)},toMap:function(){return pe(this.toKeyedSeq())},toObject:function(){ce(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Ze(this.toKeyedSeq())},toOrderedSet:function(){return Ut(a(this)?this.valueSeq():this)},toSet:function(){return Rt(a(this)?this.valueSeq():this)},toSetSeq:function(){return new ot(this)},toSeq:function(){return s(this)?this.toIndexedSeq():a(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Ht(a(this)?this.valueSeq():this)},toList:function(){return Le(a(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){return wt(this,vt(this,un.call(arguments,0)))},includes:function(e){return this.some(function(t){return X(t,e)})},entries:function(){return this.__iterator(xn)},every:function(e,t){ce(this.size);var n=!0;return this.__iterate(function(r,i,o){if(!e.call(t,r,i,o))return n=!1,!1}),n},filter:function(e,t){return wt(this,ct(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return ce(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){ce(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!==r&&void 0!==r?r.toString():""}),t},keys:function(){return this.__iterator(_n)},map:function(e,t){return wt(this,ut(this,e,t))},reduce:function(e,t,n){ce(this.size);var r,i;return arguments.length<2?i=!0:r=t,this.__iterate(function(t,o,a){i?(i=!1,r=t):r=e.call(n,r,t,o,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return wt(this,lt(this,!0))},slice:function(e,t){return wt(this,ht(this,e,t,!0))},some:function(e,t){return!this.every(Qt(e),t)},sort:function(e){return wt(this,bt(this,e))},values:function(){return this.__iterator(bn)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return d(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return pt(this,e,t)},equals:function(e){return Y(this,e)},entrySeq:function(){var e=this;if(e._cache)return new I(e._cache);var t=e.toSeq().map(Zt).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Qt(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate(function(n,i,o){if(e.call(t,n,i,o))return r=[i,n],!1}),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(v)},flatMap:function(e,t){return wt(this,yt(this,e,t))},flatten:function(e){return wt(this,gt(this,e,!0))},fromEntrySeq:function(){return new at(this)},get:function(e,t){return this.find(function(t,n){return X(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,i=Tt(e);!(n=i.next()).done;){var o=n.value;if((r=r&&r.get?r.get(o,vn):vn)===vn)return t}return r},groupBy:function(e,t){return ft(this,e,t)},has:function(e){return this.get(e,vn)!==vn},hasIn:function(e){return this.getIn(e,vn)!==vn},isSubset:function(e){return e="function"==typeof e.includes?e:t(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return e="function"==typeof e.isSubset?e:t(e),e.isSubset(this)},keyOf:function(e){return this.findKey(function(t){return X(t,e)})},keySeq:function(){return this.toSeq().map($t).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return xt(this,e)},maxBy:function(e,t){return xt(this,t,e)},min:function(e){return xt(this,e?en(e):rn)},minBy:function(e,t){return xt(this,t?en(t):rn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return wt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return wt(this,mt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Qt(e),t)},sortBy:function(e,t){return wt(this,bt(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return wt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return wt(this,dt(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Qt(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=on(this))}});var ar=t.prototype;ar[ln]=!0,ar[wn]=ar.values,ar.__toJS=ar.toArray,ar.__toStringMapper=tn,ar.inspect=ar.toSource=function(){return this.toString()},ar.chain=ar.flatMap,ar.contains=ar.includes,Yt(n,{flip:function(){return wt(this,st(this))},mapEntries:function(e,t){var n=this,r=0;return wt(this,this.toSeq().map(function(i,o){return e.call(t,[o,i],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return wt(this,this.toSeq().flip().map(function(r,i){return e.call(t,r,i,n)}).flip())}});var sr=n.prototype;return sr[cn]=!0,sr[wn]=ar.entries,sr.__toJS=ar.toObject,sr.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+tn(e)},Yt(r,{toKeyedSeq:function(){return new rt(this,!1)},filter:function(e,t){return wt(this,ct(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return wt(this,lt(this,!1))},slice:function(e,t){return wt(this,ht(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=y(e,e<0?this.count():this.size);var r=this.slice(0,e);return wt(this,1===n?r:r.concat(h(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return wt(this,gt(this,e,!1))},get:function(e,t){return e=m(this,e),e<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=m(this,e))>=0&&(void 0!==this.size?this.size===1/0||e)(<)(\/*)/g,f=/[ ]*(.*)[ ]+\n/g,t=/(<.+>)(.+\n)/g,e=e.replace(/\r\n/g,"\n").replace(c,"$1\n$2$3").replace(f,"$1\n").replace(t,"$1\n$2"),r="",u=e.split("\n"),i=0,a="other",p={"single->single":0,"single->closing":-1,"single->opening":0,"single->other":0,"closing->single":0,"closing->closing":-1,"closing->opening":0,"closing->other":0,"opening->single":1,"opening->closing":0,"opening->opening":1,"opening->other":1,"other->single":0,"other->closing":-1,"other->opening":0,"other->other":0},n=function(e){var t,n,o,s,u,l;u={single:Boolean(e.match(/<.+\/>/)),closing:Boolean(e.match(/<\/.+>/)),opening:Boolean(e.match(/<[^!?].*>/))},s=function(){var e;e=[];for(n in u)(l=u[n])&&e.push(n);return e}()[0],s=void 0===s?"other":s,t=a+"->"+s,a=s,o="",i+=p[t],o=function(){var e,t,n;for(n=[],e=0,t=i;0<=t?et;0<=t?++e:--e)n.push(" ");return n}().join(""),"opening->closing"===t?r=r.substr(0,r.length-1)+e+"\n":r+=o+e+"\n"},o=0,s=u.length;o5e3)return e.textContent;return function(e){for(var n,r,i,o,a,s=e.textContent,u=0,l=s[0],c=1,p=e.innerHTML="",f=0;r=n,n=f<7&&"\\"==n?1:c;){if(c=l,l=s[++u],o=p.length>1,!c||f>8&&"\n"==c||[/\S/.test(c),1,1,!/[$\w]/.test(c),("/"==n||"\n"==n)&&o,'"'==n&&o,"'"==n&&o,s[u-4]+r+n=="--\x3e",r+n=="*/"][f])for(p&&(e.appendChild(a=t.createElement("span")).setAttribute("style",["color: #555; font-weight: bold;","","","color: #555;",""][f?f<3?2:f>6?4:f>3?3:+/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(p):0]),a.appendChild(t.createTextNode(p))),i=f&&f<7?f:i,p="",f=11;![1,/[\/{}[(\-+*=<>:;|\\.,?!&@~]/.test(c),/[\])]/.test(c),/[$\w]/.test(c),"/"==c&&i<2&&"<"!=n,'"'==c,"'"==c,c+l+s[u+1]+s[u+2]=="\x3c!--",c+l=="/*",c+l=="//","#"==c][--f];);p+=c}}(e)}function x(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"key",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:B.default.Map();if(!B.default.Map.isMap(e)||!e.size)return B.default.List();if(Array.isArray(t)||(t=[t]),t.length<1)return e.merge(n);var r=B.default.List(),i=t[0],o=!0,a=!1,s=void 0;try{for(var u,l=(0,O.default)(e.entries());!(o=(u=l.next()).done);o=!0){var c=u.value,p=(0,D.default)(c,2),f=p[0],h=p[1],d=x(h,t.slice(1),n.set(i,f));r=B.default.List.isList(d)?r.concat(d):r.push(d)}}catch(e){a=!0,s=e}finally{try{!o&&l.return&&l.return()}finally{if(a)throw s}}return r}function E(e){return(0,U.default)((0,q.default)(e))}function k(e){return E(e.replace(/\.[^.\/]*$/,""))}function w(e){if(!B.default.OrderedMap.isOrderedMap(e))return null;if(!e.size)return null;var t=e.find(function(e,t){return t.startsWith("2")&&(0,F.default)(e.get("content")||{}).length>0}),n=e.get("default")||B.default.OrderedMap(),r=(n.get("content")||B.default.OrderedMap()).keySeq().toJS(),i=r.length?n:null;return t||i}Object.defineProperty(t,"__esModule",{value:!0}),t.escapeDeepLinkPath=t.createDeepLinkPath=t.shallowEqualKeys=t.buildFormData=t.sorters=t.btoa=t.parseSearch=t.getSampleSchema=t.validateParam=t.validateMinLength=t.validateMaxLength=t.validateGuid=t.validateDateTime=t.validateString=t.validateBoolean=t.validateFile=t.validateInteger=t.validateNumber=t.validateMinimum=t.validateMaximum=t.propChecker=t.errorLog=t.memoize=t.isImmutable=void 0;var S=n(42),C=r(S),A=n(16),D=r(A),M=n(90),O=r(M),T=n(35),P=r(T),I=n(52),F=r(I),j=n(43),N=r(j);t.isJSONObject=i,t.objectify=o,t.arrayify=a,t.fromJSOrdered=s,t.bindToState=u,t.normalizeArray=l,t.isFn=c,t.isObject=p,t.isFunc=f,t.isArray=h,t.objMap=d,t.objReduce=m,t.systemThunkMiddleware=v,t.defaultStatusCode=g,t.getList=y,t.formatXml=_,t.highlight=b,t.mapToList=x,t.pascalCase=E,t.pascalCaseFilename=k,t.getAcceptControllingResponse=w;var R=n(8),B=r(R),L=n(888),q=r(L),z=n(409),U=r(z),W=n(407),V=r(W),K=n(401),H=r(K),J=n(903),G=r(J),X=n(114),Y=r(X),$=n(168),Z=n(51),Q=r(Z),ee=n(652),te=r(ee),ne="default",re=t.isImmutable=function(e){return B.default.Iterable.isIterable(e)},ie=(t.memoize=V.default,t.errorLog=function(e){return function(){return function(t){return function(n){try{t(n)}catch(t){e().errActions.newThrownErr(t,n)}}}}},t.propChecker=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return(0,F.default)(e).length!==(0,F.default)(t).length||((0,G.default)(e,function(e,n){if(r.includes(n))return!1;var i=t[n];return B.default.Iterable.isIterable(e)?!B.default.is(e,i):("object"!==(void 0===e?"undefined":(0,N.default)(e))||"object"!==(void 0===i?"undefined":(0,N.default)(i)))&&e!==i})||n.some(function(n){return!(0,Y.default)(e[n],t[n])}))},t.validateMaximum=function(e,t){if(e>t)return"Value must be less than Maximum"}),oe=t.validateMinimum=function(e,t){if(et)return"Value must be less than MaxLength"},de=t.validateMinLength=function(e,t){if(e.length1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/xml/.test(t)){if(!e.xml||!e.xml.name){if(e.xml=e.xml||{},!e.$$ref)return e.type||e.items||e.properties||e.additionalProperties?'\n\x3c!-- XML example cannot be generated --\x3e':null;var r=e.$$ref.match(/\S*\/(\S+)$/);e.xml.name=r[1]}return(0,$.memoizedCreateXMLExample)(e,n)}return(0,C.default)((0,$.memoizedSampleFromSchema)(e,n),null,2)},t.parseSearch=function(){var e={},t=window.location.search;if(""!=t){var n=t.substr(1).split("&");for(var r in n)r=n[r].split("="),e[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return e},t.btoa=function(t){var n=void 0;return n=t instanceof e?t:new e(t.toString(),"utf-8"),n.toString("base64")},t.sorters={operationsSorter:{alpha:function(e,t){return e.get("path").localeCompare(t.get("path"))},method:function(e,t){return e.get("method").localeCompare(t.get("method"))}},tagsSorter:{alpha:function(e,t){return e.localeCompare(t)}}},t.buildFormData=function(e){var t=[];for(var n in e){var r=e[n];void 0!==r&&""!==r&&t.push([n,"=",encodeURIComponent(r).replace(/%20/g,"+")].join(""))}return t.join("&")},t.shallowEqualKeys=function(e,t,n){return!!(0,H.default)(n,function(n){return(0,Y.default)(e[n],t[n])})},t.createDeepLinkPath=function(e){return"string"==typeof e||e instanceof String?e.trim().replace(/\s/g,"_"):""});t.escapeDeepLinkPath=function(e){return(0,te.default)(me(e))}}).call(t,n(45).Buffer)},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),l=1;l=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function l(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function c(e,t){var n=0;return o(y,t)?y[t]:35===t.charCodeAt(0)&&g.test(t)&&(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10),u(n))?l(n):e}function p(e){return e.indexOf("&")<0?e:e.replace(v,c)}function f(e){return x[e]}function h(e){return _.test(e)?e.replace(b,f):e}var d=Object.prototype.hasOwnProperty,m=/\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g,v=/&([a-z#][a-z0-9]{1,31});/gi,g=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,y=n(458),_=/[&<>"]/,b=/[&<>"]/g,x={"&":"&","<":"<",">":">",'"':"""};t.assign=a,t.isString=i,t.has=o,t.unescapeMd=s,t.isValidEntityCode=u,t.fromCodePoint=l,t.replaceEntities=p,t.escapeHtml=h},function(e,t,n){var r=n(638)("wks"),i=n(353),o=n(30).Symbol;e.exports=function(e){return r[e]||(r[e]=o&&o[e]||(o||i)("Symbol."+e))}},function(e,t,n){"use strict";function r(e){return function(){return e}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(e){return e},e.exports=i},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";function r(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":e instanceof b.Iterable?"Immutable."+e.toSource().split(" ")[0]:t}function i(e){function t(t,n,r,i,o,a){for(var s=arguments.length,u=Array(s>6?s-6:0),l=6;l5?l-5:0),p=5;p5?a-5:0),u=5;u key("+c[p]+")"].concat(s));if(h instanceof Error)return h}}return i(t)}function u(e){return a(e,"List",b.List.isList)}function l(e,t,n,r){function o(){for(var i=arguments.length,o=Array(i),u=0;u5?s-5:0),l=5;l5?l-5:0),p=5;p>",E={listOf:u,mapOf:c,orderedMapOf:p,setOf:f,orderedSetOf:h,stackOf:d,iterableOf:m,recordOf:v,shape:y,contains:y,mapContains:_,list:o("List",b.List.isList),map:o("Map",b.Map.isMap),orderedMap:o("OrderedMap",b.OrderedMap.isOrderedMap),set:o("Set",b.Set.isSet),orderedSet:o("OrderedSet",b.OrderedSet.isOrderedSet),stack:o("Stack",b.Stack.isStack),seq:o("Seq",b.Seq.isSeq),record:o("Record",function(e){return e instanceof b.Record}),iterable:o("Iterable",b.Iterable.isIterable)};e.exports=E},function(e,t,n){var r=n(27);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function o(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){m&&h&&(m=!1,h.length?d=h.concat(d):v=-1,d.length&&s())}function s(){if(!m){var e=i(a);m=!0;for(var t=d.length;t;){for(h=d,d=[];++v1)for(var n=1;n0&&(a=this.buffer[u-1],e.call(r,a)<0);)if(u--,this.pointer-u>n/2-1){o=" ... ",u+=5;break}for(l="",i=this.pointer;in/2-1){l=" ... ",i-=5;break}return""+new Array(t).join(" ")+o+this.buffer.slice(u,i)+l+"\n"+new Array(t+this.pointer-u+o.length).join(" ")+"^"},t.prototype.toString=function(){var e,t;return e=this.get_snippet(),t=" on line "+(this.line+1)+", column "+(this.column+1),e?t:t+":\n"+e},t}(),this.YAMLError=function(e){function n(e){this.message=e,n.__super__.constructor.call(this),this.stack=this.toString()+"\n"+(new Error).stack.split("\n").slice(1).join("\n")}return t(n,e),n.prototype.toString=function(){return this.message},n}(Error),this.MarkedYAMLError=function(e){function n(e,t,r,i,o){this.context=e,this.context_mark=t,this.problem=r,this.problem_mark=i,this.note=o,n.__super__.constructor.call(this)}return t(n,e),n.prototype.toString=function(){var e;return e=[],null!=this.context&&e.push(this.context),null==this.context_mark||null!=this.problem&&null!=this.problem_mark&&this.context_mark.line===this.problem_mark.line&&this.context_mark.column===this.problem_mark.column||e.push(this.context_mark.toString()),null!=this.problem&&e.push(this.problem),null!=this.problem_mark&&e.push(this.problem_mark.toString()),null!=this.note&&e.push(this.note),e.join("\n")},n}(this.YAMLError)}).call(this)},function(e,t,n){e.exports={default:n(553),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(548),o=r(i),a=n(547),s=r(a),u="function"==typeof s.default&&"symbol"==typeof o.default?function(e){return typeof e}:function(e){return e&&"function"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":typeof e};t.default="function"==typeof s.default&&"symbol"===u(o.default)?function(e){return void 0===e?"undefined":u(e)}:function(e){return e&&"function"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":void 0===e?"undefined":u(e)}},function(e,t,n){e.exports=!n(55)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";(function(e){function r(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,t){if(r()=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|e}function m(e){return+e!=e&&(e=0),o.alloc(+e)}function v(e,t){if(o.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return J(e).length;default:if(r)return V(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,n);case"utf8":case"utf-8":return D(this,t,n);case"ascii":return O(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function _(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=o.from(t,r)),o.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){function o(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}var l;if(i){var c=-1;for(l=n;ls&&(n=s-u),l=n;l>=0;l--){for(var p=!0,f=0;fi&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a239?4:o>223?3:o>191?2:1;if(i+s<=n){var u,l,c,p;switch(s){case 1:o<128&&(a=o);break;case 2:u=e[i+1],128==(192&u)&&(p=(31&o)<<6|63&u)>127&&(a=p);break;case 3:u=e[i+1],l=e[i+2],128==(192&u)&&128==(192&l)&&(p=(15&o)<<12|(63&u)<<6|63&l)>2047&&(p<55296||p>57343)&&(a=p);break;case 4:u=e[i+1],l=e[i+2],c=e[i+3],128==(192&u)&&128==(192&l)&&128==(192&c)&&(p=(15&o)<<18|(63&u)<<12|(63&l)<<6|63&c)>65535&&p<1114112&&(a=p)}}null===a?(a=65533,s=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),i+=s}return M(r)}function M(e){var t=e.length;if(t<=Q)return String.fromCharCode.apply(String,e);for(var n="",r=0;rr)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function j(e,t,n,r,i,a){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function B(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,r,i){return i||B(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(e,t,n,r,23,4),n+4}function q(e,t,n,r,i){return i||B(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(e,t,n,r,52,8),n+8}function z(e){if(e=U(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function U(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function W(e){return e<16?"0"+e.toString(16):e.toString(16)}function V(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],a=0;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function K(e){for(var t=[],n=0;n>8,i=n%256,o.push(i),o.push(r);return o}function J(e){return Y.toByteArray(z(e))}function G(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function X(e){return e!==e}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +var Y=n(604),$=n(718),Z=n(373);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return a(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return u(null,e,t,n)},o.allocUnsafe=function(e){return l(null,e)},o.allocUnsafeSlow=function(e){return l(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},o.prototype.compare=function(e,t,n,r,i){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,s=n-t,u=Math.min(a,s),l=this.slice(r,i),c=e.slice(t,n),p=0;pi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return x(this,e,t,n);case"utf8":case"utf-8":return E(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)r+=this[e+--t]*i;return r},o.prototype.readUInt8=function(e,t){return t||F(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return t||F(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return t||F(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUInt32BE=function(e,t){return t||F(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||F(e,t,this.length);for(var r=this[e],i=1,o=0;++o=i&&(r-=Math.pow(2,8*t)),r},o.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||F(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},o.prototype.readInt8=function(e,t){return t||F(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){t||F(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt16BE=function(e,t){t||F(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},o.prototype.readInt32LE=function(e,t){return t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return t||F(e,4,this.length),$.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return t||F(e,4,this.length),$.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return t||F(e,8,this.length),$.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return t||F(e,8,this.length),$.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){j(this,e,t,n,Math.pow(2,8*n)-1,0)}var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},o.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,1,255,0),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},o.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},o.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},o.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},o.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);j(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},o.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);j(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},o.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,1,127,-128),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},o.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},o.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},o.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},o.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},o.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},o.prototype.writeDoubleLE=function(e,t,n){return q(this,e,t,!0,n)},o.prototype.writeDoubleBE=function(e,t,n){return q(this,e,t,!1,n)},o.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var a;if("number"==typeof e)for(a=t;a1?t-1:0),i=1;i2?n-2:0),o=2;o=n?e:e.length+1===n?""+t+e:""+new Array(n-e.length+1).join(t)+e},this.to_hex=function(e){return"string"==typeof e&&(e=e.charCodeAt(0)),e.toString(16)}}).call(this)}).call(t,n(18))},function(e,t){var n=Object;e.exports={create:n.create,getProto:n.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:n.getOwnPropertyDescriptor,setDesc:n.defineProperty,setDescs:n.defineProperties,getKeys:n.keys,getNames:n.getOwnPropertyNames,getSymbols:n.getOwnPropertySymbols,each:[].forEach}},function(e,t,n){"use strict";var r=n(680),i=Math.max;e.exports=function(e){return i(0,r(e))}},function(e,t,n){function r(e,t){var n=o(e,t);return i(n)?n:void 0}var i=n(803),o=n(843);e.exports=r},function(e,t,n){function r(e){return a(e)?i(e):o(e)}var i=n(380),o=n(805),a=n(115);e.exports=r},function(e,t,n){"use strict"},function(e,t,n){"use strict";var r=n(10),i=(n(7),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),o=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,e,t,n),i}return new r(e,t,n)},s=function(e,t,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,e,t,n,r),o}return new i(e,t,n,r)},u=function(e){var t=this;e instanceof t||r("25"),e.destructor(),t.instancePool.length`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*/?>",u="]",l=new RegExp("^(?:<[A-Za-z][A-Za-z0-9-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*/?>|]|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|[<][?].*?[?][>]|]*>|)","i"),c=/[\\&]/,p="[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]",f=new RegExp("\\\\"+p+"|"+a,"gi"),h=new RegExp('[&<>"]',"g"),d=new RegExp(a+'|[&<>"]',"gi"),m=function(e){return 92===e.charCodeAt(0)?e.charAt(1):o(e)},v=function(e){return c.test(e)?e.replace(f,m):e},g=function(e){try{return r(i(e))}catch(t){return e}},y=function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";default:return e}},_=function(e,t){return h.test(e)?t?e.replace(d,y):e.replace(h,y):e};e.exports={unescapeString:v,normalizeURI:g,escapeXml:_,reHtmlTag:l,OPENTAG:s,CLOSETAG:u,ENTITY:a,ESCAPABLE:p}},function(e,t,n){var r=n(62),i=n(351);e.exports=n(195)?function(e,t,n){return r.setDesc(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(358)();e.exports=function(e){return e!==r&&null!==e}},function(e,t,n){"use strict";function r(e){return void 0===e||null===e}function i(e){return"object"==typeof e&&null!==e}function o(e){return Array.isArray(e)?e:r(e)?[]:[e]}function a(e,t){var n,r,i,o;if(t)for(o=Object.keys(t),n=0,r=o.length;n`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*/?>",u="]",l=new RegExp("^(?:<[A-Za-z][A-Za-z0-9-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*/?>|]|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|[<][?].*?[?][>]|]*>|)","i"),c=/[\\&]/,p="[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]",f=new RegExp("\\\\"+p+"|"+a,"gi"),h=new RegExp('[&<>"]',"g"),d=new RegExp(a+'|[&<>"]',"gi"),m=function(e){return 92===e.charCodeAt(0)?e.charAt(1):o(e)},v=function(e){return c.test(e)?e.replace(f,m):e},g=function(e){try{return r(i(e))}catch(t){return e}},y=function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";default:return e}},_=function(e,t){return h.test(e)?t?e.replace(d,y):e.replace(h,y):e};e.exports={unescapeString:v,normalizeURI:g,escapeXml:_,reHtmlTag:l,OPENTAG:s,CLOSETAG:u,ENTITY:a,ESCAPABLE:p}},function(e,t,n){"use strict";var r=n(12),i=n(443),o=n(1036),a=n(1037),s=n(87),u=n(1038),l=n(1039),c=n(1040),p=n(1044),f=s.createElement,h=s.createFactory,d=s.cloneElement,m=r,v=function(e){return e},g={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:p},Component:i.Component,PureComponent:i.PureComponent,createElement:f,cloneElement:d,isValidElement:s.isValidElement,PropTypes:u,createClass:c,createFactory:h,createMixin:v,DOM:a,version:l,__spread:m};e.exports=g},function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function i(e){return void 0!==e.key}var o=n(12),a=n(49),s=(n(9),n(448),Object.prototype.hasOwnProperty),u=n(446),l={key:!0,ref:!0,__self:!0,__source:!0},c=function(e,t,n,r,i,o,a){var s={$$typeof:u,type:e,key:t,ref:n,props:a,_owner:o};return s};c.createElement=function(e,t,n){var o,u={},p=null,f=null;if(null!=t){r(t)&&(f=t.ref),i(t)&&(p=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source;for(o in t)s.call(t,o)&&!l.hasOwnProperty(o)&&(u[o]=t[o])}var h=arguments.length-2;if(1===h)u.children=n;else if(h>1){for(var d=Array(h),m=0;m1){for(var g=Array(v),y=0;y=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){n(587);for(var r=n(21),i=n(57),o=n(71),a=n(17)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u0&&void 0!==arguments[0]?arguments[0]:{};return{type:d,payload:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.CLEAR=t.NEW_AUTH_ERR=t.NEW_SPEC_ERR=t.NEW_THROWN_ERR_BATCH=t.NEW_THROWN_ERR=void 0,t.newThrownErr=r,t.newThrownErrBatch=i,t.newSpecErr=o,t.newAuthErr=a,t.clear=s;var u=n(252),l=function(e){return e&&e.__esModule?e:{default:e}}(u),c=t.NEW_THROWN_ERR="err_new_thrown_err",p=t.NEW_THROWN_ERR_BATCH="err_new_thrown_err_batch",f=t.NEW_SPEC_ERR="err_new_spec_err",h=t.NEW_AUTH_ERR="err_new_auth_err",d=t.CLEAR="err_clear"},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){var r=n(54),i=n(331),o=n(329),a=n(29),s=n(131),u=n(189),l={},c={},t=e.exports=function(e,t,n,p,f){var h,d,m,v,g=f?function(){return e}:u(e),y=r(n,p,t?2:1),_=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(o(g)){for(h=s(e.length);h>_;_++)if((v=t?y(a(d=e[_])[0],d[1]):y(e[_]))===l||v===c)return v}else for(m=g.call(e);!(d=m.next()).done;)if((v=i(m,y,d.value,t))===l||v===c)return v};t.BREAK=l,t.RETURN=c},function(e,t){e.exports=!0},function(e,t,n){var r=n(132)("meta"),i=n(27),o=n(56),a=n(36).f,s=0,u=Object.isExtensible||function(){return!0},l=!n(55)(function(){return u(Object.preventExtensions({}))}),c=function(e){a(e,r,{value:{i:"O"+ ++s,w:{}}})},p=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,r)){if(!u(e))return"F";if(!t)return"E";c(e)}return e[r].i},f=function(e,t){if(!o(e,r)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[r].w},h=function(e){return l&&d.NEED&&u(e)&&!o(e,r)&&c(e),e},d=e.exports={KEY:r,NEED:!1,fastKey:p,getWeak:f,onFreeze:h}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(185),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(30),i=n(75),o=n(353)("src"),a=Function.toString,s=(""+a).split("toString");n(100).inspectSource=function(e){return a.call(e)},(e.exports=function(e,t,n,a){"function"==typeof n&&(n.hasOwnProperty(o)||i(n,o,e[t]?""+e[t]:s.join(String(t))),n.hasOwnProperty("name")||i(n,"name",t)),e===r?e[t]=n:(a||delete e[t],i(e,t,n))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,t,n){"use strict";var r,i=n(359),o=n(362),a=n(684),s=n(689);r=e.exports=function(e,t){var n,r,a,u,l;return arguments.length<2||"string"!=typeof e?(u=t,t=e,e=null):u=arguments[2],null==e?(n=a=!0,r=!1):(n=s.call(e,"c"),r=s.call(e,"e"),a=s.call(e,"w")),l={value:t,configurable:n,enumerable:r,writable:a},u?i(o(u),l):l},r.gs=function(e,t,n){var r,u,l,c;return"string"!=typeof e?(l=n,n=t,t=e,e=null):l=arguments[3],null==t?t=void 0:a(t)?null==n?n=void 0:a(n)||(l=n,n=void 0):(l=t,t=n=void 0),null==e?(r=!0,u=!1):(r=s.call(e,"c"),u=s.call(e,"e")),c={get:t,set:n,configurable:r,enumerable:u},l?i(o(l),c):c}},function(e,t,n){"use strict";e.exports=n(681)("forEach")},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"number"==typeof e}function o(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,i,s,u,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(n=this._events[e],a(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(o(n))for(s=Array.prototype.slice.call(arguments,1),l=n.slice(),i=l.length,u=0;u0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,i,a,s;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],a=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(s=a;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){i=s;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function i(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a]/;e.exports=i},function(e,t,n){"use strict";var r,i=n(22),o=n(227),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(235),l=u(function(e,t){if(e.namespaceURI!==o.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(i.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=l},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,i,o=-1,a=e.posMax,s=e.pos,u=e.isInLabel;if(e.isInLabel)return-1;if(e.labelUnmatchedScopes)return e.labelUnmatchedScopes--,-1;for(e.pos=t+1,e.isInLabel=!0,n=1;e.pos1&&void 0!==arguments[1])||arguments[1];return e=(0,s.normalizeArray)(e),{type:p,payload:{thing:e,shown:t}}}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e=(0,s.normalizeArray)(e),{type:c,payload:{thing:e,mode:t}}}Object.defineProperty(t,"__esModule",{value:!0}),t.SHOW=t.UPDATE_MODE=t.UPDATE_FILTER=t.UPDATE_LAYOUT=void 0,t.updateLayout=r,t.updateFilter=i,t.show=o,t.changeMode=a;var s=n(11),u=t.UPDATE_LAYOUT="layout_update_layout",l=t.UPDATE_FILTER="layout_update_filter",c=t.UPDATE_MODE="layout_update_mode",p=t.SHOW="layout_show"},function(e,t,n){"use strict";function r(e){return{type:u,payload:e}}function i(e){var t=e.value,n=e.pathMethod;return{type:l,payload:{value:t,pathMethod:n}}}function o(e){var t=e.value,n=e.pathMethod;return{type:c,payload:{value:t,pathMethod:n}}}function a(e){var t=e.value,n=e.pathMethod;return{type:p,payload:{value:t,pathMethod:n}}}function s(e){var t=e.server,n=e.key,r=e.val;return{type:f,payload:{server:t,key:n,val:r}}}Object.defineProperty(t,"__esModule",{value:!0}),t.setSelectedServer=r,t.setRequestBodyValue=i,t.setRequestContentType=o,t.setResponseContentType=a,t.setServerVariableValue=s;var u=t.UPDATE_SELECTED_SERVER="oas3_set_servers",l=t.UPDATE_REQUEST_BODY_VALUE="oas3_set_request_body_value",c=t.UPDATE_REQUEST_CONTENT_TYPE="oas3_set_request_content_type",p=t.UPDATE_RESPONSE_CONTENT_TYPE="oas3_set_response_content_type",f=t.UPDATE_SERVER_VARIABLE_VALUE="oas3_set_server_variable_value"},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=h(e,t);if(n)return(0,s.default)(n,{declaration:!0,indent:"\t"})}Object.defineProperty(t,"__esModule",{value:!0}),t.memoizedSampleFromSchema=t.memoizedCreateXMLExample=t.sampleXmlFromSchema=t.inferSchema=t.sampleFromSchema=void 0,t.createXMLExample=i;var o=n(11),a=n(1248),s=r(a),u=n(916),l=r(u),c={string:function(){return"string"},string_email:function(){return"user@example.com"},"string_date-time":function(){return(new Date).toISOString()},number:function(){return 0},number_float:function(){return 0},integer:function(){return 0},boolean:function(e){return"boolean"!=typeof e.default||e.default}},p=function(e){e=(0,o.objectify)(e);var t=e,n=t.type,r=t.format,i=c[n+"_"+r]||c[n];return(0,o.isFunc)(i)?i(e):"Unknown Type: "+e.type},f=t.sampleFromSchema=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(t),i=r.type,a=r.example,s=r.properties,u=r.additionalProperties,l=r.items,c=n.includeReadOnly,f=n.includeWriteOnly;if(void 0!==a)return a;if(!i)if(s)i="object";else{if(!l)return;i="array"}if("object"===i){var h=(0,o.objectify)(s),d={};for(var m in h)h[m].readOnly&&!c||h[m].writeOnly&&!f||(d[m]=e(h[m],n));if(!0===u)d.additionalProp1={};else if(u)for(var v=(0,o.objectify)(u),g=e(v,n),y=1;y<4;y++)d["additionalProp"+y]=g;return d}return"array"===i?[e(l,n)]:t.enum?t.default?t.default:(0,o.normalizeArray)(t.enum)[0]:"file"!==i?p(t):void 0},h=(t.inferSchema=function(e){return e.schema&&(e=e.schema),e.properties&&(e.type="object"),e},t.sampleXmlFromSchema=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(0,o.objectify)(t),i=r.type,a=r.properties,s=r.additionalProperties,u=r.items,l=r.example,c=n.includeReadOnly,f=n.includeWriteOnly,h=r.default,d={},m={},v=t.xml,g=v.name,y=v.prefix,_=v.namespace,b=r.enum,x=void 0,E=void 0;if(!i)if(a||s)i="object";else{if(!u)return;i="array"}if(g=g||"notagname",x=(y?y+":":"")+g,_){m[y?"xmlns:"+y:"xmlns"]=_}if("array"===i&&u){if(u.xml=u.xml||v||{},u.xml.name=u.xml.name||v.name,v.wrapped)return d[x]=[],Array.isArray(l)?l.forEach(function(t){u.example=t,d[x].push(e(u,n))}):Array.isArray(h)?h.forEach(function(t){u.default=t,d[x].push(e(u,n))}):d[x]=[e(u,n)],m&&d[x].push({_attr:m}),d;var k=[];return Array.isArray(l)?(l.forEach(function(t){u.example=t,k.push(e(u,n))}),k):Array.isArray(h)?(h.forEach(function(t){u.default=t,k.push(e(u,n))}),k):e(u,n)}if("object"===i){var w=(0,o.objectify)(a);d[x]=[],l=l||{};for(var S in w)if((!w[S].readOnly||c)&&(!w[S].writeOnly||f))if(w[S].xml=w[S].xml||{},w[S].xml.attribute){var C=Array.isArray(w[S].enum)&&w[S].enum[0],A=w[S].example,D=w[S].default;m[w[S].xml.name||S]=void 0!==A&&A||void 0!==l[S]&&l[S]||void 0!==D&&D||C||p(w[S])}else{w[S].xml.name=w[S].xml.name||S,w[S].example=void 0!==w[S].example?w[S].example:l[S];var M=e(w[S]);Array.isArray(M)?d[x]=d[x].concat(M):d[x].push(M)}return!0===s?d[x].push({additionalProp:"Anything can be here"}):s&&d[x].push({additionalProp:p(s)}),m&&d[x].push({_attr:m}),d}return E=void 0!==l?l:void 0!==h?h:Array.isArray(b)?b[0]:p(t),d[x]=m?[{_attr:m},E]:E,d});t.memoizedCreateXMLExample=(0,l.default)(i),t.memoizedSampleFromSchema=(0,l.default)(f)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return e instanceof Error?{type:T,error:!0,payload:e}:"string"==typeof e?{type:T,payload:e.replace(/\t/g," ")||""}:{type:T,payload:""}}function o(e){return{type:V,payload:e}}function a(e){return{type:P,payload:e}}function s(e){if(!e||"object"!==(void 0===e?"undefined":(0,k.default)(e)))throw new Error("updateJson must only accept a simple JSON object");return{type:I,payload:e}}function u(e,t,n,r,i){return{type:F,payload:{path:e,value:r,paramName:t,paramIn:n,isXml:i}}}function l(e){return{type:j,payload:{pathMethod:e}}}function c(e){return{type:U,payload:{pathMethod:e}}}function p(e,t){return{type:W,payload:{path:e,value:t,key:"consumes_value"}}}function f(e,t){return{type:W,payload:{path:e,value:t,key:"produces_value"}}}function h(e,t){return{type:q,payload:{path:e,method:t}}}function d(e,t){return{type:z,payload:{path:e,method:t}}}function m(e,t,n){return{type:K,payload:{scheme:e,path:t,method:n}}}Object.defineProperty(t,"__esModule",{value:!0}),t.execute=t.executeRequest=t.logRequest=t.setMutatedRequest=t.setRequest=t.setResponse=t.formatIntoYaml=t.resolveSpec=t.parseToJson=t.SET_SCHEME=t.UPDATE_RESOLVED=t.UPDATE_OPERATION_VALUE=t.ClEAR_VALIDATE_PARAMS=t.CLEAR_REQUEST=t.CLEAR_RESPONSE=t.LOG_REQUEST=t.SET_MUTATED_REQUEST=t.SET_REQUEST=t.SET_RESPONSE=t.VALIDATE_PARAMS=t.UPDATE_PARAM=t.UPDATE_JSON=t.UPDATE_URL=t.UPDATE_SPEC=void 0;var v=n(19),g=r(v),y=n(126),_=r(y),b=n(35),x=r(b),E=n(43),k=r(E);t.updateSpec=i,t.updateResolved=o,t.updateUrl=a,t.updateJsonSpec=s,t.changeParam=u,t.validateParams=l,t.clearValidateParams=c,t.changeConsumesValue=p,t.changeProducesValue=f,t.clearResponse=h,t.clearRequest=d,t.setScheme=m;var w=n(374),S=r(w),C=n(1238),A=r(C),D=n(252),M=r(D),O=n(11),T=t.UPDATE_SPEC="spec_update_spec",P=t.UPDATE_URL="spec_update_url",I=t.UPDATE_JSON="spec_update_json",F=t.UPDATE_PARAM="spec_update_param",j=t.VALIDATE_PARAMS="spec_validate_param",N=t.SET_RESPONSE="spec_set_response",R=t.SET_REQUEST="spec_set_request",B=t.SET_MUTATED_REQUEST="spec_set_mutated_request",L=t.LOG_REQUEST="spec_log_request",q=t.CLEAR_RESPONSE="spec_clear_response",z=t.CLEAR_REQUEST="spec_clear_request",U=t.ClEAR_VALIDATE_PARAMS="spec_clear_validate_param",W=t.UPDATE_OPERATION_VALUE="spec_update_operation_value",V=t.UPDATE_RESOLVED="spec_update_resolved",K=t.SET_SCHEME="set_scheme",H=(t.parseToJson=function(e){return function(t){var n=t.specActions,r=t.specSelectors,i=t.errActions,o=r.specStr,a=null;try{e=e||o(),i.clear({source:"parser"}),a=S.default.safeLoad(e)}catch(e){return console.error(e),i.newSpecErr({source:"parser",level:"error",message:e.reason,line:e.mark&&e.mark.line?e.mark.line+1:void 0})}return n.updateJsonSpec(a)}},t.resolveSpec=function(e,t){return function(n){var r=n.specActions,i=n.specSelectors,o=n.errActions,a=n.fn,s=a.fetch,u=a.resolve,l=a.AST,c=n.getConfigs,p=c(),f=p.modelPropertyMacro,h=p.parameterMacro;void 0===e&&(e=i.specJson()),void 0===t&&(t=i.url());var d=l.getLineNumberForPath,m=i.specStr();return u({fetch:s,spec:e,baseDoc:t,modelPropertyMacro:f,parameterMacro:h}).then(function(e){var t=e.spec,n=e.errors;if(o.clear({type:"thrown"}),n.length>0){var i=n.map(function(e){return console.error(e),e.line=e.fullPath?d(m,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",Object.defineProperty(e,"message",{enumerable:!0,value:e.message}),e});o.newThrownErrBatch(i)}return r.updateResolved(t)})}},t.formatIntoYaml=function(){return function(e){var t=e.specActions,n=e.specSelectors,r=n.specStr,i=t.updateSpec;try{var o=S.default.safeDump(S.default.safeLoad(r()),{indent:2});i(o)}catch(e){i(e)}}},t.setResponse=function(e,t,n){return{payload:{path:e,method:t,res:n},type:N}},t.setRequest=function(e,t,n){return{payload:{path:e,method:t,req:n},type:R}},t.setMutatedRequest=function(e,t,n){return{payload:{path:e,method:t,req:n},type:B}},t.logRequest=function(e){return{payload:e,type:L}},t.executeRequest=function(e){return function(t){var n=t.fn,r=t.specActions,i=t.specSelectors,o=t.getConfigs,a=t.oas3Selectors,s=e.pathName,u=e.method,l=e.operation,c=o(),p=c.requestInterceptor,f=c.responseInterceptor,h=l.toJS();if(e.contextUrl=(0,A.default)(i.url()).toString(),h&&h.operationId?e.operationId=h.operationId:h&&s&&u&&(e.operationId=n.opId(h,s,u)),i.isOAS3()){e.server=a.selectedServer(),e.serverVariables=a.serverVariables(e.server).toJS(),e.requestContentType=a.requestContentType(s,u),e.responseContentType=a.responseContentType(s,u)||"*/*";var d=a.requestBodyValue(s,u);(0,O.isJSONObject)(d)?e.requestBody=JSON.parse(d):e.requestBody=d}var m=(0,x.default)({},e);m=n.buildRequest(m),r.setRequest(e.pathName,e.method,m);var v=function(t){var n=p.apply(this,[t]),i=(0,x.default)({},n);return r.setMutatedRequest(e.pathName,e.method,i),n};e.requestInterceptor=v,e.responseInterceptor=f;var g=Date.now();return n.execute(e).then(function(t){t.duration=Date.now()-g,r.setResponse(e.pathName,e.method,t)}).catch(function(t){return r.setResponse(e.pathName,e.method,{error:!0,err:(0,M.default)(t)})})}},function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.path,n=e.method,r=(0,_.default)(e,["path","method"]);return function(e){var i=e.fn.fetch,o=e.specSelectors,a=e.specActions,s=o.spec().toJS(),u=o.operationScheme(t,n),l=o.contentTypeValues([t,n]).toJS(),c=l.requestContentType,p=l.responseContentType,f=/xml/i.test(c),h=o.parameterValues([t,n],f).toJS();return a.executeRequest((0,g.default)({fetch:i,spec:s,pathName:t,method:n,parameters:h,requestContentType:c,scheme:u,responseContentType:p},r))}});t.execute=H},function(e,t,n){"use strict";var r=n(11),i=n(1259);i.keys().forEach(function(t){if("./index.js"!==t){var n=i(t);e.exports[(0,r.pascalCaseFilename)(t)]=n.default?n.default:n}})},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(54),i=n(177),o=n(73),a=n(131),s=n(567);e.exports=function(e,t){var n=1==e,u=2==e,l=3==e,c=4==e,p=6==e,f=5==e||p,h=t||s;return function(t,s,d){for(var m,v,g=o(t),y=i(g),_=r(s,d,3),b=a(y.length),x=0,E=n?h(t,b):u?h(t,0):void 0;b>x;x++)if((f||x in y)&&(m=y[x],v=_(m,x,g),e))if(n)E[x]=v;else if(v)switch(e){case 3:return!0;case 5:return m;case 6:return x;case 2:E.push(m)}else if(c)return!1;return p?-1:l||c?c:E}}},function(e,t,n){var r=n(93),i=n(17)("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),i))?n:o?r(t):"Object"==(s=r(t))&&"function"==typeof t.callee?"Arguments":s}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(27),i=n(21).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(93);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){"use strict";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=i(t),this.reject=i(n)}var i=n(92);e.exports.f=function(e){return new r(e)}},function(e,t,n){var r=n(29),i=n(576),o=n(176),a=n(183)("IE_PROTO"),s=function(){},u=function(){var e,t=n(175)("iframe"),r=o.length;for(t.style.display="none",n(327).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(" + + + + diff --git a/samples/wwwswaggerui/oauth2-redirect.html b/samples/wwwswaggerui/oauth2-redirect.html new file mode 100644 index 00000000..fb68399d --- /dev/null +++ b/samples/wwwswaggerui/oauth2-redirect.html @@ -0,0 +1,67 @@ + + + + + + diff --git a/samples/wwwswaggerui/swagger-ui-bundle.js b/samples/wwwswaggerui/swagger-ui-bundle.js new file mode 100644 index 00000000..77af35a8 --- /dev/null +++ b/samples/wwwswaggerui/swagger-ui-bundle.js @@ -0,0 +1,134 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(function(){try{return require("esprima")}catch(e){}}()):"function"==typeof define&&define.amd?define(["esprima"],t):"object"==typeof exports?exports.SwaggerUIBundle=t(function(){try{return require("esprima")}catch(e){}}()):e.SwaggerUIBundle=t(e.esprima)}(window,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist",n(n.s=480)}([function(e,t,n){"use strict";e.exports=n(100)},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return a(e)?e:J(e)}function r(e){return s(e)?e:Y(e)}function o(e){return u(e)?e:K(e)}function i(e){return a(e)&&!c(e)?e:G(e)}function a(e){return!(!e||!e[p])}function s(e){return!(!e||!e[f])}function u(e){return!(!e||!e[h])}function c(e){return s(e)||u(e)}function l(e){return!(!e||!e[d])}t(r,n),t(o,n),t(i,n),n.isIterable=a,n.isKeyed=s,n.isIndexed=u,n.isAssociative=c,n.isOrdered=l,n.Keyed=r,n.Indexed=o,n.Set=i;var p="@@__IMMUTABLE_ITERABLE__@@",f="@@__IMMUTABLE_KEYED__@@",h="@@__IMMUTABLE_INDEXED__@@",d="@@__IMMUTABLE_ORDERED__@@",m=5,v=1<>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?C(e)+t:t}function O(){return!0}function A(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function T(e,t){return P(e,t,0)}function j(e,t){return P(e,t,t)}function P(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var I=0,M=1,N=2,R="function"==typeof Symbol&&Symbol.iterator,D="@@iterator",L=R||D;function U(e){this.next=e}function q(e,t,n,r){var o=0===e?t:1===e?n:[t,n];return r?r.value=o:r={value:o,done:!1},r}function F(){return{value:void 0,done:!0}}function z(e){return!!H(e)}function B(e){return e&&"function"==typeof e.next}function V(e){var t=H(e);return t&&t.call(e)}function H(e){var t=e&&(R&&e[R]||e[D]);if("function"==typeof t)return t}function W(e){return e&&"number"==typeof e.length}function J(e){return null==e?ie():a(e)?e.toSeq():function(e){var t=ue(e)||"object"==typeof e&&new te(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}(e)}function Y(e){return null==e?ie().toKeyedSeq():a(e)?s(e)?e.toSeq():e.fromEntrySeq():ae(e)}function K(e){return null==e?ie():a(e)?s(e)?e.entrySeq():e.toIndexedSeq():se(e)}function G(e){return(null==e?ie():a(e)?s(e)?e.entrySeq():e:se(e)).toSetSeq()}U.prototype.toString=function(){return"[Iterator]"},U.KEYS=I,U.VALUES=M,U.ENTRIES=N,U.prototype.inspect=U.prototype.toSource=function(){return this.toString()},U.prototype[L]=function(){return this},t(J,n),J.of=function(){return J(arguments)},J.prototype.toSeq=function(){return this},J.prototype.toString=function(){return this.__toString("Seq {","}")},J.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},J.prototype.__iterate=function(e,t){return ce(this,e,t,!0)},J.prototype.__iterator=function(e,t){return le(this,e,t,!0)},t(Y,J),Y.prototype.toKeyedSeq=function(){return this},t(K,J),K.of=function(){return K(arguments)},K.prototype.toIndexedSeq=function(){return this},K.prototype.toString=function(){return this.__toString("Seq [","]")},K.prototype.__iterate=function(e,t){return ce(this,e,t,!1)},K.prototype.__iterator=function(e,t){return le(this,e,t,!1)},t(G,J),G.of=function(){return G(arguments)},G.prototype.toSetSeq=function(){return this},J.isSeq=oe,J.Keyed=Y,J.Set=G,J.Indexed=K;var $,Z,X,Q="@@__IMMUTABLE_SEQ__@@";function ee(e){this._array=e,this.size=e.length}function te(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function ne(e){this._iterable=e,this.size=e.length||e.size}function re(e){this._iterator=e,this._iteratorCache=[]}function oe(e){return!(!e||!e[Q])}function ie(){return $||($=new ee([]))}function ae(e){var t=Array.isArray(e)?new ee(e).fromEntrySeq():B(e)?new re(e).fromEntrySeq():z(e)?new ne(e).fromEntrySeq():"object"==typeof e?new te(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function se(e){var t=ue(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ue(e){return W(e)?new ee(e):B(e)?new re(e):z(e)?new ne(e):void 0}function ce(e,t,n,r){var o=e._cache;if(o){for(var i=o.length-1,a=0;a<=i;a++){var s=o[n?i-a:a];if(!1===t(s[1],r?s[0]:a,e))return a+1}return a}return e.__iterateUncached(t,n)}function le(e,t,n,r){var o=e._cache;if(o){var i=o.length-1,a=0;return new U(function(){var e=o[n?i-a:a];return a++>i?{value:void 0,done:!0}:q(t,r?e[0]:a-1,e[1])})}return e.__iteratorUncached(t,n)}function pe(e,t){return t?function e(t,n,r,o){return Array.isArray(n)?t.call(o,r,K(n).map(function(r,o){return e(t,r,o,n)})):he(n)?t.call(o,r,Y(n).map(function(r,o){return e(t,r,o,n)})):n}(t,e,"",{"":e}):fe(e)}function fe(e){return Array.isArray(e)?K(e).map(fe).toList():he(e)?Y(e).map(fe).toMap():e}function he(e){return e&&(e.constructor===Object||void 0===e.constructor)}function de(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function me(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||s(e)!==s(t)||u(e)!==u(t)||l(e)!==l(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!c(e);if(l(e)){var r=e.entries();return t.every(function(e,t){var o=r.next().value;return o&&de(o[1],e)&&(n||de(o[0],t))})&&r.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{o=!0;var i=e;e=t,t=i}var p=!0,f=t.__iterate(function(t,r){if(n?!e.has(t):o?!de(t,e.get(r,y)):!de(e.get(r,y),t))return p=!1,!1});return p&&e.size===f}function ve(e,t){if(!(this instanceof ve))return new ve(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(Z)return Z;Z=this}}function ge(e,t){if(!e)throw new Error(t)}function ye(e,t,n){if(!(this instanceof ye))return new ye(e,t,n);if(ge(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),tr?{value:void 0,done:!0}:q(e,o,n[t?r-o++:o++])})},t(te,Y),te.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},te.prototype.has=function(e){return this._object.hasOwnProperty(e)},te.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,o=r.length-1,i=0;i<=o;i++){var a=r[t?o-i:i];if(!1===e(n[a],a,this))return i+1}return i},te.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,o=r.length-1,i=0;return new U(function(){var a=r[t?o-i:i];return i++>o?{value:void 0,done:!0}:q(e,a,n[a])})},te.prototype[d]=!0,t(ne,K),ne.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=V(n),o=0;if(B(r))for(var i;!(i=r.next()).done&&!1!==e(i.value,o++,this););return o},ne.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=V(n);if(!B(r))return new U(F);var o=0;return new U(function(){var t=r.next();return t.done?t:q(e,o++,t.value)})},t(re,K),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,o=this._iteratorCache,i=0;i=r.length){var t=n.next();if(t.done)return t;r[o]=t.value}return q(e,o,r[o++])})},t(ve,K),ve.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},ve.prototype.get=function(e,t){return this.has(e)?this._value:t},ve.prototype.includes=function(e){return de(this._value,e)},ve.prototype.slice=function(e,t){var n=this.size;return A(e,t,n)?this:new ve(this._value,j(t,n)-T(e,n))},ve.prototype.reverse=function(){return this},ve.prototype.indexOf=function(e){return de(this._value,e)?0:-1},ve.prototype.lastIndexOf=function(e){return de(this._value,e)?this.size:-1},ve.prototype.__iterate=function(e,t){for(var n=0;n=0&&t=0&&nn?{value:void 0,done:!0}:q(e,i++,a)})},ye.prototype.equals=function(e){return e instanceof ye?this._start===e._start&&this._end===e._end&&this._step===e._step:me(this,e)},t(be,n),t(_e,be),t(we,be),t(xe,be),be.Keyed=_e,be.Indexed=we,be.Set=xe;var Ee="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function Se(e){return e>>>1&1073741824|3221225471&e}function Ce(e){if(!1===e||null==e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null==e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!=e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return Se(n)}if("string"===t)return e.length>Me?function(e){var t=De[e];return void 0===t&&(t=ke(e),Re===Ne&&(Re=0,De={}),Re++,De[e]=t),t}(e):ke(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return function(e){var t;if(je&&void 0!==(t=Oe.get(e)))return t;if(void 0!==(t=e[Ie]))return t;if(!Te){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ie]))return t;if(void 0!==(t=function(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}(e)))return t}if(t=++Pe,1073741824&Pe&&(Pe=0),je)Oe.set(e,t);else{if(void 0!==Ae&&!1===Ae(e))throw new Error("Non-extensible objects are not allowed as keys.");if(Te)Object.defineProperty(e,Ie,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ie]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ie]=t}}return t}(e);if("function"==typeof e.toString)return ke(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function ke(e){for(var t=0,n=0;n=t.length)throw new Error("Missing value for key: "+t[n]);e.set(t[n],t[n+1])}})},Ue.prototype.toString=function(){return this.__toString("Map {","}")},Ue.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},Ue.prototype.set=function(e,t){return Qe(this,e,t)},Ue.prototype.setIn=function(e,t){return this.updateIn(e,y,function(){return t})},Ue.prototype.remove=function(e){return Qe(this,e,y)},Ue.prototype.deleteIn=function(e){return this.updateIn(e,function(){return y})},Ue.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},Ue.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=function e(t,n,r,o){var i=t===y,a=n.next();if(a.done){var s=i?r:t,u=o(s);return u===s?t:u}ge(i||t&&t.set,"invalid keyPath");var c=a.value,l=i?y:t.get(c,y),p=e(l,n,r,o);return p===l?t:p===y?t.remove(c):(i?Xe():t).set(c,p)}(this,rn(e),t,n);return r===y?void 0:r},Ue.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Xe()},Ue.prototype.merge=function(){return rt(this,void 0,arguments)},Ue.prototype.mergeWith=function(t){var n=e.call(arguments,1);return rt(this,t,n)},Ue.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Xe(),function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]})},Ue.prototype.mergeDeep=function(){return rt(this,ot,arguments)},Ue.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return rt(this,it(t),n)},Ue.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,Xe(),function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]})},Ue.prototype.sort=function(e){return Tt(Jt(this,e))},Ue.prototype.sortBy=function(e,t){return Tt(Jt(this,t,e))},Ue.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},Ue.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new E)},Ue.prototype.asImmutable=function(){return this.__ensureOwner()},Ue.prototype.wasAltered=function(){return this.__altered},Ue.prototype.__iterator=function(e,t){return new Ke(this,e,t)},Ue.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},Ue.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Ze(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Ue.isMap=qe;var Fe,ze="@@__IMMUTABLE_MAP__@@",Be=Ue.prototype;function Ve(e,t){this.ownerID=e,this.entries=t}function He(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function We(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function Je(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function Ye(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function Ke(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&$e(e._root)}function Ge(e,t){return q(e,t[0],t[1])}function $e(e,t){return{node:e,index:0,__prev:t}}function Ze(e,t,n,r){var o=Object.create(Be);return o.size=e,o._root=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Xe(){return Fe||(Fe=Ze(0))}function Qe(e,t,n){var r,o;if(e._root){var i=w(b),a=w(_);if(r=et(e._root,e.__ownerID,0,void 0,t,n,i,a),!a.value)return e;o=e.size+(i.value?n===y?-1:1:0)}else{if(n===y)return e;o=1,r=new Ve(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?Ze(o,r):Xe()}function et(e,t,n,r,o,i,a,s){return e?e.update(t,n,r,o,i,a,s):i===y?e:(x(s),x(a),new Ye(t,r,[o,i]))}function tt(e){return e.constructor===Ye||e.constructor===Je}function nt(e,t,n,r,o){if(e.keyHash===r)return new Je(t,r,[e.entry,o]);var i,a=(0===n?e.keyHash:e.keyHash>>>n)&g,s=(0===n?r:r>>>n)&g,u=a===s?[nt(e,t,n+m,r,o)]:(i=new Ye(t,r,o),a>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function ut(e,t,n,r){var o=r?e:S(e);return o[t]=n,o}Be[ze]=!0,Be.delete=Be.remove,Be.removeIn=Be.deleteIn,Ve.prototype.get=function(e,t,n,r){for(var o=this.entries,i=0,a=o.length;i=ct)return function(e,t,n,r){e||(e=new E);for(var o=new Ye(e,Ce(n),[n,r]),i=0;i>>e)&g),i=this.bitmap;return 0==(i&o)?r:this.nodes[st(i&o-1)].get(e+m,t,n,r)},He.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=Ce(r));var s=(0===t?n:n>>>t)&g,u=1<=lt)return function(e,t,n,r,o){for(var i=0,a=new Array(v),s=0;0!==n;s++,n>>>=1)a[s]=1&n?t[i++]:void 0;return a[r]=o,new We(e,i+1,a)}(e,f,c,s,d);if(l&&!d&&2===f.length&&tt(f[1^p]))return f[1^p];if(l&&d&&1===f.length&&tt(d))return d;var b=e&&e===this.ownerID,_=l?d?c:c^u:c|u,w=l?d?ut(f,p,d,b):function(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var o=new Array(r),i=0,a=0;a>>e)&g,i=this.nodes[o];return i?i.get(e+m,t,n,r):r},We.prototype.update=function(e,t,n,r,o,i,a){void 0===n&&(n=Ce(r));var s=(0===t?n:n>>>t)&g,u=o===y,c=this.nodes,l=c[s];if(u&&!l)return this;var p=et(l,e,t+m,n,r,o,i,a);if(p===l)return this;var f=this.count;if(l){if(!p&&--f0&&r=0&&e=e.size||t<0)return e.withMutations(function(e){t<0?kt(e,t).set(0,n):kt(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,o=e._root,i=w(_);return t>=At(e._capacity)?r=Et(r,e.__ownerID,0,t,n,i):o=Et(o,e.__ownerID,e._level,t,n,i),i.value?e.__ownerID?(e._root=o,e._tail=r,e.__hash=void 0,e.__altered=!0,e):wt(e._origin,e._capacity,e._level,o,r):e}(this,e,t)},ft.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},ft.prototype.insert=function(e,t){return this.splice(e,0,t)},ft.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=m,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):xt()},ft.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations(function(n){kt(n,0,t+e.length);for(var r=0;r>>t&g;if(r>=this.array.length)return new vt([],e);var o,i=0===r;if(t>0){var a=this.array[r];if((o=a&&a.removeBefore(e,t-m,n))===a&&i)return this}if(i&&!o)return this;var s=St(this,e);if(!i)for(var u=0;u>>t&g;if(o>=this.array.length)return this;if(t>0){var i=this.array[o];if((r=i&&i.removeAfter(e,t-m,n))===i&&o===this.array.length-1)return this}var a=St(this,e);return a.array.splice(o+1),r&&(a.array[o]=r),a};var gt,yt,bt={};function _t(e,t){var n=e._origin,r=e._capacity,o=At(r),i=e._tail;return a(e._root,e._level,0);function a(e,s,u){return 0===s?function(e,a){var s=a===o?i&&i.array:e&&e.array,u=a>n?0:n-a,c=r-a;return c>v&&(c=v),function(){if(u===c)return bt;var e=t?--c:u++;return s&&s[e]}}(e,u):function(e,o,i){var s,u=e&&e.array,c=i>n?0:n-i>>o,l=1+(r-i>>o);return l>v&&(l=v),function(){for(;;){if(s){var e=s();if(e!==bt)return e;s=null}if(c===l)return bt;var n=t?--l:c++;s=a(u&&u[n],o-m,i+(n<>>n&g,u=e&&s0){var c=e&&e.array[s],l=Et(c,t,n-m,r,o,i);return l===c?e:((a=St(e,t)).array[s]=l,a)}return u&&e.array[s]===o?e:(x(i),a=St(e,t),void 0===o&&s===a.array.length-1?a.array.pop():a.array[s]=o,a)}function St(e,t){return t&&e&&t===e.ownerID?e:new vt(e?e.array.slice():[],t)}function Ct(e,t){if(t>=At(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>r&g],r-=m;return n}}function kt(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new E,o=e._origin,i=e._capacity,a=o+t,s=void 0===n?i:n<0?i+n:o+n;if(a===o&&s===i)return e;if(a>=s)return e.clear();for(var u=e._level,c=e._root,l=0;a+l<0;)c=new vt(c&&c.array.length?[void 0,c]:[],r),l+=1<<(u+=m);l&&(a+=l,o+=l,s+=l,i+=l);for(var p=At(i),f=At(s);f>=1<p?new vt([],r):h;if(h&&f>p&&am;y-=m){var b=p>>>y&g;v=v.array[b]=St(v.array[b],r)}v.array[p>>>m&g]=h}if(s=f)a-=f,s-=f,u=m,c=null,d=d&&d.removeBefore(r,0,a);else if(a>o||f>>u&g;if(_!==f>>>u&g)break;_&&(l+=(1<o&&(c=c.removeBefore(r,u,a-l)),c&&fi&&(i=c.size),a(u)||(c=c.map(function(e){return pe(e)})),r.push(c)}return i>e.size&&(e=e.setSize(i)),at(e,t,r)}function At(e){return e>>m<=v&&a.size>=2*i.size?(o=a.filter(function(e,t){return void 0!==e&&s!==t}),r=o.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=i.remove(t),o=s===a.size-1?a.pop():a.set(s,void 0))}else if(u){if(n===a.get(s)[1])return e;r=i,o=a.set(s,[t,n])}else r=i.set(t,a.size),o=a.set(a.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):Pt(r,o)}function Nt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Rt(e){this._iter=e,this.size=e.size}function Dt(e){this._iter=e,this.size=e.size}function Lt(e){this._iter=e,this.size=e.size}function Ut(e){var t=en(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=tn,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===N){var r=e.__iterator(t,n);return new U(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===M?I:M,n)},t}function qt(e,t,n){var r=en(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,o){var i=e.get(r,y);return i===y?o:t.call(n,i,r,e)},r.__iterateUncached=function(r,o){var i=this;return e.__iterate(function(e,o,a){return!1!==r(t.call(n,e,o,a),o,i)},o)},r.__iteratorUncached=function(r,o){var i=e.__iterator(N,o);return new U(function(){var o=i.next();if(o.done)return o;var a=o.value,s=a[0];return q(r,s,t.call(n,a[1],s,e),o)})},r}function Ft(e,t){var n=en(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Ut(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=tn,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function zt(e,t,n,r){var o=en(e);return r&&(o.has=function(r){var o=e.get(r,y);return o!==y&&!!t.call(n,o,r,e)},o.get=function(r,o){var i=e.get(r,y);return i!==y&&t.call(n,i,r,e)?i:o}),o.__iterateUncached=function(o,i){var a=this,s=0;return e.__iterate(function(e,i,u){if(t.call(n,e,i,u))return s++,o(e,r?i:s-1,a)},i),s},o.__iteratorUncached=function(o,i){var a=e.__iterator(N,i),s=0;return new U(function(){for(;;){var i=a.next();if(i.done)return i;var u=i.value,c=u[0],l=u[1];if(t.call(n,l,c,e))return q(o,r?c:s++,l,i)}})},o}function Bt(e,t,n,r){var o=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=o:n|=0),A(t,n,o))return e;var i=T(t,o),a=j(n,o);if(i!=i||a!=a)return Bt(e.toSeq().cacheResult(),t,n,r);var s,u=a-i;u==u&&(s=u<0?0:u);var c=en(e);return c.size=0===s?s:e.size&&s||void 0,!r&&oe(e)&&s>=0&&(c.get=function(t,n){return(t=k(this,t))>=0&&ts)return{value:void 0,done:!0};var e=o.next();return r||t===M?e:q(t,u-1,t===I?void 0:e.value[1],e)})},c}function Vt(e,t,n,r){var o=en(e);return o.__iterateUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterate(o,i);var s=!0,u=0;return e.__iterate(function(e,i,c){if(!s||!(s=t.call(n,e,i,c)))return u++,o(e,r?i:u-1,a)}),u},o.__iteratorUncached=function(o,i){var a=this;if(i)return this.cacheResult().__iterator(o,i);var s=e.__iterator(N,i),u=!0,c=0;return new U(function(){var e,i,l;do{if((e=s.next()).done)return r||o===M?e:q(o,c++,o===I?void 0:e.value[1],e);var p=e.value;i=p[0],l=p[1],u&&(u=t.call(n,l,i,a))}while(u);return o===N?e:q(o,i,l,e)})},o}function Ht(e,t){var n=s(e),o=[e].concat(t).map(function(e){return a(e)?n&&(e=r(e)):e=n?ae(e):se(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===o.length)return e;if(1===o.length){var i=o[0];if(i===e||n&&s(i)||u(e)&&u(i))return i}var c=new ee(o);return n?c=c.toKeyedSeq():u(e)||(c=c.toSetSeq()),(c=c.flatten(!0)).size=o.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),c}function Wt(e,t,n){var r=en(e);return r.__iterateUncached=function(r,o){var i=0,s=!1;return function e(u,c){var l=this;u.__iterate(function(o,u){return(!t||c0}function Gt(e,t,r){var o=en(e);return o.size=new ee(r).map(function(e){return e.size}).min(),o.__iterate=function(e,t){for(var n,r=this.__iterator(M,t),o=0;!(n=r.next()).done&&!1!==e(n.value,o++,this););return o},o.__iteratorUncached=function(e,o){var i=r.map(function(e){return e=n(e),V(o?e.reverse():e)}),a=0,s=!1;return new U(function(){var n;return s||(n=i.map(function(e){return e.next()}),s=n.some(function(e){return e.done})),s?{value:void 0,done:!0}:q(e,a++,t.apply(null,n.map(function(e){return e.value})))})},o}function $t(e,t){return oe(e)?t:e.constructor(t)}function Zt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function Xt(e){return Le(e.size),C(e)}function Qt(e){return s(e)?r:u(e)?o:i}function en(e){return Object.create((s(e)?Y:u(e)?K:G).prototype)}function tn(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):J.prototype.cacheResult.call(this)}function nn(e,t){return e>t?1:e=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):An(e,t)},En.prototype.pushAll=function(e){if(0===(e=o(e)).size)return this;Le(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):An(t,n)},En.prototype.pop=function(){return this.slice(1)},En.prototype.unshift=function(){return this.push.apply(this,arguments)},En.prototype.unshiftAll=function(e){return this.pushAll(e)},En.prototype.shift=function(){return this.pop.apply(this,arguments)},En.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Tn()},En.prototype.slice=function(e,t){if(A(e,t,this.size))return this;var n=T(e,this.size),r=j(t,this.size);if(r!==this.size)return we.prototype.slice.call(this,e,t);for(var o=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=o,this._head=i,this.__hash=void 0,this.__altered=!0,this):An(o,i)},En.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?An(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},En.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},En.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new U(function(){if(r){var t=r.value;return r=r.next,q(e,n++,t)}return{value:void 0,done:!0}})},En.isStack=Sn;var Cn,kn="@@__IMMUTABLE_STACK__@@",On=En.prototype;function An(e,t,n,r){var o=Object.create(On);return o.size=e,o._head=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Tn(){return Cn||(Cn=An(0))}function jn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}On[kn]=!0,On.withMutations=Be.withMutations,On.asMutable=Be.asMutable,On.asImmutable=Be.asImmutable,On.wasAltered=Be.wasAltered,n.Iterator=U,jn(n,{toArray:function(){Le(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new Rt(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new Nt(this,!0)},toMap:function(){return Ue(this.toKeyedSeq())},toObject:function(){Le(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Tt(this.toKeyedSeq())},toOrderedSet:function(){return gn(s(this)?this.valueSeq():this)},toSet:function(){return cn(s(this)?this.valueSeq():this)},toSetSeq:function(){return new Dt(this)},toSeq:function(){return u(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return En(s(this)?this.valueSeq():this)},toList:function(){return ft(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){var t=e.call(arguments,0);return $t(this,Ht(this,t))},includes:function(e){return this.some(function(t){return de(t,e)})},entries:function(){return this.__iterator(N)},every:function(e,t){Le(this.size);var n=!0;return this.__iterate(function(r,o,i){if(!e.call(t,r,o,i))return n=!1,!1}),n},filter:function(e,t){return $t(this,zt(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Le(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Le(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!=r?r.toString():""}),t},keys:function(){return this.__iterator(I)},map:function(e,t){return $t(this,qt(this,e,t))},reduce:function(e,t,n){var r,o;return Le(this.size),arguments.length<2?o=!0:r=t,this.__iterate(function(t,i,a){o?(o=!1,r=t):r=e.call(n,r,t,i,a)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return $t(this,Ft(this,!0))},slice:function(e,t){return $t(this,Bt(this,e,t,!0))},some:function(e,t){return!this.every(Rn(e),t)},sort:function(e){return $t(this,Jt(this,e))},values:function(){return this.__iterator(M)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return C(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return function(e,t,n){var r=Ue().asMutable();return e.__iterate(function(o,i){r.update(t.call(n,o,i,e),0,function(e){return e+1})}),r.asImmutable()}(this,e,t)},equals:function(e){return me(this,e)},entrySeq:function(){var e=this;if(e._cache)return new ee(e._cache);var t=e.toSeq().map(Nn).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Rn(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate(function(n,o,i){if(e.call(t,n,o,i))return r=[o,n],!1}),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(O)},flatMap:function(e,t){return $t(this,function(e,t,n){var r=Qt(e);return e.toSeq().map(function(o,i){return r(t.call(n,o,i,e))}).flatten(!0)}(this,e,t))},flatten:function(e){return $t(this,Wt(this,e,!0))},fromEntrySeq:function(){return new Lt(this)},get:function(e,t){return this.find(function(t,n){return de(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,o=rn(e);!(n=o.next()).done;){var i=n.value;if((r=r&&r.get?r.get(i,y):y)===y)return t}return r},groupBy:function(e,t){return function(e,t,n){var r=s(e),o=(l(e)?Tt():Ue()).asMutable();e.__iterate(function(i,a){o.update(t.call(n,i,a,e),function(e){return(e=e||[]).push(r?[a,i]:i),e})});var i=Qt(e);return o.map(function(t){return $t(e,i(t))})}(this,e,t)},has:function(e){return this.get(e,y)!==y},hasIn:function(e){return this.getIn(e,y)!==y},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keyOf:function(e){return this.findKey(function(t){return de(t,e)})},keySeq:function(){return this.toSeq().map(Mn).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return Yt(this,e)},maxBy:function(e,t){return Yt(this,t,e)},min:function(e){return Yt(this,e?Dn(e):qn)},minBy:function(e,t){return Yt(this,t?Dn(t):qn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return $t(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return $t(this,Vt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Rn(e),t)},sortBy:function(e,t){return $t(this,Jt(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return $t(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return $t(this,function(e,t,n){var r=en(e);return r.__iterateUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterate(r,o);var a=0;return e.__iterate(function(e,o,s){return t.call(n,e,o,s)&&++a&&r(e,o,i)}),a},r.__iteratorUncached=function(r,o){var i=this;if(o)return this.cacheResult().__iterator(r,o);var a=e.__iterator(N,o),s=!0;return new U(function(){if(!s)return{value:void 0,done:!0};var e=a.next();if(e.done)return e;var o=e.value,u=o[0],c=o[1];return t.call(n,c,u,i)?r===N?e:q(r,u,c,e):(s=!1,{value:void 0,done:!0})})},r}(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Rn(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=function(e){if(e.size===1/0)return 0;var t=l(e),n=s(e),r=t?1:0;return function(e,t){return t=Ee(t,3432918353),t=Ee(t<<15|t>>>-15,461845907),t=Ee(t<<13|t>>>-13,5),t=Ee((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=Se((t=Ee(t^t>>>13,3266489909))^t>>>16)}(e.__iterate(n?t?function(e,t){r=31*r+Fn(Ce(e),Ce(t))|0}:function(e,t){r=r+Fn(Ce(e),Ce(t))|0}:t?function(e){r=31*r+Ce(e)|0}:function(e){r=r+Ce(e)|0}),r)}(this))}});var Pn=n.prototype;Pn[p]=!0,Pn[L]=Pn.values,Pn.__toJS=Pn.toArray,Pn.__toStringMapper=Ln,Pn.inspect=Pn.toSource=function(){return this.toString()},Pn.chain=Pn.flatMap,Pn.contains=Pn.includes,jn(r,{flip:function(){return $t(this,Ut(this))},mapEntries:function(e,t){var n=this,r=0;return $t(this,this.toSeq().map(function(o,i){return e.call(t,[i,o],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return $t(this,this.toSeq().flip().map(function(r,o){return e.call(t,r,o,n)}).flip())}});var In=r.prototype;function Mn(e,t){return t}function Nn(e,t){return[t,e]}function Rn(e){return function(){return!e.apply(this,arguments)}}function Dn(e){return function(){return-e.apply(this,arguments)}}function Ln(e){return"string"==typeof e?JSON.stringify(e):String(e)}function Un(){return S(arguments)}function qn(e,t){return et?-1:0}function Fn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}return In[f]=!0,In[L]=Pn.entries,In.__toJS=Pn.toObject,In.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+Ln(e)},jn(o,{toKeyedSeq:function(){return new Nt(this,!1)},filter:function(e,t){return $t(this,zt(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return $t(this,Ft(this,!1))},slice:function(e,t){return $t(this,Bt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=T(e,e<0?this.count():this.size);var r=this.slice(0,e);return $t(this,1===n?r:r.concat(S(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return $t(this,Wt(this,e,!1))},get:function(e,t){return(e=k(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=k(this,e))>=0&&(void 0!==this.size?this.size===1/0||e5e3)return e.textContent;return function(e){for(var n,r,o,i,a,s=e.textContent,u=0,c=s[0],l=1,p=e.innerHTML="",f=0;r=n,n=f<7&&"\\"==n?1:l;){if(l=c,c=s[++u],i=p.length>1,!l||f>8&&"\n"==l||[/\S/.test(l),1,1,!/[$\w]/.test(l),("/"==n||"\n"==n)&&i,'"'==n&&i,"'"==n&&i,s[u-4]+r+n=="--\x3e",r+n=="*/"][f])for(p&&(e.appendChild(a=t.createElement("span")).setAttribute("style",["color: #555; font-weight: bold;","","","color: #555;",""][f?f<3?2:f>6?4:f>3?3:+/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(p):0]),a.appendChild(t.createTextNode(p))),o=f&&f<7?f:o,p="",f=11;![1,/[\/{}[(\-+*=<>:;|\\.,?!&@~]/.test(l),/[\])]/.test(l),/[$\w]/.test(l),"/"==l&&o<2&&"<"!=n,'"'==l,"'"==l,l+c+s[u+1]+s[u+2]=="\x3c!--",l+c=="/*",l+c=="//","#"==l][--f];);p+=l}}(e)}function K(e){var t;if([/filename\*=[^']+'\w*'"([^"]+)";?/i,/filename\*=[^']+'\w*'([^;]+);?/i,/filename="([^;]*);?"/i,/filename=([^;]*);?/i].some(function(n){return null!==(t=n.exec(e))}),null!==t&&t.length>1)try{return decodeURIComponent(t[1])}catch(e){console.error(e)}return null}function G(e){return t=e.replace(/\.[^.\/]*$/,""),b()(g()(t));var t}var $=function(e,t){if(e>t)return"Value must be less than Maximum"},Z=function(e,t){if(et)return"Value must be less than MaxLength"},ae=function(e,t){if(e.length2&&void 0!==arguments[2]?arguments[2]:{},r=n.isOAS3,o=void 0!==r&&r,i=n.bypassRequiredCheck,a=void 0!==i&&i,s=[],u=e.get("required"),c=o?e.get("schema"):e;if(!c)return s;var p=c.get("maximum"),h=c.get("minimum"),m=c.get("type"),v=c.get("format"),g=c.get("maxLength"),y=c.get("minLength"),b=c.get("pattern");if(m&&(u||t)){var _="string"===m&&t,w="array"===m&&l()(t)&&t.length,x="array"===m&&d.a.List.isList(t)&&t.count(),E="file"===m&&t instanceof A.a.File,S="boolean"===m&&(t||!1===t),C="number"===m&&(t||0===t),k="integer"===m&&(t||0===t),O=!1;if(o&&"object"===m)if("object"===f()(t))O=!0;else if("string"==typeof t)try{JSON.parse(t),O=!0}catch(e){return s.push("Parameter string value must be valid JSON"),s}var T=[_,w,x,E,S,C,k,O],j=T.some(function(e){return!!e});if(u&&!j&&!a)return s.push("Required field is not provided"),s;if(b){var P=se(t,b);P&&s.push(P)}if(g||0===g){var I=ie(t,g);I&&s.push(I)}if(y){var M=ae(t,y);M&&s.push(M)}if(p||0===p){var N=$(t,p);N&&s.push(N)}if(h||0===h){var R=Z(t,h);R&&s.push(R)}if("string"===m){var D;if(!(D="date-time"===v?re(t):"uuid"===v?oe(t):ne(t)))return s;s.push(D)}else if("boolean"===m){var L=te(t);if(!L)return s;s.push(L)}else if("number"===m){var U=X(t);if(!U)return s;s.push(U)}else if("integer"===m){var q=Q(t);if(!q)return s;s.push(q)}else if("array"===m){var F;if(!x||!t.count())return s;F=c.getIn(["items","type"]),t.forEach(function(e,t){var n;"number"===F?n=X(e):"integer"===F?n=Q(e):"string"===F&&(n=ne(e)),n&&s.push({index:t,error:n})})}else if("file"===m){var z=ee(t);if(!z)return s;s.push(z)}}return s},ce=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(/xml/.test(t)){if(!e.xml||!e.xml.name){if(e.xml=e.xml||{},!e.$$ref)return e.type||e.items||e.properties||e.additionalProperties?'\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e':null;var r=e.$$ref.match(/\S*\/(\S+)$/);e.xml.name=r[1]}return Object(k.memoizedCreateXMLExample)(e,n)}var i=Object(k.memoizedSampleFromSchema)(e,n);return"object"===f()(i)?o()(i,null,2):i},le=function(){var e={},t=A.a.location.search;if(!t)return{};if(""!=t){var n=t.substr(1).split("&");for(var r in n)n.hasOwnProperty(r)&&(r=n[r].split("="),e[decodeURIComponent(r[0])]=r[1]&&decodeURIComponent(r[1])||"")}return e},pe=function(t){return(t instanceof e?t:new e(t.toString(),"utf-8")).toString("base64")},fe={operationsSorter:{alpha:function(e,t){return e.get("path").localeCompare(t.get("path"))},method:function(e,t){return e.get("method").localeCompare(t.get("method"))}},tagsSorter:{alpha:function(e,t){return e.localeCompare(t)}}},he=function(e){var t=[];for(var n in e){var r=e[n];void 0!==r&&""!==r&&t.push([n,"=",encodeURIComponent(r).replace(/%20/g,"+")].join(""))}return t.join("&")},de=function(e,t,n){return!!E()(n,function(n){return C()(e[n],t[n])})};function me(e){return"string"!=typeof e||""===e?"":Object(m.sanitizeUrl)(e)}function ve(e){if(!d.a.OrderedMap.isOrderedMap(e))return null;if(!e.size)return null;var t=e.find(function(e,t){return t.startsWith("2")&&u()(e.get("content")||{}).length>0}),n=e.get("default")||d.a.OrderedMap(),r=(n.get("content")||d.a.OrderedMap()).keySeq().toJS().length?n:null;return t||r}var ge=function(e){return"string"==typeof e||e instanceof String?e.trim().replace(/\s/g,"%20"):""},ye=function(e){return j()(ge(e).replace(/%20/g,"_"))},be=function(e){return e.filter(function(e,t){return/^x-/.test(t)})},_e=function(e){return e.filter(function(e,t){return/^pattern|maxLength|minLength|maximum|minimum/.test(t)})};function we(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0};if("object"!==f()(e)||l()(e)||null===e||!t)return e;var r=a()({},e);return u()(r).forEach(function(e){e===t&&n(r[e],e)?delete r[e]:r[e]=we(r[e],t,n)}),r}function xe(e){if("string"==typeof e)return e;if(e&&e.toJS&&(e=e.toJS()),"object"===f()(e)&&null!==e)try{return o()(e,null,2)}catch(t){return String(e)}return null==e?"":e.toString()}function Ee(e){return"number"==typeof e?e.toString():e}function Se(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.returnAll,r=void 0!==n&&n,o=t.allowHashes,i=void 0===o||o;if(!d.a.Map.isMap(e))throw new Error("paramToIdentifier: received a non-Im.Map parameter as input");var a=e.get("name"),s=e.get("in"),u=[];return e&&e.hashCode&&s&&a&&i&&u.push("".concat(s,".").concat(a,".hash-").concat(e.hashCode())),s&&a&&u.push("".concat(s,".").concat(a)),u.push(a),r?u:u[0]||""}function Ce(e,t){return Se(e,{returnAll:!0}).map(function(e){return t[e]}).filter(function(e){return void 0!==e})[0]}}).call(this,n(61).Buffer)},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){var r=n(51);function o(e,t){for(var n=0;n1?t-1:0),o=1;o2?n-2:0),i=2;i>",i={listOf:function(e){return c(e,"List",r.List.isList)},mapOf:function(e,t){return l(e,t,"Map",r.Map.isMap)},orderedMapOf:function(e,t){return l(e,t,"OrderedMap",r.OrderedMap.isOrderedMap)},setOf:function(e){return c(e,"Set",r.Set.isSet)},orderedSetOf:function(e){return c(e,"OrderedSet",r.OrderedSet.isOrderedSet)},stackOf:function(e){return c(e,"Stack",r.Stack.isStack)},iterableOf:function(e){return c(e,"Iterable",r.Iterable.isIterable)},recordOf:function(e){return s(function(t,n,o,i,s){for(var u=arguments.length,c=Array(u>5?u-5:0),l=5;l6?u-6:0),l=6;l5?c-5:0),p=5;p5?i-5:0),s=5;s key("+l[p]+")"].concat(a));if(h instanceof Error)return h}})).apply(void 0,i);var u})}function p(e){var t=void 0===arguments[1]?"Iterable":arguments[1],n=void 0===arguments[2]?r.Iterable.isIterable:arguments[2];return s(function(r,o,i,s,u){for(var c=arguments.length,l=Array(c>5?c-5:0),p=5;p4)}function u(e){var t=e.get("swagger");return"string"==typeof t&&t.startsWith("2.0")}function c(e){return function(t,n){return function(r){return n&&n.specSelectors&&n.specSelectors.specJson?s(n.specSelectors.specJson())?a.a.createElement(e,o()({},r,n,{Ori:t})):a.a.createElement(t,r):(console.warn("OAS3 wrapper: couldn't get spec"),null)}}}},function(e,t,n){"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=a(e),c=1;c0){var o=n.map(function(e){return console.error(e),e.line=e.fullPath?g(y,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",A()(e,"message",{enumerable:!0,value:e.message}),e});i.newThrownErrBatch(o)}return r.updateResolved(t)})}},_e=[],we=V()(k()(S.a.mark(function e(){var t,n,r,o,i,a,s,u,c,l,p,f,h,d,m,v,g;return S.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=_e.system){e.next=4;break}return console.error("debResolveSubtrees: don't have a system to operate on, aborting."),e.abrupt("return");case 4:if(n=t.errActions,r=t.errSelectors,o=t.fn,i=o.resolveSubtree,a=o.AST,s=void 0===a?{}:a,u=t.specSelectors,c=t.specActions,i){e.next=8;break}return console.error("Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing."),e.abrupt("return");case 8:return l=s.getLineNumberForPath?s.getLineNumberForPath:function(){},p=u.specStr(),f=t.getConfigs(),h=f.modelPropertyMacro,d=f.parameterMacro,m=f.requestInterceptor,v=f.responseInterceptor,e.prev=11,e.next=14,_e.reduce(function(){var e=k()(S.a.mark(function e(t,o){var a,s,c,f,g,y,b;return S.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t;case 2:return a=e.sent,s=a.resultMap,c=a.specWithCurrentSubtrees,e.next=7,i(c,o,{baseDoc:u.url(),modelPropertyMacro:h,parameterMacro:d,requestInterceptor:m,responseInterceptor:v});case 7:return f=e.sent,g=f.errors,y=f.spec,r.allErrors().size&&n.clearBy(function(e){return"thrown"!==e.get("type")||"resolver"!==e.get("source")||!e.get("fullPath").every(function(e,t){return e===o[t]||void 0===o[t]})}),j()(g)&&g.length>0&&(b=g.map(function(e){return e.line=e.fullPath?l(p,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",A()(e,"message",{enumerable:!0,value:e.message}),e}),n.newThrownErrBatch(b)),W()(s,o,y),W()(c,o,y),e.abrupt("return",{resultMap:s,specWithCurrentSubtrees:c});case 15:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),x.a.resolve({resultMap:(u.specResolvedSubtree([])||Object(R.Map)()).toJS(),specWithCurrentSubtrees:u.specJson().toJS()}));case 14:g=e.sent,delete _e.system,_e=[],e.next=22;break;case 19:e.prev=19,e.t0=e.catch(11),console.error(e.t0);case 22:c.updateResolvedSubtree([],g.resultMap);case 23:case"end":return e.stop()}},e,null,[[11,19]])})),35),xe=function(e){return function(t){_e.map(function(e){return e.join("@@")}).indexOf(e.join("@@"))>-1||(_e.push(e),_e.system=t,we())}};function Ee(e,t,n,r,o){return{type:X,payload:{path:e,value:r,paramName:t,paramIn:n,isXml:o}}}function Se(e,t,n,r){return{type:X,payload:{path:e,param:t,value:n,isXml:r}}}var Ce=function(e,t){return{type:le,payload:{path:e,value:t}}},ke=function(){return{type:le,payload:{path:[],value:Object(R.Map)()}}},Oe=function(e,t){return{type:ee,payload:{pathMethod:e,isOAS3:t}}},Ae=function(e,t,n,r){return{type:Q,payload:{pathMethod:e,paramName:t,paramIn:n,includeEmptyValue:r}}};function Te(e){return{type:se,payload:{pathMethod:e}}}function je(e,t){return{type:ue,payload:{path:e,value:t,key:"consumes_value"}}}function Pe(e,t){return{type:ue,payload:{path:e,value:t,key:"produces_value"}}}var Ie=function(e,t,n){return{payload:{path:e,method:t,res:n},type:te}},Me=function(e,t,n){return{payload:{path:e,method:t,req:n},type:ne}},Ne=function(e,t,n){return{payload:{path:e,method:t,req:n},type:re}},Re=function(e){return{payload:e,type:oe}},De=function(e){return function(t){var n=t.fn,r=t.specActions,o=t.specSelectors,i=t.getConfigs,a=t.oas3Selectors,s=e.pathName,u=e.method,c=e.operation,l=i(),p=l.requestInterceptor,f=l.responseInterceptor,h=c.toJS();if(c&&c.get("parameters")&&c.get("parameters").filter(function(e){return e&&!0===e.get("allowEmptyValue")}).forEach(function(t){if(o.parameterInclusionSettingFor([s,u],t.get("name"),t.get("in"))){e.parameters=e.parameters||{};var n=Object(J.A)(t,e.parameters);(!n||n&&0===n.size)&&(e.parameters[t.get("name")]="")}}),e.contextUrl=L()(o.url()).toString(),h&&h.operationId?e.operationId=h.operationId:h&&s&&u&&(e.operationId=n.opId(h,s,u)),o.isOAS3()){var d="".concat(s,":").concat(u);e.server=a.selectedServer(d)||a.selectedServer();var m=a.serverVariables({server:e.server,namespace:d}).toJS(),g=a.serverVariables({server:e.server}).toJS();e.serverVariables=_()(m).length?m:g,e.requestContentType=a.requestContentType(s,u),e.responseContentType=a.responseContentType(s,u)||"*/*";var b=a.requestBodyValue(s,u);Object(J.r)(b)?e.requestBody=JSON.parse(b):b&&b.toJS?e.requestBody=b.toJS():e.requestBody=b}var w=y()({},e);w=n.buildRequest(w),r.setRequest(e.pathName,e.method,w);e.requestInterceptor=function(t){var n=p.apply(this,[t]),o=y()({},n);return r.setMutatedRequest(e.pathName,e.method,o),n},e.responseInterceptor=f;var x=v()();return n.execute(e).then(function(t){t.duration=v()()-x,r.setResponse(e.pathName,e.method,t)}).catch(function(t){return r.setResponse(e.pathName,e.method,{error:!0,err:q()(t)})})}},Le=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.path,n=e.method,r=d()(e,["path","method"]);return function(e){var o=e.fn.fetch,i=e.specSelectors,a=e.specActions,s=i.specJsonWithResolvedSubtrees().toJS(),u=i.operationScheme(t,n),c=i.contentTypeValues([t,n]).toJS(),l=c.requestContentType,p=c.responseContentType,f=/xml/i.test(l),h=i.parameterValues([t,n],f).toJS();return a.executeRequest(K({},r,{fetch:o,spec:s,pathName:t,method:n,parameters:h,requestContentType:l,scheme:u,responseContentType:p}))}};function Ue(e,t){return{type:ie,payload:{path:e,method:t}}}function qe(e,t){return{type:ae,payload:{path:e,method:t}}}function Fe(e,t,n){return{type:pe,payload:{scheme:e,path:t,method:n}}}},function(e,t,n){var r=n(32),o=n(22),i=n(60),a=n(71),s=n(69),u=function(e,t,n){var c,l,p,f=e&u.F,h=e&u.G,d=e&u.S,m=e&u.P,v=e&u.B,g=e&u.W,y=h?o:o[t]||(o[t]={}),b=y.prototype,_=h?r:d?r[t]:(r[t]||{}).prototype;for(c in h&&(n=t),n)(l=!f&&_&&void 0!==_[c])&&s(y,c)||(p=l?_[c]:n[c],y[c]=h&&"function"!=typeof _[c]?n[c]:v&&l?i(p,r):g&&_[c]==p?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(p):m&&"function"==typeof p?i(Function.call,p):p,m&&((y.virtual||(y.virtual={}))[c]=p,e&u.R&&b&&!b[c]&&a(b,c,p)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t,n){"use strict";var r=n(134),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],i=["scalar","sequence","mapping"];e.exports=function(e,t){var n,a;if(t=t||{},Object.keys(t).forEach(function(t){if(-1===o.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(n=t.styleAliases||null,a={},null!==n&&Object.keys(n).forEach(function(e){n[e].forEach(function(t){a[String(t)]=e})}),a),-1===i.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(327)("wks"),o=n(194),i=n(43).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){var r=n(205)("wks"),o=n(154),i=n(32).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=o},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;function o(e,t){return!!e&&r.call(e,t)}var i=/\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function a(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function s(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var u=/&([a-z#][a-z0-9]{1,31});/gi,c=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,l=n(456);function p(e,t){var n=0;return o(l,t)?l[t]:35===t.charCodeAt(0)&&c.test(t)&&a(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?s(n):e}var f=/[&<>"]/,h=/[&<>"]/g,d={"&":"&","<":"<",">":">",'"':"""};function m(e){return d[e]}t.assign=function(e){return[].slice.call(arguments,1).forEach(function(t){if(t){if("object"!=typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e},t.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=o,t.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(i,"$1")},t.isValidEntityCode=a,t.fromCodePoint=s,t.replaceEntities=function(e){return e.indexOf("&")<0?e:e.replace(u,p)},t.escapeHtml=function(e){return f.test(e)?e.replace(h,m):e}},function(e,t,n){var r=n(43),o=n(78),i=n(76),a=n(95),s=n(149),u=function(e,t,n){var c,l,p,f,h=e&u.F,d=e&u.G,m=e&u.S,v=e&u.P,g=e&u.B,y=d?r:m?r[t]||(r[t]={}):(r[t]||{}).prototype,b=d?o:o[t]||(o[t]={}),_=b.prototype||(b.prototype={});for(c in d&&(n=t),n)p=((l=!h&&y&&void 0!==y[c])?y:n)[c],f=g&&l?s(p,r):v&&"function"==typeof p?s(Function.call,p):p,y&&a(y,c,p,e&u.U),b[c]!=p&&i(b,c,f),v&&_[c]!=p&&(_[c]=p)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t,n){var r=n(38),o=n(122),i=n(68),a=/"/g,s=function(e,t,n,r){var o=String(i(e)),s="<"+t;return""!==n&&(s+=" "+n+'="'+String(r).replace(a,""")+'"'),s+">"+o+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*o(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";n.r(t),n.d(t,"NEW_THROWN_ERR",function(){return i}),n.d(t,"NEW_THROWN_ERR_BATCH",function(){return a}),n.d(t,"NEW_SPEC_ERR",function(){return s}),n.d(t,"NEW_SPEC_ERR_BATCH",function(){return u}),n.d(t,"NEW_AUTH_ERR",function(){return c}),n.d(t,"CLEAR",function(){return l}),n.d(t,"CLEAR_BY",function(){return p}),n.d(t,"newThrownErr",function(){return f}),n.d(t,"newThrownErrBatch",function(){return h}),n.d(t,"newSpecErr",function(){return d}),n.d(t,"newSpecErrBatch",function(){return m}),n.d(t,"newAuthErr",function(){return v}),n.d(t,"clear",function(){return g}),n.d(t,"clearBy",function(){return y});var r=n(115),o=n.n(r),i="err_new_thrown_err",a="err_new_thrown_err_batch",s="err_new_spec_err",u="err_new_spec_err_batch",c="err_new_auth_err",l="err_clear",p="err_clear_by";function f(e){return{type:i,payload:o()(e)}}function h(e){return{type:a,payload:e}}function d(e){return{type:s,payload:e}}function m(e){return{type:u,payload:e}}function v(e){return{type:c,payload:e}}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:l,payload:e}}function y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return{type:p,payload:e}}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(40);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(80)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){var r=n(52),o=n(755);e.exports=function(e,t){if(null==e)return{};var n,i,a=o(e,t);if(r){var s=r(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t,n){var r=n(44),o=n(343),i=n(209),a=Object.defineProperty;t.f=n(45)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(360),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";e.exports={debugTool:null}},function(e,t,n){e.exports=n(561)},function(e,t,n){e.exports=n(754)},function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=45)}([function(e,t){e.exports=n(17)},function(e,t){e.exports=n(14)},function(e,t){e.exports=n(26)},function(e,t){e.exports=n(16)},function(e,t){e.exports=n(118)},function(e,t){e.exports=n(57)},function(e,t){e.exports=n(58)},function(e,t){e.exports=n(52)},function(e,t){e.exports=n(2)},function(e,t){e.exports=n(51)},function(e,t){e.exports=n(92)},function(e,t){e.exports=n(915)},function(e,t){e.exports=n(12)},function(e,t){e.exports=n(188)},function(e,t){e.exports=n(921)},function(e,t){e.exports=n(28)},function(e,t){e.exports=n(91)},function(e,t){e.exports=n(189)},function(e,t){e.exports=n(924)},function(e,t){e.exports=n(928)},function(e,t){e.exports=n(929)},function(e,t){e.exports=n(90)},function(e,t){e.exports=n(13)},function(e,t){e.exports=n(142)},function(e,t){e.exports=n(4)},function(e,t){e.exports=n(5)},function(e,t){e.exports=n(931)},function(e,t){e.exports=n(413)},function(e,t){e.exports=n(934)},function(e,t){e.exports=n(49)},function(e,t){e.exports=n(61)},function(e,t){e.exports=n(274)},function(e,t){e.exports=n(263)},function(e,t){e.exports=n(935)},function(e,t){e.exports=n(141)},function(e,t){e.exports=n(936)},function(e,t){e.exports=n(944)},function(e,t){e.exports=n(945)},function(e,t){e.exports=n(946)},function(e,t){e.exports=n(46)},function(e,t){e.exports=n(255)},function(e,t){e.exports=n(35)},function(e,t){e.exports=n(949)},function(e,t){e.exports=n(950)},function(e,t){e.exports=n(951)},function(e,t,n){e.exports=n(50)},function(e,t){e.exports=n(952)},function(e,t){e.exports=n(953)},function(e,t){e.exports=n(954)},function(e,t){e.exports=n(955)},function(e,t,n){"use strict";n.r(t);var r=n(9),o=n.n(r),i=n(10),a=n.n(i),s=n(5),u=n.n(s),c=n(6),l=n.n(c),p=n(7),f=n.n(p),h=n(0),d=n.n(h),m=n(8),v=n.n(m),g=(n(46),n(14)),y=n.n(g),b=n(20),_=n.n(b),w=n(11),x=n.n(w),E=n(4),S=n.n(E),C=n(22),k=n.n(C),O=n(15),A=n.n(O),T=n(2),j=n.n(T),P=n(1),I=n.n(P),M=n(17),N=n.n(M),R=(n(47),n(26)),D=n.n(R),L=n(23),U=n.n(L),q=n(31),F=n.n(q),z={serializeRes:W,mergeInQueryOrForm:$};function B(e){return V.apply(this,arguments)}function V(){return(V=N()(S.a.mark(function e(t){var n,r,o,i,a,s=arguments;return S.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:{},"object"===j()(t)&&(t=(n=t).url),n.headers=n.headers||{},z.mergeInQueryOrForm(n),!n.requestInterceptor){e.next=11;break}return e.next=7,n.requestInterceptor(n);case 7:if(e.t0=e.sent,e.t0){e.next=10;break}e.t0=n;case 10:n=e.t0;case 11:return r=n.headers["content-type"]||n.headers["Content-Type"],/multipart\/form-data/i.test(r)&&(delete n.headers["content-type"],delete n.headers["Content-Type"]),e.prev=13,e.next=16,(n.userFetch||fetch)(n.url,n);case 16:return o=e.sent,e.next=19,z.serializeRes(o,t,n);case 19:if(o=e.sent,!n.responseInterceptor){e.next=27;break}return e.next=23,n.responseInterceptor(o);case 23:if(e.t1=e.sent,e.t1){e.next=26;break}e.t1=o;case 26:o=e.t1;case 27:e.next=37;break;case 29:if(e.prev=29,e.t2=e.catch(13),o){e.next=33;break}throw e.t2;case 33:throw(i=new Error(o.statusText)).statusCode=i.status=o.status,i.responseError=e.t2,i;case 37:if(o.ok){e.next=42;break}throw(a=new Error(o.statusText)).statusCode=a.status=o.status,a.response=o,a;case 42:return e.abrupt("return",o);case 43:case"end":return e.stop()}},e,null,[[13,29]])}))).apply(this,arguments)}var H=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return/(json|xml|yaml|text)\b/.test(e)};function W(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).loadSpec,r=void 0!==n&&n,o={ok:e.ok,url:e.url||t,status:e.status,statusText:e.statusText,headers:J(e.headers)},i=o.headers["content-type"],a=r||H(i);return(a?e.text:e.blob||e.buffer).call(e).then(function(e){if(o.text=e,o.data=e,a)try{var t=function(e,t){return t&&(0===t.indexOf("application/json")||t.indexOf("+json")>0)?JSON.parse(e):U.a.safeLoad(e)}(e,i);o.body=t,o.obj=t}catch(e){o.parseError=e}return o})}function J(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};return"function"==typeof e.forEach?(e.forEach(function(e,n){void 0!==t[n]?(t[n]=I()(t[n])?t[n]:[t[n]],t[n].push(e)):t[n]=e}),t):t}function Y(e,t){return t||"undefined"==typeof navigator||(t=navigator),t&&"ReactNative"===t.product?!(!e||"object"!==j()(e)||"string"!=typeof e.uri):"undefined"!=typeof File?e instanceof File:null!==e&&"object"===j()(e)&&"function"==typeof e.pipe}function K(e,t){var n=e.collectionFormat,r=e.allowEmptyValue,o="object"===j()(e)?e.value:e;if(void 0===o&&r)return"";if(Y(o)||"boolean"==typeof o)return o;var i=encodeURIComponent;return t&&(i=F()(o)?function(e){return e}:function(e){return A()(e)}),"object"!==j()(o)||I()(o)?I()(o)?I()(o)&&!n?o.map(i).join(","):"multi"===n?o.map(i):o.map(i).join({csv:",",ssv:"%20",tsv:"%09",pipes:"|"}[n]):i(o):""}function G(e){var t=d()(e).reduce(function(t,n){var r,o=e[n],i=!!o.skipEncoding,a=i?n:encodeURIComponent(n),s=(r=o)&&"object"===j()(r)&&!I()(o);return t[a]=K(s?o:{value:o},i),t},{});return D.a.stringify(t,{encode:!1,indices:!1})||""}function $(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.url,r=void 0===t?"":t,o=e.query,i=e.form;if(i){var a=d()(i).some(function(e){return Y(i[e].value)}),s=e.headers["content-type"]||e.headers["Content-Type"];if(a||/multipart\/form-data/i.test(s)){var u=n(48);e.body=new u,d()(i).forEach(function(t){e.body.append(t,K(i[t],!0))})}else e.body=G(i);delete e.form}if(o){var c=r.split("?"),l=k()(c,2),p=l[0],f=l[1],h="";if(f){var m=D.a.parse(f);d()(o).forEach(function(e){return delete m[e]}),h=D.a.stringify(m,{encode:!0})}var v=function(){for(var e=arguments.length,t=new Array(e),n=0;n0){var o=t(e,n[n.length-1],n);o&&(r=r.concat(o))}if(I()(e)){var i=e.map(function(e,r){return Se(e,t,n.concat(r))});i&&(r=r.concat(i))}else if(Ae(e)){var a=d()(e).map(function(r){return Se(e[r],t,n.concat(r))});a&&(r=r.concat(a))}return r=ke(r)}function Ce(e){return I()(e)?e:[e]}function ke(e){var t;return(t=[]).concat.apply(t,fe()(e.map(function(e){return I()(e)?ke(e):e})))}function Oe(e){return e.filter(function(e){return void 0!==e})}function Ae(e){return e&&"object"===j()(e)}function Te(e){return e&&"function"==typeof e}function je(e){if(Me(e)){var t=e.op;return"add"===t||"remove"===t||"replace"===t}return!1}function Pe(e){return je(e)||Me(e)&&"mutation"===e.type}function Ie(e){return Pe(e)&&("add"===e.op||"replace"===e.op||"merge"===e.op||"mergeDeep"===e.op)}function Me(e){return e&&"object"===j()(e)}function Ne(e,t){try{return de.a.getValueByPointer(e,t)}catch(e){return console.error(e),{}}}var Re=n(35),De=n.n(Re),Le=n(36),Ue=n(28),qe=n.n(Ue);function Fe(e,t){function n(){Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack;for(var e=arguments.length,n=new Array(e),r=0;r-1&&-1===He.indexOf(n)||We.indexOf(r)>-1||Je.some(function(e){return r.indexOf(e)>-1})}function Ke(e,t){var n=e.split("#"),r=k()(n,2),o=r[0],i=r[1],a=x.a.resolve(o||"",t||"");return i?"".concat(a,"#").concat(i):a}var Ge=new RegExp("^([a-z]+://|//)","i"),$e=Fe("JSONRefError",function(e,t,n){this.originalError=n,oe()(this,t||{})}),Ze={},Xe=new De.a,Qe={key:"$ref",plugin:function(e,t,n,r){var o=r.getInstance(),i=n.slice(0,-1);if(!Ye(i)){var a=r.getContext(n).baseDoc;if("string"!=typeof e)return new $e("$ref: must be a string (JSON-Ref)",{$ref:e,baseDoc:a,fullPath:n});var s,u,c,l=ot(e),p=l[0],f=l[1]||"";try{s=a||p?nt(p,a):null}catch(t){return rt(t,{pointer:f,$ref:e,basePath:s,fullPath:n})}if(function(e,t,n,r){var o=Xe.get(r);o||(o={},Xe.set(r,o));var i=function(e){if(0===e.length)return"";return"/".concat(e.map(lt).join("/"))}(n),a="".concat(t||"","#").concat(e),s=i.replace(/allOf\/\d+\/?/g,""),u=r.contextTree.get([]).baseDoc;if(t==u&&ft(s,e))return!0;var c="";if(n.some(function(e){return c="".concat(c,"/").concat(lt(e)),o[c]&&o[c].some(function(e){return ft(e,a)||ft(a,e)})}))return!0;o[s]=(o[s]||[]).concat(a)}(f,s,i,r)&&!o.useCircularStructures){var h=Ke(e,s);return e===h?null:be.replace(n,h)}if(null==s?(c=ut(f),void 0===(u=r.get(c))&&(u=new $e("Could not resolve reference: ".concat(e),{pointer:f,$ref:e,baseDoc:a,fullPath:n}))):u=null!=(u=it(s,f)).__value?u.__value:u.catch(function(t){throw rt(t,{pointer:f,$ref:e,baseDoc:a,fullPath:n})}),u instanceof Error)return[be.remove(n),u];var m=Ke(e,s),v=be.replace(i,u,{$$ref:m});if(s&&s!==a)return[v,be.context(i,{baseDoc:s})];try{if(!function(e,t){var n=[e];return t.path.reduce(function(e,t){return n.push(e[t]),e[t]},e),function e(t){return be.isObject(t)&&(n.indexOf(t)>=0||d()(t).some(function(n){return e(t[n])}))}(t.value)}(r.state,v)||o.useCircularStructures)return v}catch(e){return null}}}},et=oe()(Qe,{docCache:Ze,absoluteify:nt,clearCache:function(e){void 0!==e?delete Ze[e]:d()(Ze).forEach(function(e){delete Ze[e]})},JSONRefError:$e,wrapError:rt,getDoc:at,split:ot,extractFromDoc:it,fetchJSON:function(e){return Object(Le.fetch)(e,{headers:{Accept:"application/json, application/yaml"},loadSpec:!0}).then(function(e){return e.text()}).then(function(e){return U.a.safeLoad(e)})},extract:st,jsonPointerToArray:ut,unescapeJsonPointerToken:ct}),tt=et;function nt(e,t){if(!Ge.test(e)){if(!t)throw new $e("Tried to resolve a relative URL, without having a basePath. path: '".concat(e,"' basePath: '").concat(t,"'"));return x.a.resolve(t,e)}return e}function rt(e,t){var n;return n=e&&e.response&&e.response.body?"".concat(e.response.body.code," ").concat(e.response.body.message):e.message,new $e("Could not resolve reference: ".concat(n),t,e)}function ot(e){return(e+"").split("#")}function it(e,t){var n=Ze[e];if(n&&!be.isPromise(n))try{var r=st(t,n);return oe()(X.a.resolve(r),{__value:r})}catch(e){return X.a.reject(e)}return at(e).then(function(e){return st(t,e)})}function at(e){var t=Ze[e];return t?be.isPromise(t)?t:X.a.resolve(t):(Ze[e]=et.fetchJSON(e).then(function(t){return Ze[e]=t,t}),Ze[e])}function st(e,t){var n=ut(e);if(n.length<1)return t;var r=be.getIn(t,n);if(void 0===r)throw new $e("Could not resolve pointer: ".concat(e," does not exist in document"),{pointer:e});return r}function ut(e){if("string"!=typeof e)throw new TypeError("Expected a string, got a ".concat(j()(e)));return"/"===e[0]&&(e=e.substr(1)),""===e?[]:e.split("/").map(ct)}function ct(e){return"string"!=typeof e?e:qe.a.unescape(e.replace(/~1/g,"/").replace(/~0/g,"~"))}function lt(e){return qe.a.escape(e.replace(/~/g,"~0").replace(/\//g,"~1"))}var pt=function(e){return!e||"/"===e||"#"===e};function ft(e,t){if(pt(t))return!0;var n=e.charAt(t.length),r=t.slice(-1);return 0===e.indexOf(t)&&(!n||"/"===n||"#"===n)&&"#"!==r}var ht={key:"allOf",plugin:function(e,t,n,r,o){if(!o.meta||!o.meta.$$ref){var i=n.slice(0,-1);if(!Ye(i)){if(!I()(e)){var a=new TypeError("allOf must be an array");return a.fullPath=n,a}var s=!1,u=o.value;i.forEach(function(e){u&&(u=u[e])}),delete(u=oe()({},u)).allOf;var c=[];return c.push(r.replace(i,{})),e.forEach(function(e,t){if(!r.isObject(e)){if(s)return null;s=!0;var o=new TypeError("Elements in allOf must be objects");return o.fullPath=n,c.push(o)}c.push(r.mergeDeep(i,e));var a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.specmap,o=n.getBaseUrlForNodePath,i=void 0===o?function(e){return r.getContext([].concat(fe()(t),fe()(e))).baseDoc}:o,a=n.targetKeys,s=void 0===a?["$ref","$$ref"]:a,u=[];return Be()(e).forEach(function(){if(s.indexOf(this.key)>-1){var e=this.path,n=t.concat(this.path),o=Ke(this.node,i(e));u.push(r.replace(n,o))}}),u}(e,n.slice(0,-1),{getBaseUrlForNodePath:function(e){return r.getContext([].concat(fe()(n),[t],fe()(e))).baseDoc},specmap:r});c.push.apply(c,fe()(a))}),c.push(r.mergeDeep(i,u)),u.$$ref||c.push(r.remove([].concat(i,"$$ref"))),c}}}},dt={key:"parameters",plugin:function(e,t,n,r,o){if(I()(e)&&e.length){var i=oe()([],e),a=n.slice(0,-1),s=oe()({},be.getIn(r.spec,a));return e.forEach(function(e,t){try{i[t].default=r.parameterMacro(s,e)}catch(e){var o=new Error(e);return o.fullPath=n,o}}),be.replace(n,i)}return be.replace(n,e)}},mt={key:"properties",plugin:function(e,t,n,r){var o=oe()({},e);for(var i in e)try{o[i].default=r.modelPropertyMacro(o[i])}catch(e){var a=new Error(e);return a.fullPath=n,a}return be.replace(n,o)}};function vt(e,t){var n=d()(e);if(f.a){var r=f()(e);t&&(r=r.filter(function(t){return l()(e,t).enumerable})),n.push.apply(n,r)}return n}var gt=function(){function e(t){ae()(this,e),this.root=yt(t||{})}return ue()(e,[{key:"set",value:function(e,t){var n=this.getParent(e,!0);if(n){var r=e[e.length-1],o=n.children;o[r]?bt(o[r],t,n):o[r]=yt(t,n)}else bt(this.root,t,null)}},{key:"get",value:function(e){if((e=e||[]).length<1)return this.root.value;for(var t,n,r=this.root,o=0;o1?n-1:0),o=1;o1?n-1:0),o=1;o0})}},{key:"nextPromisedPatch",value:function(){if(this.promisedPatches.length>0)return X.a.race(this.promisedPatches.map(function(e){return e.value}))}},{key:"getPluginHistory",value:function(e){var t=this.getPluginName(e);return this.pluginHistory[t]||[]}},{key:"getPluginRunCount",value:function(e){return this.getPluginHistory(e).length}},{key:"getPluginHistoryTip",value:function(e){var t=this.getPluginHistory(e);return t&&t[t.length-1]||{}}},{key:"getPluginMutationIndex",value:function(e){var t=this.getPluginHistoryTip(e).mutationIndex;return"number"!=typeof t?-1:t}},{key:"getPluginName",value:function(e){return e.pluginName}},{key:"updatePluginHistory",value:function(e,t){var n=this.getPluginName(e);(this.pluginHistory[n]=this.pluginHistory[n]||[]).push(t)}},{key:"updatePatches",value:function(e,t){var n=this;be.normalizeArray(e).forEach(function(e){if(e instanceof Error)n.errors.push(e);else try{if(!be.isObject(e))return void n.debug("updatePatches","Got a non-object patch",e);if(n.showDebug&&n.allPatches.push(e),be.isPromise(e.value))return n.promisedPatches.push(e),void n.promisedPatchThen(e);if(be.isContextPatch(e))return void n.setContext(e.path,e.value);if(be.isMutation(e))return void n.updateMutations(e)}catch(e){console.error(e),n.errors.push(e)}})}},{key:"updateMutations",value:function(e){"object"===j()(e.value)&&!I()(e.value)&&this.allowMetaPatches&&(e.value=oe()({},e.value));var t=be.applyPatch(this.state,e,{allowMetaPatches:this.allowMetaPatches});t&&(this.mutations.push(e),this.state=t)}},{key:"removePromisedPatch",value:function(e){var t=this.promisedPatches.indexOf(e);t<0?this.debug("Tried to remove a promisedPatch that isn't there!"):this.promisedPatches.splice(t,1)}},{key:"promisedPatchThen",value:function(e){var t=this;return e.value=e.value.then(function(n){var r=oe()({},e,{value:n});t.removePromisedPatch(e),t.updatePatches(r)}).catch(function(n){t.removePromisedPatch(e),t.updatePatches(n)})}},{key:"getMutations",value:function(e,t){return e=e||0,"number"!=typeof t&&(t=this.mutations.length),this.mutations.slice(e,t)}},{key:"getCurrentMutations",value:function(){return this.getMutationsForPlugin(this.getCurrentPlugin())}},{key:"getMutationsForPlugin",value:function(e){var t=this.getPluginMutationIndex(e);return this.getMutations(t+1)}},{key:"getCurrentPlugin",value:function(){return this.currentPlugin}},{key:"getPatchesOfType",value:function(e,t){return e.filter(t)}},{key:"getLib",value:function(){return this.libMethods}},{key:"_get",value:function(e){return be.getIn(this.state,e)}},{key:"_getContext",value:function(e){return this.contextTree.get(e)}},{key:"setContext",value:function(e,t){return this.contextTree.set(e,t)}},{key:"_hasRun",value:function(e){return this.getPluginRunCount(this.getCurrentPlugin())>(e||0)}},{key:"_clone",value:function(e){return JSON.parse(A()(e))}},{key:"dispatch",value:function(){var e=this,t=this,n=this.nextPlugin();if(!n){var r=this.nextPromisedPatch();if(r)return r.then(function(){return e.dispatch()}).catch(function(){return e.dispatch()});var o={spec:this.state,errors:this.errors};return this.showDebug&&(o.patches=this.allPatches),X.a.resolve(o)}if(t.pluginCount=t.pluginCount||{},t.pluginCount[n]=(t.pluginCount[n]||0)+1,t.pluginCount[n]>100)return X.a.resolve({spec:t.state,errors:t.errors.concat(new Error("We've reached a hard limit of ".concat(100," plugin runs")))});if(n!==this.currentPlugin&&this.promisedPatches.length){var i=this.promisedPatches.map(function(e){return e.value});return X.a.all(i.map(function(e){return e.then(Function,Function)})).then(function(){return e.dispatch()})}return function(){t.currentPlugin=n;var e=t.getCurrentMutations(),r=t.mutations.length-1;try{if(n.isGenerator){var o=!0,i=!1,s=void 0;try{for(var u,c=ee()(n(e,t.getLib()));!(o=(u=c.next()).done);o=!0){var l=u.value;a(l)}}catch(e){i=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(i)throw s}}}else{var p=n(e,t.getLib());a(p)}}catch(e){console.error(e),a([oe()(ne()(e),{plugin:n})])}finally{t.updatePluginHistory(n,{mutationIndex:r})}return t.dispatch()}();function a(e){e&&(e=be.fullyNormalizeArray(e),t.updatePatches(e,n))}}}]),e}();var wt={refs:tt,allOf:ht,parameters:dt,properties:mt},xt=n(29),Et=n.n(xt),St=function(e){return String.prototype.toLowerCase.call(e)},Ct=function(e){return e.replace(/[^\w]/gi,"_")};function kt(e){var t=e.openapi;return!!t&&_()(t,"3")}function Ot(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).v2OperationIdCompatibilityMode;return e&&"object"===j()(e)?(e.operationId||"").replace(/\s/g,"").length?Ct(e.operationId):function(e,t){if((arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).v2OperationIdCompatibilityMode){var n="".concat(t.toLowerCase(),"_").concat(e).replace(/[\s!@#$%^&*()_+=[{\]};:<>|.\/?,\\'""-]/g,"_");return(n=n||"".concat(e.substring(1),"_").concat(t)).replace(/((_){2,})/g,"_").replace(/^(_)*/g,"").replace(/([_])*$/g,"")}return"".concat(St(t)).concat(Ct(e))}(t,n,{v2OperationIdCompatibilityMode:r}):null}function At(e,t){return"".concat(St(t),"-").concat(e)}function Tt(e,t){return e&&e.paths?function(e,t){return jt(e,t,!0)||null}(e,function(e){var n=e.pathName,r=e.method,o=e.operation;if(!o||"object"!==j()(o))return!1;var i=o.operationId;return[Ot(o,n,r),At(n,r),i].some(function(e){return e&&e===t})}):null}function jt(e,t,n){if(!e||"object"!==j()(e)||!e.paths||"object"!==j()(e.paths))return null;var r=e.paths;for(var o in r)for(var i in r[o])if("PARAMETERS"!==i.toUpperCase()){var a=r[o][i];if(a&&"object"===j()(a)){var s={spec:e,pathName:o,method:i.toUpperCase(),operation:a},u=t(s);if(n&&u)return s}}}function Pt(e){var t=e.spec,n=t.paths,r={};if(!n||t.$$normalized)return e;for(var o in n){var i=n[o];if(Et()(i)){var a=i.parameters,s=function(e){var n=i[e];if(!Et()(n))return"continue";var s=Ot(n,o,e);if(s){r[s]?r[s].push(n):r[s]=[n];var u=r[s];if(u.length>1)u.forEach(function(e,t){e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId="".concat(s).concat(t+1)});else if(void 0!==n.operationId){var c=u[0];c.__originalOperationId=c.__originalOperationId||n.operationId,c.operationId=s}}if("parameters"!==e){var l=[],p={};for(var f in t)"produces"!==f&&"consumes"!==f&&"security"!==f||(p[f]=t[f],l.push(p));if(a&&(p.parameters=a,l.push(p)),l.length)for(var h=0,d=l;h1&&void 0!==arguments[1]?arguments[1]:{},n=t.requestInterceptor,r=t.responseInterceptor,o=e.withCredentials?"include":"same-origin";return function(t){return e({url:t,loadSpec:!0,requestInterceptor:n,responseInterceptor:r,headers:{Accept:"application/json"},credentials:o}).then(function(e){return e.body})}}function Mt(e){var t=e.fetch,n=e.spec,r=e.url,o=e.mode,i=e.allowMetaPatches,a=void 0===i||i,s=e.pathDiscriminator,u=e.modelPropertyMacro,c=e.parameterMacro,l=e.requestInterceptor,p=e.responseInterceptor,f=e.skipNormalization,h=e.useCircularStructures,d=e.http,m=e.baseDoc;return m=m||r,d=t||d||B,n?v(n):It(d,{requestInterceptor:l,responseInterceptor:p})(m).then(v);function v(e){m&&(wt.refs.docCache[m]=e),wt.refs.fetchJSON=It(d,{requestInterceptor:l,responseInterceptor:p});var t,n=[wt.refs];return"function"==typeof c&&n.push(wt.parameters),"function"==typeof u&&n.push(wt.properties),"strict"!==o&&n.push(wt.allOf),(t={spec:e,context:{baseDoc:m},plugins:n,allowMetaPatches:a,pathDiscriminator:s,parameterMacro:c,modelPropertyMacro:u,useCircularStructures:h},new _t(t).dispatch()).then(f?function(){var e=N()(S.a.mark(function e(t){return S.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t);case 1:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}():Pt)}}var Nt=n(16),Rt=n.n(Nt);function Dt(e,t){var n=d()(e);if(f.a){var r=f()(e);t&&(r=r.filter(function(t){return l()(e,t).enumerable})),n.push.apply(n,r)}return n}function Lt(e){for(var t=1;t2&&void 0!==m[2]?m[2]:{},o=r.returnEntireTree,i=r.baseDoc,a=r.requestInterceptor,s=r.responseInterceptor,u=r.parameterMacro,c=r.modelPropertyMacro,l=r.useCircularStructures,p={pathDiscriminator:n,baseDoc:i,requestInterceptor:a,responseInterceptor:s,parameterMacro:u,modelPropertyMacro:c,useCircularStructures:l},f=Pt({spec:t}),h=f.spec,e.next=6,Mt(Lt({},p,{spec:h,allowMetaPatches:!0,skipNormalization:!0}));case 6:return d=e.sent,!o&&I()(n)&&n.length&&(d.spec=Rt()(d.spec,n)||null),e.abrupt("return",d);case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}var qt=n(38),Ft=n.n(qt);function zt(e,t){var n=d()(e);if(f.a){var r=f()(e);t&&(r=r.filter(function(t){return l()(e,t).enumerable})),n.push.apply(n,r)}return n}function Bt(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.pathName,r=t.method,o=t.operationId;return function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.execute(Bt({spec:e.spec},Ft()(e,"requestInterceptor","responseInterceptor","userFetch"),{pathName:n,method:r,parameters:t,operationId:o},i))}}}};var Jt=n(39),Yt=n.n(Jt),Kt=n(40),Gt=n.n(Kt),$t=n(41),Zt=n.n($t),Xt=n(19),Qt=n.n(Xt),en=n(42),tn=n.n(en),nn={body:function(e){var t=e.req,n=e.value;t.body=n},header:function(e){var t=e.req,n=e.parameter,r=e.value;t.headers=t.headers||{},void 0!==r&&(t.headers[n.name]=r)},query:function(e){var t=e.req,n=e.value,r=e.parameter;t.query=t.query||{},!1===n&&"boolean"===r.type&&(n="false");0===n&&["number","integer"].indexOf(r.type)>-1&&(n="0");if(n)t.query[r.name]={collectionFormat:r.collectionFormat,value:n};else if(r.allowEmptyValue&&void 0!==n){var o=r.name;t.query[o]=t.query[o]||{},t.query[o].allowEmptyValue=!0}},path:function(e){var t=e.req,n=e.value,r=e.parameter;t.url=t.url.split("{".concat(r.name,"}")).join(encodeURIComponent(n))},formData:function(e){var t=e.req,n=e.value,r=e.parameter;(n||r.allowEmptyValue)&&(t.form=t.form||{},t.form[r.name]={value:n,allowEmptyValue:r.allowEmptyValue,collectionFormat:r.collectionFormat})}};n(49);var rn=n(43),on=n.n(rn),an=n(44),sn=function(e){return":/?#[]@!$&'()*+,;=".indexOf(e)>-1},un=function(e){return/^[a-z0-9\-._~]+$/i.test(e)};function cn(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).escape,n=arguments.length>2?arguments[2]:void 0;return"number"==typeof e&&(e=e.toString()),"string"==typeof e&&e.length&&t?n?JSON.parse(e):Object(an.stringToCharArray)(e).map(function(e){return un(e)?e:sn(e)&&"unsafe"===t?e:(on()(e)||[]).map(function(e){return"0".concat(e.toString(16).toUpperCase()).slice(-2)}).map(function(e){return"%".concat(e)}).join("")}).join(""):e}var ln=function(e){var t=e.value;return I()(t)?function(e){var t=e.key,n=e.value,r=e.style,o=e.explode,i=e.escape,a=function(e){return cn(e,{escape:i})};if("simple"===r)return n.map(function(e){return a(e)}).join(",");if("label"===r)return".".concat(n.map(function(e){return a(e)}).join("."));if("matrix"===r)return n.map(function(e){return a(e)}).reduce(function(e,n){return!e||o?"".concat(e||"",";").concat(t,"=").concat(n):"".concat(e,",").concat(n)},"");if("form"===r){var s=o?"&".concat(t,"="):",";return n.map(function(e){return a(e)}).join(s)}if("spaceDelimited"===r){var u=o?"".concat(t,"="):"";return n.map(function(e){return a(e)}).join(" ".concat(u))}if("pipeDelimited"===r){var c=o?"".concat(t,"="):"";return n.map(function(e){return a(e)}).join("|".concat(c))}}(e):"object"===j()(t)?function(e){var t=e.key,n=e.value,r=e.style,o=e.explode,i=e.escape,a=function(e){return cn(e,{escape:i})},s=d()(n);if("simple"===r)return s.reduce(function(e,t){var r=a(n[t]),i=o?"=":",",s=e?"".concat(e,","):"";return"".concat(s).concat(t).concat(i).concat(r)},"");if("label"===r)return s.reduce(function(e,t){var r=a(n[t]),i=o?"=":".",s=e?"".concat(e,"."):".";return"".concat(s).concat(t).concat(i).concat(r)},"");if("matrix"===r&&o)return s.reduce(function(e,t){var r=a(n[t]),o=e?"".concat(e,";"):";";return"".concat(o).concat(t,"=").concat(r)},"");if("matrix"===r)return s.reduce(function(e,r){var o=a(n[r]),i=e?"".concat(e,","):";".concat(t,"=");return"".concat(i).concat(r,",").concat(o)},"");if("form"===r)return s.reduce(function(e,t){var r=a(n[t]),i=e?"".concat(e).concat(o?"&":","):"",s=o?"=":",";return"".concat(i).concat(t).concat(s).concat(r)},"")}(e):function(e){var t=e.key,n=e.value,r=e.style,o=e.escape,i=function(e){return cn(e,{escape:o})};if("simple"===r)return i(n);if("label"===r)return".".concat(i(n));if("matrix"===r)return";".concat(t,"=").concat(i(n));if("form"===r)return i(n);if("deepObject"===r)return i(n)}(e)};var pn={path:function(e){var t=e.req,n=e.value,r=e.parameter,o=r.name,i=r.style,a=r.explode,s=ln({key:r.name,value:n,style:i||"simple",explode:a||!1,escape:!0});t.url=t.url.split("{".concat(o,"}")).join(s)},query:function(e){var t=e.req,n=e.value,r=e.parameter;t.query=t.query||{},!1===n&&(n="false");0===n&&(n="0");if(n){var o=j()(n);if("deepObject"===r.style){var i=d()(n);i.forEach(function(e){var o=n[e];t.query["".concat(r.name,"[").concat(e,"]")]={value:ln({key:e,value:o,style:"deepObject",escape:r.allowReserved?"unsafe":"reserved"}),skipEncoding:!0}})}else if("object"!==o||I()(n)||"form"!==r.style&&r.style||!r.explode&&void 0!==r.explode)t.query[r.name]={value:ln({key:r.name,value:n,style:r.style||"form",explode:void 0===r.explode||r.explode,escape:r.allowReserved?"unsafe":"reserved"}),skipEncoding:!0};else{var a=d()(n);a.forEach(function(e){var o=n[e];t.query[e]={value:ln({key:e,value:o,style:r.style||"form",escape:r.allowReserved?"unsafe":"reserved"}),skipEncoding:!0}})}}else if(r.allowEmptyValue&&void 0!==n){var s=r.name;t.query[s]=t.query[s]||{},t.query[s].allowEmptyValue=!0}},header:function(e){var t=e.req,n=e.parameter,r=e.value;if(t.headers=t.headers||{},fn.indexOf(n.name.toLowerCase())>-1)return;void 0!==r&&(t.headers[n.name]=ln({key:n.name,value:r,style:n.style||"simple",explode:void 0!==n.explode&&n.explode,escape:!1}))},cookie:function(e){var t=e.req,n=e.parameter,r=e.value;t.headers=t.headers||{};var o=j()(r);if("undefined"!==o){var i="object"===o&&!I()(r)&&n.explode?"":"".concat(n.name,"=");t.headers.Cookie=i+ln({key:n.name,value:r,escape:!1,style:n.style||"form",explode:void 0!==n.explode&&n.explode})}}};var fn=["accept","authorization","content-type"];var hn=n(30),dn=function(e,t){var n=e.operation,r=e.requestBody,o=e.securities,i=e.spec,a=e.attachContentTypeForEmptyPayload,s=e.requestContentType;t=function(e){var t=e.request,n=e.securities,r=void 0===n?{}:n,o=e.operation,i=void 0===o?{}:o,a=e.spec,s=y()({},t),u=r.authorized,c=void 0===u?{}:u,l=i.security||a.security||[],p=c&&!!d()(c).length,f=Rt()(a,["components","securitySchemes"])||{};if(s.headers=s.headers||{},s.query=s.query||{},!d()(r).length||!p||!l||I()(i.security)&&!i.security.length)return t;return l.forEach(function(e,t){for(var n in e){var r=c[n],o=f[n];if(r){var i=r.value||r,a=o.type;if(r)if("apiKey"===a)"query"===o.in&&(s.query[o.name]=i),"header"===o.in&&(s.headers[o.name]=i),"cookie"===o.in&&(s.cookies[o.name]=i);else if("http"===a){if("basic"===o.scheme){var u=i.username,l=i.password,p=Qt()("".concat(u,":").concat(l));s.headers.Authorization="Basic ".concat(p)}"bearer"===o.scheme&&(s.headers.Authorization="Bearer ".concat(i))}else if("oauth2"===a){var h=r.token||{},d=h.access_token,m=h.token_type;m&&"bearer"!==m.toLowerCase()||(m="Bearer"),s.headers.Authorization="".concat(m," ").concat(d)}}}}),s}({request:t,securities:o,operation:n,spec:i});var u=n.requestBody||{},c=d()(u.content||{}),l=s&&c.indexOf(s)>-1;if(r||a){if(s&&l)t.headers["Content-Type"]=s;else if(!s){var p=c[0];p&&(t.headers["Content-Type"]=p,s=p)}}else s&&l&&(t.headers["Content-Type"]=s);return r&&(s?c.indexOf(s)>-1&&("application/x-www-form-urlencoded"===s||0===s.indexOf("multipart/")?"object"===j()(r)?(t.form={},d()(r).forEach(function(e){var n,o,i=r[e];"undefined"!=typeof File&&(o=i instanceof File),"undefined"!=typeof Blob&&(o=o||i instanceof Blob),void 0!==hn.Buffer&&(o=o||hn.Buffer.isBuffer(i)),n="object"!==j()(i)||o?i:I()(i)?i.toString():A()(i),t.form[e]={value:n}})):t.form=r:t.body=r):t.body=r),t};var mn=function(e,t){var n=e.spec,r=e.operation,o=e.securities,i=e.requestContentType,a=e.attachContentTypeForEmptyPayload;if((t=function(e){var t=e.request,n=e.securities,r=void 0===n?{}:n,o=e.operation,i=void 0===o?{}:o,a=e.spec,s=y()({},t),u=r.authorized,c=void 0===u?{}:u,l=r.specSecurity,p=void 0===l?[]:l,f=i.security||p,h=c&&!!d()(c).length,m=a.securityDefinitions;if(s.headers=s.headers||{},s.query=s.query||{},!d()(r).length||!h||!f||I()(i.security)&&!i.security.length)return t;return f.forEach(function(e,t){for(var n in e){var r=c[n];if(r){var o=r.token,i=r.value||r,a=m[n],u=a.type,l=a["x-tokenName"]||"access_token",p=o&&o[l],f=o&&o.token_type;if(r)if("apiKey"===u){var h="query"===a.in?"query":"headers";s[h]=s[h]||{},s[h][a.name]=i}else"basic"===u?i.header?s.headers.authorization=i.header:(i.base64=Qt()("".concat(i.username,":").concat(i.password)),s.headers.authorization="Basic ".concat(i.base64)):"oauth2"===u&&p&&(f=f&&"bearer"!==f.toLowerCase()?f:"Bearer",s.headers.authorization="".concat(f," ").concat(p))}}}),s}({request:t,securities:o,operation:r,spec:n})).body||t.form||a)i?t.headers["Content-Type"]=i:I()(r.consumes)?t.headers["Content-Type"]=r.consumes[0]:I()(n.consumes)?t.headers["Content-Type"]=n.consumes[0]:r.parameters&&r.parameters.filter(function(e){return"file"===e.type}).length?t.headers["Content-Type"]="multipart/form-data":r.parameters&&r.parameters.filter(function(e){return"formData"===e.in}).length&&(t.headers["Content-Type"]="application/x-www-form-urlencoded");else if(i){var s=r.parameters&&r.parameters.filter(function(e){return"body"===e.in}).length>0,u=r.parameters&&r.parameters.filter(function(e){return"formData"===e.in}).length>0;(s||u)&&(t.headers["Content-Type"]=i)}return t};function vn(e,t){var n=d()(e);if(f.a){var r=f()(e);t&&(r=r.filter(function(t){return l()(e,t).enumerable})),n.push.apply(n,r)}return n}function gn(e){for(var t=1;t-1&&(c=o,l=u[p.indexOf(o)])}if(!c&&u&&u.length&&(c=u[0].url,l=u[0]),c.indexOf("{")>-1){var f=function(e){for(var t,n=[],r=/{([^}]+)}/g;t=r.exec(e);)n.push(t[1]);return n}(c);f.forEach(function(e){if(l.variables&&l.variables[e]){var t=l.variables[e],n=s[e]||t.default,r=new RegExp("{".concat(e,"}"),"g");c=c.replace(r,n)}})}return function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=x.a.parse(t),o=x.a.parse(n),i=Sn(r.protocol)||Sn(o.protocol)||"",a=r.host||o.host,s=r.pathname||"";return"/"===(e=i&&a?"".concat(i,"://").concat(a+s):s)[e.length-1]?e.slice(0,-1):e}(c,i)}(y):function(e){var t,n=e.spec,r=e.scheme,o=e.contextUrl,i=void 0===o?"":o,a=x.a.parse(i),s=I()(n.schemes)?n.schemes[0]:null,u=r||s||Sn(a.protocol)||"http",c=n.host||a.host||"",l=n.basePath||"";return"/"===(t=u&&c?"".concat(u,"://").concat(c+l):l)[t.length-1]?t.slice(0,-1):t}(y),!n)return delete v.cookies,v;v.url+=E,v.method="".concat(w).toUpperCase(),f=f||{};var S=t.paths[E]||{};r&&(v.headers.accept=r);var C=wn([].concat(yn(_.parameters)).concat(yn(S.parameters)));C.forEach(function(e){var n,r=h[e.in];if("body"===e.in&&e.schema&&e.schema.properties&&(n=f),void 0===(n=e&&e.name&&f[e.name])?n=e&&e.name&&f["".concat(e.in,".").concat(e.name)]:_n(e.name,C).length>1&&console.warn("Parameter '".concat(e.name,"' is ambiguous because the defined spec has more than one parameter with the name: '").concat(e.name,"' and the passed-in parameter values did not define an 'in' value.")),null!==n){if(void 0!==e.default&&void 0===n&&(n=e.default),void 0===n&&e.required&&!e.allowEmptyValue)throw new Error("Required parameter ".concat(e.name," is not provided"));if(m&&e.schema&&"object"===e.schema.type&&"string"==typeof n)try{n=JSON.parse(n)}catch(e){throw new Error("Could not parse object parameter value string as JSON")}r&&r({req:v,parameter:e,value:n,operation:_,spec:t})}});var k=gn({},e,{operation:_});if((v=m?dn(k,v):mn(k,v)).cookies&&d()(v.cookies).length){var O=d()(v.cookies).reduce(function(e,t){var n=v.cookies[t];return e+(e?"&":"")+tn.a.serialize(t,n)},"");v.headers.Cookie=O}return v.cookies&&delete v.cookies,$(v),v}var Sn=function(e){return e?e.replace(/\W/g,""):null};function Cn(e,t){var n=d()(e);if(f.a){var r=f()(e);t&&(r=r.filter(function(t){return l()(e,t).enumerable})),n.push.apply(n,r)}return n}function kn(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"==typeof e?n.url=e:n=e,!(this instanceof kn))return new kn(n);y()(this,n);var r=this.resolve().then(function(){return t.disableInterfaces||y()(t,kn.makeApisTagOperation(t)),t});return r.client=this,r}kn.http=B,kn.makeHttp=function(e,t,n){return n=n||function(e){return e},t=t||function(e){return e},function(r){return"string"==typeof r&&(r={url:r}),z.mergeInQueryOrForm(r),r=t(r),n(e(r))}}.bind(null,kn.http),kn.resolve=Mt,kn.resolveSubtree=function(e,t){return Ut.apply(this,arguments)},kn.execute=function(e){var t=e.http,n=e.fetch,r=e.spec,o=e.operationId,i=e.pathName,a=e.method,s=e.parameters,u=e.securities,c=Yt()(e,["http","fetch","spec","operationId","pathName","method","parameters","securities"]),l=t||n||B;i&&a&&!o&&(o=At(i,a));var p=xn.buildRequest(gn({spec:r,operationId:o,parameters:s,securities:u,http:l},c));return p.body&&(Gt()(p.body)||Zt()(p.body))&&(p.body=A()(p.body)),l(p)},kn.serializeRes=W,kn.serializeHeaders=J,kn.clearCache=function(){wt.refs.clearCache()},kn.makeApisTagOperation=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Wt.makeExecute(e);return{apis:Wt.mapTagOperations({v2OperationIdCompatibilityMode:e.v2OperationIdCompatibilityMode,spec:e.spec,cb:t})}},kn.buildRequest=En,kn.helpers={opId:Ot},kn.prototype={http:B,execute:function(e){return this.applyDefaults(),kn.execute(function(e){for(var t=1;t + * @license MIT + */ +var r=n(557),o=n(558),i=n(349);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function d(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(e).length;default:if(r)return z(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return j(this,t,n);case"utf8":case"utf-8":return k(this,t,n);case"ascii":return A(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function v(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,o);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,o){var i,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(i=n;is&&(n=s-u),i=n;i>=0;i--){for(var p=!0,f=0;fo&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a>8,o=n%256,i.push(o),i.push(r);return i}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function k(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:c>223?3:c>191?2:1;if(o+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:i=e[o+1],a=e[o+2],128==(192&i)&&128==(192&a)&&(u=(15&c)<<12|(63&i)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:i=e[o+1],a=e[o+2],s=e[o+3],128==(192&i)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=p}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,r,o){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(i,a),c=this.slice(r,o),l=e.slice(t,n),p=0;po)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return _(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return x(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function A(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,r,o,i){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function D(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,r,i){return i||D(e,0,n,4),o.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,i){return i||D(e,0,n,8),o.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},u.prototype.readUInt8=function(e,t){return t||I(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||I(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||I(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||I(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||I(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},u.prototype.readInt8=function(e,t){return t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||I(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||I(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||I(e,4,this.length),o.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||I(e,4,this.length),o.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||I(e,8,this.length),o.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||I(e,8,this.length),o.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);M(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);M(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(i<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function B(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}}).call(this,n(41))},function(e,t,n){"use strict";e.exports={current:null}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){"use strict";var r=n(25),o=n(88),i=n(54),a=(n(23),["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),s={type:null,target:null,currentTarget:i.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};function u(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var a in o)if(o.hasOwnProperty(a)){0;var s=o[a];s?this[a]=s(n):"target"===a?this.target=r:this[a]=n[a]}var u=null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue;return this.isDefaultPrevented=u?i.thatReturnsTrue:i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse,this}r(u.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=i.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n0&&"/"!==t[0]});function oe(e,t,n){return t=t||[],te.apply(void 0,[e].concat(u()(t))).get("parameters",Object(p.List)()).reduce(function(e,t){var r=n&&"body"===t.get("in")?t.get("value_xml"):t.get("value");return e.set(Object(l.z)(t,{allowHashes:!1}),r)},Object(p.fromJS)({}))}function ie(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(p.List.isList(e))return e.some(function(e){return p.Map.isMap(e)&&e.get("in")===t})}function ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(p.List.isList(e))return e.some(function(e){return p.Map.isMap(e)&&e.get("type")===t})}function se(e,t){t=t||[];var n=x(e).getIn(["paths"].concat(u()(t)),Object(p.fromJS)({})),r=e.getIn(["meta","paths"].concat(u()(t)),Object(p.fromJS)({})),o=ue(e,t),i=n.get("parameters")||new p.List,a=r.get("consumes_value")?r.get("consumes_value"):ae(i,"file")?"multipart/form-data":ae(i,"formData")?"application/x-www-form-urlencoded":void 0;return Object(p.fromJS)({requestContentType:a,responseContentType:o})}function ue(e,t){t=t||[];var n=x(e).getIn(["paths"].concat(u()(t)),null);if(null!==n){var r=e.getIn(["meta","paths"].concat(u()(t),["produces_value"]),null),o=n.getIn(["produces",0],null);return r||o||"application/json"}}function ce(e,t){t=t||[];var n=x(e),r=n.getIn(["paths"].concat(u()(t)),null);if(null!==r){var o=t,i=a()(o,1)[0],s=r.get("produces",null),c=n.getIn(["paths",i,"produces"],null),l=n.getIn(["produces"],null);return s||c||l}}function le(e,t){t=t||[];var n=x(e),r=n.getIn(["paths"].concat(u()(t)),null);if(null!==r){var o=t,i=a()(o,1)[0],s=r.get("consumes",null),c=n.getIn(["paths",i,"consumes"],null),l=n.getIn(["consumes"],null);return s||c||l}}var pe=function(e,t,n){var r=e.get("url").match(/^([a-z][a-z0-9+\-.]*):/),i=o()(r)?r[1]:null;return e.getIn(["scheme",t,n])||e.getIn(["scheme","_defaultScheme"])||i||""},fe=function(e,t,n){return["http","https"].indexOf(pe(e,t,n))>-1},he=function(e,t){t=t||[];var n=e.getIn(["meta","paths"].concat(u()(t),["parameters"]),Object(p.fromJS)([])),r=!0;return n.forEach(function(e){var t=e.get("errors");t&&t.count()&&(r=!1)}),r};function de(e){return p.Map.isMap(e)?e:new p.Map}},function(e,t,n){"use strict";n.r(t),n.d(t,"SHOW_AUTH_POPUP",function(){return d}),n.d(t,"AUTHORIZE",function(){return m}),n.d(t,"LOGOUT",function(){return v}),n.d(t,"PRE_AUTHORIZE_OAUTH2",function(){return g}),n.d(t,"AUTHORIZE_OAUTH2",function(){return y}),n.d(t,"VALIDATE",function(){return b}),n.d(t,"CONFIGURE_AUTH",function(){return _}),n.d(t,"showDefinitions",function(){return w}),n.d(t,"authorize",function(){return x}),n.d(t,"logout",function(){return E}),n.d(t,"preAuthorizeImplicit",function(){return S}),n.d(t,"authorizeOauth2",function(){return C}),n.d(t,"authorizePassword",function(){return k}),n.d(t,"authorizeApplication",function(){return O}),n.d(t,"authorizeAccessCodeWithFormParams",function(){return A}),n.d(t,"authorizeAccessCodeWithBasicAuthentication",function(){return T}),n.d(t,"authorizeRequest",function(){return j}),n.d(t,"configureAuth",function(){return P});var r=n(26),o=n.n(r),i=n(16),a=n.n(i),s=n(28),u=n.n(s),c=n(93),l=n.n(c),p=n(18),f=n.n(p),h=n(3),d="show_popup",m="authorize",v="logout",g="pre_authorize_oauth2",y="authorize_oauth2",b="validate",_="configure_auth";function w(e){return{type:d,payload:e}}function x(e){return{type:m,payload:e}}function E(e){return{type:v,payload:e}}var S=function(e){return function(t){var n=t.authActions,r=t.errActions,o=e.auth,i=e.token,a=e.isValid,s=o.schema,c=o.name,l=s.get("flow");delete f.a.swaggerUIRedirectOauth2,"accessCode"===l||a||r.newAuthErr({authId:c,source:"auth",level:"warning",message:"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"}),i.error?r.newAuthErr({authId:c,source:"auth",level:"error",message:u()(i)}):n.authorizeOauth2({auth:o,token:i})}};function C(e){return{type:y,payload:e}}var k=function(e){return function(t){var n=t.authActions,r=e.schema,o=e.name,i=e.username,s=e.password,u=e.passwordType,c=e.clientId,l=e.clientSecret,p={grant_type:"password",scope:e.scopes.join(" "),username:i,password:s},f={};switch(u){case"request-body":!function(e,t,n){t&&a()(e,{client_id:t});n&&a()(e,{client_secret:n})}(p,c,l);break;case"basic":f.Authorization="Basic "+Object(h.a)(c+":"+l);break;default:console.warn("Warning: invalid passwordType ".concat(u," was passed, not including client id and secret"))}return n.authorizeRequest({body:Object(h.b)(p),url:r.get("tokenUrl"),name:o,headers:f,query:{},auth:e})}};var O=function(e){return function(t){var n=t.authActions,r=e.schema,o=e.scopes,i=e.name,a=e.clientId,s=e.clientSecret,u={Authorization:"Basic "+Object(h.a)(a+":"+s)},c={grant_type:"client_credentials",scope:o.join(" ")};return n.authorizeRequest({body:Object(h.b)(c),name:i,url:r.get("tokenUrl"),auth:e,headers:u})}},A=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,o=t.schema,i=t.name,a=t.clientId,s=t.clientSecret,u={grant_type:"authorization_code",code:t.code,client_id:a,client_secret:s,redirect_uri:n};return r.authorizeRequest({body:Object(h.b)(u),name:i,url:o.get("tokenUrl"),auth:t})}},T=function(e){var t=e.auth,n=e.redirectUrl;return function(e){var r=e.authActions,o=t.schema,i=t.name,a=t.clientId,s=t.clientSecret,u={Authorization:"Basic "+Object(h.a)(a+":"+s)},c={grant_type:"authorization_code",code:t.code,client_id:a,redirect_uri:n};return r.authorizeRequest({body:Object(h.b)(c),name:i,url:o.get("tokenUrl"),auth:t,headers:u})}},j=function(e){return function(t){var n,r=t.fn,i=t.getConfigs,s=t.authActions,c=t.errActions,p=t.oas3Selectors,f=t.specSelectors,h=t.authSelectors,d=e.body,m=e.query,v=void 0===m?{}:m,g=e.headers,y=void 0===g?{}:g,b=e.name,_=e.url,w=e.auth,x=(h.getConfigs()||{}).additionalQueryStringParams;n=f.isOAS3()?l()(_,p.selectedServer(),!0):l()(_,f.url(),!0),"object"===o()(x)&&(n.query=a()({},n.query,x));var E=n.toString(),S=a()({Accept:"application/json, text/plain, */*","Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},y);r.fetch({url:E,method:"post",headers:S,query:v,body:d,requestInterceptor:i().requestInterceptor,responseInterceptor:i().responseInterceptor}).then(function(e){var t=JSON.parse(e.data),n=t&&(t.error||""),r=t&&(t.parseError||"");e.ok?n||r?c.newAuthErr({authId:b,level:"error",source:"auth",message:u()(t)}):s.authorizeOauth2({auth:w,token:t}):c.newAuthErr({authId:b,level:"error",source:"auth",message:e.statusText})}).catch(function(e){var t=new Error(e).message;if(e.response&&e.response.data){var n=e.response.data;try{var r="string"==typeof n?JSON.parse(n):n;r.error&&(t+=", error: ".concat(r.error)),r.error_description&&(t+=", description: ".concat(r.error_description))}catch(e){}}c.newAuthErr({authId:b,level:"error",source:"auth",message:t})})}};function P(e){return{type:_,payload:e}}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(202),o=n(201);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(47),o=n(129);e.exports=n(45)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,c=[],l=!1,p=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):p=-1,c.length&&h())}function h(){if(!l){var e=s(f);l=!0;for(var t=c.length;t;){for(u=c,c=[];++p1)for(var n=1;n1&&void 0!==arguments[1])||arguments[1];return e=Object(r.u)(e),{type:s,payload:{thing:e,shown:t}}}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e=Object(r.u)(e),{type:a,payload:{thing:e,mode:t}}}},function(e,t,n){"use strict";(function(t){ +/*! + * @description Recursive object extending + * @author Viacheslav Lotsmanov + * @license MIT + * + * The MIT License (MIT) + * + * Copyright (c) 2013-2018 Viacheslav Lotsmanov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +function n(e){return e instanceof t||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof t){var n=t.alloc?t.alloc(e.length):new t(e.length);return e.copy(n),n}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error("Unexpected situation")}function o(e){var t=[];return e.forEach(function(e,i){"object"==typeof e&&null!==e?Array.isArray(e)?t[i]=o(e):n(e)?t[i]=r(e):t[i]=a({},e):t[i]=e}),t}function i(e,t){return"__proto__"===t?void 0:e[t]}var a=e.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,t,s=arguments[0],u=Array.prototype.slice.call(arguments,1);return u.forEach(function(u){"object"!=typeof u||null===u||Array.isArray(u)||Object.keys(u).forEach(function(c){return t=i(s,c),(e=i(u,c))===s?void 0:"object"!=typeof e||null===e?void(s[c]=e):Array.isArray(e)?void(s[c]=o(e)):n(e)?void(s[c]=r(e)):"object"!=typeof t||null===t||Array.isArray(t)?void(s[c]=a({},e)):void(s[c]=a(t,e))})}),s}}).call(this,n(61).Buffer)},function(e,t,n){var r=n(146),o=n(328);e.exports=n(121)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(96);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n=e.exports={version:"2.5.5"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(201);e.exports=function(e){return Object(r(e))}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(102),o=n(591),i=n(592),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t,n){var r=n(609),o=n(612);e.exports=function(e,t){var n=o(e,t);return r(n)?n:void 0}},function(e,t,n){var r=n(374),o=n(649),i=n(103);e.exports=function(e){return i(e)?r(e):o(e)}},function(e,t,n){"use strict";var r=n(173),o=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=p;var i=n(133);i.inherits=n(106);var a=n(384),s=n(231);i.inherits(p,a);for(var u=o(s.prototype),c=0;c=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){e.exports={}},function(e,t,n){n(549);for(var r=n(32),o=n(71),i=n(98),a=n(34)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u1){for(var d=Array(h),m=0;m1){for(var g=Array(v),y=0;yb;b++)if((v=t?y(a(d=e[b])[0],d[1]):y(e[b]))===c||v===l)return v}else for(m=g.call(e);!(d=m.next()).done;)if((v=o(m,y,d.value,t))===c||v===l)return v}).BREAK=c,t.RETURN=l},function(e,t,n){"use strict";function r(e){return null==e}e.exports.isNothing=r,e.exports.isObject=function(e){return"object"==typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:r(e)?[]:[e]},e.exports.repeat=function(e,t){var n,r="";for(n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=Object(i.y)(t),a=r.type,s=r.example,u=r.properties,c=r.additionalProperties,l=r.items,p=n.includeReadOnly,f=n.includeWriteOnly;if(void 0!==s)return Object(i.d)(s,"$$ref",function(e){return"string"==typeof e&&e.indexOf("#")>-1});if(!a)if(u)a="object";else{if(!l)return;a="array"}if("object"===a){var d=Object(i.y)(u),m={};for(var v in d)d[v]&&d[v].deprecated||d[v]&&d[v].readOnly&&!p||d[v]&&d[v].writeOnly&&!f||(m[v]=e(d[v],n));if(!0===c)m.additionalProp1={};else if(c)for(var g=Object(i.y)(c),y=e(g,n),b=1;b<4;b++)m["additionalProp"+b]=y;return m}return"array"===a?o()(l.anyOf)?l.anyOf.map(function(t){return e(t,n)}):o()(l.oneOf)?l.oneOf.map(function(t){return e(t,n)}):[e(l,n)]:t.enum?t.default?t.default:Object(i.u)(t.enum)[0]:"file"!==a?h(t):void 0},m=function(e){return e.schema&&(e=e.schema),e.properties&&(e.type="object"),e},v=function e(t){var n,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=p()({},Object(i.y)(t)),u=s.type,c=s.properties,l=s.additionalProperties,f=s.items,d=s.example,m=a.includeReadOnly,v=a.includeWriteOnly,g=s.default,y={},b={},_=t.xml,w=_.name,x=_.prefix,E=_.namespace,S=s.enum;if(!u)if(c||l)u="object";else{if(!f)return;u="array"}if(n=(x?x+":":"")+(w=w||"notagname"),E){var C=x?"xmlns:"+x:"xmlns";b[C]=E}if("array"===u&&f){if(f.xml=f.xml||_||{},f.xml.name=f.xml.name||_.name,_.wrapped)return y[n]=[],o()(d)?d.forEach(function(t){f.example=t,y[n].push(e(f,a))}):o()(g)?g.forEach(function(t){f.default=t,y[n].push(e(f,a))}):y[n]=[e(f,a)],b&&y[n].push({_attr:b}),y;var k=[];return o()(d)?(d.forEach(function(t){f.example=t,k.push(e(f,a))}),k):o()(g)?(g.forEach(function(t){f.default=t,k.push(e(f,a))}),k):e(f,a)}if("object"===u){var O=Object(i.y)(c);for(var A in y[n]=[],d=d||{},O)if(O.hasOwnProperty(A)&&(!O[A].readOnly||m)&&(!O[A].writeOnly||v))if(O[A].xml=O[A].xml||{},O[A].xml.attribute){var T=o()(O[A].enum)&&O[A].enum[0],j=O[A].example,P=O[A].default;b[O[A].xml.name||A]=void 0!==j&&j||void 0!==d[A]&&d[A]||void 0!==P&&P||T||h(O[A])}else{O[A].xml.name=O[A].xml.name||A,void 0===O[A].example&&void 0!==d[A]&&(O[A].example=d[A]);var I=e(O[A]);o()(I)?y[n]=y[n].concat(I):y[n].push(I)}return!0===l?y[n].push({additionalProp:"Anything can be here"}):l&&y[n].push({additionalProp:h(l)}),b&&y[n].push({_attr:b}),y}return r=void 0!==d?d:void 0!==g?g:o()(S)?S[0]:h(t),y[n]=b?[{_attr:b},r]:r,y};function g(e,t){var n=v(e,t);if(n)return s()(n,{declaration:!0,indent:"\t"})}var y=c()(g),b=c()(d)},function(e,t,n){"use strict";n.r(t),n.d(t,"UPDATE_CONFIGS",function(){return i}),n.d(t,"TOGGLE_CONFIGS",function(){return a}),n.d(t,"update",function(){return s}),n.d(t,"toggle",function(){return u}),n.d(t,"loaded",function(){return c});var r=n(2),o=n.n(r),i="configs_update",a="configs_toggle";function s(e,t){return{type:i,payload:o()({},e,t)}}function u(e){return{type:a,payload:e}}var c=function(){return function(){}}},function(e,t,n){e.exports=n(765)},function(e,t,n){"use strict";n.r(t);var r=n(462),o="object"==typeof self&&self&&self.Object===Object&&self,i=(r.a||o||Function("return this")()).Symbol,a=Object.prototype,s=a.hasOwnProperty,u=a.toString,c=i?i.toStringTag:void 0;var l=function(e){var t=s.call(e,c),n=e[c];try{e[c]=void 0;var r=!0}catch(e){}var o=u.call(e);return r&&(t?e[c]=n:delete e[c]),o},p=Object.prototype.toString;var f=function(e){return p.call(e)},h="[object Null]",d="[object Undefined]",m=i?i.toStringTag:void 0;var v=function(e){return null==e?void 0===e?d:h:m&&m in Object(e)?l(e):f(e)};var g=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object);var y=function(e){return null!=e&&"object"==typeof e},b="[object Object]",_=Function.prototype,w=Object.prototype,x=_.toString,E=w.hasOwnProperty,S=x.call(Object);var C=function(e){if(!y(e)||v(e)!=b)return!1;var t=g(e);if(null===t)return!0;var n=E.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&x.call(n)==S},k=n(321),O={INIT:"@@redux/INIT"};function A(e,t,n){var r;if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error("Expected the enhancer to be a function.");return n(A)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var o=e,i=t,a=[],s=a,u=!1;function c(){s===a&&(s=a.slice())}function l(){return i}function p(e){if("function"!=typeof e)throw new Error("Expected listener to be a function.");var t=!0;return c(),s.push(e),function(){if(t){t=!1,c();var n=s.indexOf(e);s.splice(n,1)}}}function f(e){if(!C(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(u)throw new Error("Reducers may not dispatch actions.");try{u=!0,i=o(i,e)}finally{u=!1}for(var t=a=s,n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(a)throw a;for(var r=!1,o={},s=0;s0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(342),o=n(206);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=!0},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(47).f,o=n(69),i=n(34)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(154)("meta"),o=n(40),i=n(69),a=n(47).f,s=0,u=Object.isExtensible||function(){return!0},c=!n(80)(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++s,w:{}}})},p=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return c&&p.NEED&&u(e)&&!i(e,r)&&l(e),e}}},function(e,t,n){"use strict";e.exports=function(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r1&&void 0!==arguments[1]?arguments[1]:[],n={arrayBehaviour:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).arrayBehaviour||"replace"},r=t.map(function(e){return e||{}}),i=e||{},c=0;c1?t-1:0),r=1;r0?r:n)(e)}},function(e,t,n){var r=n(150);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(490),o=n(68);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(76),o=n(95),i=n(122),a=n(68),s=n(33);e.exports=function(e,t,n){var u=s(e),c=n(a,u,""[e]),l=c[0],p=c[1];i(function(){var t={};return t[u]=function(){return 7},7!=""[e](t)})&&(o(String.prototype,e,l),r(RegExp.prototype,u,2==t?function(e,t){return p.call(e,this,t)}:function(e){return p.call(e,this)}))}},function(e,t,n){var r=n(203),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(44),o=n(344),i=n(206),a=n(204)("IE_PROTO"),s=function(){},u=function(){var e,t=n(208)("iframe"),r=i.length;for(t.style.display="none",n(345).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("